.\" Copyright (c) 2007-2022, The CHICKEN Team .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the authors may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" .Dd Apr 26, 2017 .Dt CHICKEN-INSTALL 1 .Os .Sh NAME .Nm chicken-install .Nd download and install extension libraries for CHICKEN Scheme .Sh SYNOPSIS .Nm .Op Ar OPTION ... .Op Ar NAME[:VERSION] ... .Sh DESCRIPTION .Nm downloads, compiles and installs a prepackaged extension library from sources. If no extension name is given on the command line, then any existing .Em egg descriptions in the current directory will be executed in unspecified order. .Pp The program accepts following arguments: .Bl -tag -width Ds .It Fl h , Fl help Show usage and exit. .It Fl version Show version and exit. .It Fl v , Fl verbose Print extra information during installation. .It Fl force Install without confirmation, even if versions don't match. .It Fl k , Fl keep Keep temporary files. .It Fl s , Fl sudo Use an external program to elevate privileges for filesystem operations. The program defaults to .Xr sudo 8 but can be overridden with the .Ev SUDO environment variable. .It Fl r , Fl retrieve Just retrieve the egg, don't install it .No (giving Fl r No more than once implies Fl recursive Ns ). .It Fl recursive .No If Fl retrieve No is given, also fetch dependencies recursively. .It Fl dry-run Do not build or install, just print the locations of the generated build & install scripts. .It Fl list-versions List available versions for the given eggs. .It Fl purge Remove cached files for given eggs (or purge cache completely). .It Fl host When cross-compiling, only compile extensions for host. .It Fl target When cross-compiling, only compile extensions for target. .It Fl test Run included test cases, if available. .It Fl n , Fl no-install Do not install the egg, just build it. .It Fl no-install-dependencies Do not install dependencies. Note that this option may result in build failures due to missing extension libraries. .It Fl u , Fl update-db Update export database. .It Fl repository Print path used for egg installation. .It Fl override Ar filename Override versions for installed eggs with information from .Ar filename . .It Fl from-list Ar filename Install eggs listed in .Ar filename , which has the same format as .Xr chicken-status 1 Ns 's .Fl list No output. This option may be given multiple times. .It Fl cached Only install eggs from cache, do not download. .It Fl l , Fl location Ar directory Get egg sources from the given directory. May be provided multiple times. Locations specified on the command line have precedence over the ones specified in setup.defaults. .It Fl feature , Fl D Ar name Register feature .Ar name , usable as a condition in cond-expand clauses. .El .Sh ENVIRONMENT Following environment variables change the behaviour of .Nm Ns : .Bl -tag -width CHICKEN_INSTALL_REPOSITORY .It Ev CHICKEN_EGG_CACHE Location where eggs are retrieved and built. .It Ev CHICKEN_INSTALL_PREFIX The path prefix for all target files, as given when building the system. Use this variable to override where programs, include files and additional data files shall be intalled. .It Ev CHICKEN_INSTALL_REPOSITORY The path where extension libraries are installed. Defaults to the package library path selected during configuration .Pq usually $prefix/lib/chicken/ . Note that this variable takes precedence to CHICKEN_INSTALL_PREFIX. .It Ev SUDO The command to execute when using .Fl s flag in command. If not provided, defaults to .Xr sudo 8 . .El .Sh FILES .Bl -tag -width 4n .It Pa $XDG_CONFIG_HOME/chicken/setup.defaults User specific setup.defaults file. ( .Ev $XDG_CONFIG_HOME defaults to .Pa $HOME/.config ) .It Pa $prefix/share/chicken/setup.default System-wide setup.defaults file. .It Pa $XDG_CACHE_HOME/chicken-install/ Default directory for cached eggs. ( .Ev $XDG_CACHE_HOME defaults to .Pa $HOME/.cache ) .El .Sh EXIT STATUS The .Nm utility exits 0 on success, 2 if the user aborted an operation, 3 if it was invoked with no explicitly given egg names and no *.egg files could be found in the current directory, and >0 if any other error occurs. .Sh EXAMPLES Install .Sq regex egg as root user: .Pp .Dl # chicken-install regex .Pp Install an egg as an normal user but using .Xr sudo 8 : .Pp .Dl $ chicken-install -s regex .Pp Install an egg as an normal user but elevating privileges with different program, such as OpenBSD .Xr doas 1 : .Pp .Dl $ SUDO=/usr/bin/doas chicken-install -s regex .Sh SEE ALSO .Xr chicken 1 , .Xr chicken-status 1 , .Xr chicken-uninstall 1 , .Xr csc 1 .Pp More information can be found in the .Lk http://wiki.call-cc.org/manual/index "CHICKEN User's Manual". .Sh AUTHORS .An The CHICKEN Team .Sh BUGS Submit bug reports by e-mail to .Mt chicken-janitors@nongnu.org