Quite a lot of CL software is in Debian, packaged using the common-lisp-controller system. Look for packages whose names start with cl-. There is the CL-Debian project, that provides information about Common Lisp packaging, various source packages in Darcs repositories and a mailing list.
Extra repositories also exist for Ubuntu releases, where the platform dependent packages are available for i386 only. The lines for your /etc/apt/source.list file look like this: For sarge add
deb http://people.debian.org/~pvaneynd/cl-sarge-packages ./for ubuntu breezy add
deb http://people.debian.org/~pvaneynd/cl-breezy-packages ./
Most Lisp programmers use the latest version of Debian called Sid or unstable. This version of Debian contains:
Software packages on CLiki
- Binary-types - Binary-types is a library for accessing binary format files with fixed bit-length code-words
- cl-environment - CL-ENVIRONMENT is a small library that tries to canonicalize access to some of the internals of different CL implementations
- cl-html-template - CL-HTML-TEMPLATE is just the Debian package name of HTML-TEMPLATE
- clocc-port - CLOCC includes a library PORT which unifies many things across different implementations, such as socket interfaces, shell access, and gray streams
- CLtL2 - "Common Lisp the Language, 2nd ed" is a book by Guy Steele that describes the state of Common Lisp as it was partway through the ANSI process
- F2CL - F2CL is a Fortran 77 programming language to Common Lisp translator
- Infix - The infix notation for arithmetic in Common Lisp
- Ironclad - Ironclad is a Common Lisp Cryptography package; several block encryption algorithms and hash functions are included with the initial release
- quick-arrays - quick-arrays is a Debian package of the Quick Arrays concept
Other Software packages
Many of these are actually on CLiki, but miss the Debian package topic marker, which would make them show up on the list above. Industrious souls are encouraged to add such markers and delete the corresponding entry, if any, from this list.
- metering from CLOCC [packaged by Christophe]
- IMHO [cl-imho package maintained by Adam Di Carlo]
allegroserve [Packaged by Stig E Sandø]
Langband dev-snapshots, very experimental [packaged by Stig E Sandø]
- memoization [Peter Van Eynde]
- series [Peter Van Eynde]
- cl-pdf [Binghe]
- cl-postoffice [Kevin Rosenberg]
- cl-port [Kevin Rosenberg]
- cl-inflate [Kevin Rosenberg]
- ilisp [Kevin Rosenberg]
- uffi [Kevin Rosenberg]
- lml [Kevin Rosenberg]
- clsql [Kevin Rosenberg]
- cl-who [packaged by Kevin Rosenberg]
- cl-html-template [packaged by Kevin Rosenberg]
- cl-gd [packaged by Kevin Rosenberg]
- McCLIM [packaged by Milan Zamazal]
Suggestions/Hints/etc for package creators
- Please use a package prefix that helps to track down the package in Debian and dselect in particular. A prefix will hopefully also help wrt inclusion in ordinary Debian and to avoid name conflicts. One such prefix might be cl- for ordinary Common Lisp libraries.
- If possible, use :Depends for other systems instead of including them in your package. As an example, the Langband-package should depend on binary-types instead of including them in the its package.
- Persons investigating the natures and features of packaging systems, and persons intending to create Debian packages, may be interested in the page here on Debian Packages
Hints for users
- When using Debian and the common-lisp-controller version 4, all packages can be loaded using the (clc:clc-require :name) syntax. For example, the cl-infix package can be loaded using (clc:clc-require :infix).
- With an implementation that uses the common-lisp-controller you can simply use (clc:clc-require :infix) to load the precompiled version.
- CLORB as a debian package which works "right away" in CMUCL and SBCL
- Common Music and Common Music Notation. These may require work to get working in CMUCL.
- RegEx-CLAWK-Lexer as a debian package (-- it has been for years, see cl-regex etc. I'd like to know if there is still interest)
- CL-HTTP working full-featured with CMUCL.