---
name: "chicken-setup"
section: "1"
platform: "linux"
package: "chicken-bin"
version: "3.2.7-2"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/chicken-setup"
---

# chicken-setup(1)

install extension libraries for Chicken Scheme

## NAME

chicken-setup - install extension libraries for Chicken Scheme

## SYNOPSIS

**chicken-setup** \[ *option* \] \[ *extension* \]

## DESCRIPTION

*chicken-setup* is a program that compiles and installs a prepackaged extension library. Extension libraries are either plain Scheme files with the **.scm** file-extension or gzipped tar files with the file-extension **.egg** Single Scheme files are compiled into a dynamically loadable file and installed in the extension repository. More complex installation procedures can be performed by packaging an extension in an **.egg** archive, that in addition to the source files contains a Scheme  script of the same name as the library, but with the  **.setup** file-extension. After extracting the files the setup script will be loaded and executed.  If no extension name is given on the command-line, then any existing  **.setup** scripts in the current directory are processed. *chicken-setup* is a full Scheme interpreter with the same functionality as *csi* but with a number of additional procedures and macros to simplify the building and installation of extension libraries. See the  **Chicken** manual for more information.

## OPTIONS

- **-h, -help**

  Shows a summary of options and exits.

- **-V, -version**

  Shows the version of  *chicken-setup* and exits.

- **-release**

  Shows release number of CHICKEN and exits.

- **-R, -repository** *\[PATH\]*

  If  **PATH** is not given, prints the location of the extension repository. If **PATH** is given, specifies the location for the extension repository  The default repository path is the installation library directory (usually  */usr/local/lib/chicken* , or (if set) the directory given in the environment variable  *CHICKEN\_REPOSITORY*

- **-u, -uninstall**

  Removes the given extension from the repository.

- **-H, -host** *HOSTNAME\[:PORT\]*

  Specifies alternative host for downloading extensions.  **PORT** may be omitted and defaults to 80.

- **-p, -proxy** *HOSTNAME\[:PORT\]*

  Connects to server via proxy. **PORT** may be omitted and defaults to 80.

- **-l, -list**

  Lists all installed extensions and exits, or show extension-information of extensions given on the command-line (following this option).

- **-r, -run** *FILENAME*

  Loads and executes given file.

- **-P, -program-path** *\[PATH\]*

  If **PATH** is not given, prints the location where executable files will be installed. If **PATH** is given, specifies the location for installing executable files.

- **-s, -script** *FILENAME*

  Executes the given script with remaining arguments and exits.

- **-f, -fetch**

  Only download, don't extract, build or install.

- **-v, -verbose**

  Displays additional information (mainly for debugging).

- **-k, -keep**

  Keeps intermediate files after building and installing.

- **-c, -csc-option** *option*

  Passes  **option** as an extra argument to invocations of the compiler-driver ( *csc* ). This works only if  *csc* is invoked as  *(run (csc ...))*

- **-d, -dont-ask**

  Does not ask the user before trying to download required extensions.

- **-n, -no-install**

  Does not install generated binaries and support files after building. Any invocations of *install-program* , *install-extension* , *install-script* or *copy-file* will be no-ops.

- **-i, -docindex**

  Displays the path to the index-page of any installed extension-documentation. If the index page does not exist, it is created.

- **-e, -eval** *EXPRESSION*

  Evaluates the given expression(s).

- **-t, -test**

  If the  **.egg** extension archive contains a directory named **tests** and this directory includes a file named **run.scm** then this file is executed (with  **tests** being the current working directory).

- **-host-extension**

  Compiles any extensions in "host" mode.

- **-ls** *EXTENSION*

  Lists the installed files for the given extension.

- **-fetch-tree**

  Downloads and prints the repository catalog to standard output.

- **-create-tree** *PATH*

  Creates repository catalog from SVN checkout.

- **-tree** *FILENAME*

  Uses the repository catalog stored in **FILENAME** instead of downloading it.

- **-svn** *URL*

  Fetches extension sources from an SVN repository instead of downloading egg from egg server.

- **-svn-trunk** *URL*

  Fetches extension sources from an SVN repository instead of downloading egg from egg server. If subdirectory trunk exists in the SVN repository, the egg sources are fetched from that location.

- **-local** *PATH*

  Fetches extension sources from the local filesystem at **PATH** instead of downloading egg from egg server.

- **-install-prefix** *PATH*

  Specifies alternative installation prefix. The installation paths for  all executable files, examples, and files installed with the *copy-file* and *move-file* procedures will be prepended by this prefix, if it is specified.

- **-revision** *REVISION*

  Specifies the SVN revision that to check out (only useful in combination with the **-svn** option).

- **-build-prefix** *PATH*

  Specifies the location where  *chicken-setup* will create build directories. The default location is the value of environment variable  *CHICKEN\_TMPDIR* , *TMPDIR* or */tmp/chicken-{MAJOR-VERSION}-build-{USER}* if none of those variables are found in the environment. If  */tmp* does not exist or is not writeable, then the build directory is *{HOME}/tmp/chicken-{MAJOR-VERSION}-build-{USER}*

- **-download-path** *PATH*

  Specifies the location where chicken-setup will save downloaded files The default is  *{BUILD-PREFIX}/downloads)*

- **--**

  Ignores all further arguments.

## ENVIRONMENT VARIABLES

- **CHICKEN\_PREFIX**

  The installation prefix where CHICKEN Scheme and its support files and libraries are located. Defaults to the installation time prefix given when configuring the system.

- **CHICKEN\_INSTALL\_PREFIX**

  An alternative installation prefix that will be prepended to extension installation paths if specified.

- **CHICKEN\_REPOSITORY**

  The path where extension libraries are installed. Defaults to the package-library path selected during configuration (usually **$prefix/lib/chicken/\<binary-version\>** )

- **CHICKEN\_SETUP\_OPTIONS**

  A string with default options that should be passed to every invocation of **chicken-setup**

- **CHICKEN\_TMPDIR**

  The location where egg files will be unpacked and extensions compiled.

## DOCUMENTATION

More information can be found in the *Chicken User's Manual*

## BUGS

Submit bug reports by e-mail to *chicken-janitors@nongnu.org* , preferrably using the **chicken-bug** tool.

## AUTHORS

Felix L. Winkelmann and the Chicken Team

## SEE ALSO

**[chicken(1)](/chicken/1.md)** **[csc(1)](/csc/1.md)** **[chicken-bug(1)](/chicken-bug/1.md)**
