Released packages are available from http://packages.debian.org. As of August 2009, the latest package for the Debian sid (unstable) distribution is version 6.18.
A manual for version 4 (2004) is at https://alioth.debian.org/scm/viewvc.php/clc/DESIGN.txt?view=markup&root=clc, though additional documentation is included with the package.
Currently, Common Lisp Controller is supported by the following Common Lisp implementations in Debian:
The very first thing you have to do is:
# aptitude install common-lisp-controllerInstallation of other Common Lisp libraries should then be a simple matter of:
# aptitude install <package name>e.g aptitude install cl-split-sequence You're good to go now.
How it works (note: we're describing version 4 here):
- it's expected to be used with a package system that can run setup scripts after installing things.
- lisp packages are distributed as source code, placed in the /usr/share/common-lisp/source/package/.
- asdf is required. Each package needs a system definition that expects it to be found in /usr/share/common-lisp/systems/.
- it does not anymore use the logical pathname system. Instead it overrides the asdf:output-files method to divert the fasls to a user, implementation and library specific location. At the moment /var/cache/common-lisp-controller/user-name/implementation/library/.
- To use a library the user just has to use (clc:clc-require :foo)
- To recompile all libraries the user can use (clc:clc-build-all-packages) or (clc:clc-build-all-packages t) to ignore any errors during rebuilding.
- On installation of an implementation it should run /usr/sbin/register-common-lisp-implementation bar where bar is the name of the implementation. On removal it should call the /usr/sbin/unregister-common-lisp-implementation bar command.
- An implementation should provide a /usr/lib/common-lisp/bin/bar.sh script that implements the install-clc command.
- On installation libraries should call /usr/sbin/register-common-lisp-source foo on removal /usr/sbin/unregister-common-lisp-source foo.
- Also there is now a debconf interface for site-name stuff that implementations should use if possible. The results are stored in /etc/lisp-config.lisp.
We simply add a system location to asdf's ASDF:*CENTRAL-REGISTRY*, so the native locations still work. To install local packages, either use asdf-install or modify at ASDF:*CENTRAL-REGISTRY* to also point to your files.