Common Lisp libraries in Debian use ASDF – Another System Definition Facility – to manage their components and dependencies.
In the following chapter, asdf-system-name stands for the name of
the ASDF system provided in the package, while destination-dir is
basename of the directory the system is installed to. These
may differ from each other, so may be the package name.
The Common Lisp Debhelper (see Common Lisp Debhelper, Chapter 4) can take some of the below actions for you.
Since all Common Lisp libraries in Debian make use of ASDF (Another System
Definition Facility), loading them in programs is as easy as doing
(asdf:oos 'asdf:load-op :library
) or as
depending on library in your own ASDF system definitions using the
:depends-on keyword. Equally, you can do
) or in case of SBCL also
However, the naming scheme of Common Lisp library packages does not always
allow to give the package the same name as the library it provides. The
package documentation in
/usr/share/doc/ should answer this
question. If not, a listing of the package content using
-Lpackage can be useful. Watch out for files called
Users may call
.asd to make their own
libraries available to their own instances of the Common Lisp Controller.
.asd undoes this.
Common Lisp library packages should carry the prefix cl-.
If the package is highly implementation specific, it may carry a
corresponding suffix, e.g.
Packages must install the Lisp source code to
establish a symbolic link from
Foreign data must be built at package build time and follow the rules below, unless a policy specific to that kind of data states otherwise.
Platform dependent data that is solely required by the provided library
should reside in
for example affects glue code in form of shared libraries for foreign function
Platform independent data that is solely required by the provided library
should reside in
These locations are also recommended by the Debian Policy Manual.
The dependencies of the Debian package must reflect the dependencies
of the ASDF system definition, i.e. all ASDF systems that are depended on
must also be available as Debian packages and be listed in
debian/control. Libraries must also depend on the
The following actions are required:
/usr/sbin/register-common-lisp-sourcedestination-dir when called with the
/usr/sbin/unregister-common-lisp-sourcedestination-dir when called with the
See Libraries, Chapter 3 for the meaning of destination-dir.
Common Lisp in Debian ManualRené van Bevern