CHICKEN-SETUP(1)

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) csc(1) chicken-bug(1)