A script to update/install the latest versions of all the most important Common Lisp packages.
About
clbuild is a shell script helping with the download, compilation, and invocation of Common Lisp applications. It defaults to SBCL but otherwise tries to be somewhat independent of your local environment.
clbuild was originally written by Luke Gorrie. (Idea from jhbuild by James Henstridge, a Gnome hacker).
Currently, the following libraries and applications are supported (2007-06-24):
Please send patches and bug reports to clbuild-devel@common-lisp.net (list information).
FAQ
Q How does clbuild differ from asdf-install?
A clbuild includes a list of selected libraries and applications and their well-known locations, and downloads the newest version or CVS/SVN/darcs repositories if possible. It can also build SBCL for you and includes convenient commands to start various applications.
In contrast, asdf-install can install any software listed on Cliki. It always downloads release tarballs. (It is up to the user to hunt down the trustworthy PGP keys as a protection agains malicous wiki entries.)
To starts clbuild's slime, make sure to use the Windows version of Emacs, not cygwin's Emacs.
Download and Usage
At this point, clbuild is maintained in darcs. There are several branches of clbuild, the most recent of which is probably David's:
$ darcs get http://www.lichteblau.com/blubba/clbuild
Other repositories are Christophe's tree at http://common-lisp.net/~crhodes/clbuild and Luke's original repository at http://fresh.homeunix.net/~luke/misc/repo/clbuild
You might want to make the shell script executable:
$ cd clbuild clbuild$ chmod +x clbuild
Try the interactive dialog if you have dialog(1):
clbuild$ ./clbuild dialog
Without the dialog, use command line arguments:
clbuild depends on various helper applications. Try check to make sure they are installed:
clbuild$ ./clbuild check Checking for helper applications... found /usr/bin/X11/cvs found /usr/bin/X11/svn found /usr/bin/X11/darcs found /usr/bin/X11/wget found /bin/tar found /bin/mktemp Success: All helper applications found. Checking Lisp startup... Success: Lisp starts up using "sbcl" Looking for installable systems... 0 systems definition files registered
If that worked, run update or build to download (and optionally also build) the userland:
clbuild$ ./clbuild update cvs co flexichain... cvs co mcclim... ... lots of output not shown ... update complete 46 systems definition files registered
Use dumpcore update to create a core file containing all applications, accelerating application startup considerably.
clbuild$ ./clbuild dumpcore ... lots of output not shown ... [undoing binding stack and other enclosing state... done] [saving current Lisp image into /home/david/clbuild/monster.core: writing 1664 bytes from the read-only space at 0x20000000 writing 5024 bytes from the static space at 0x20100000 writing 181661696 bytes from the dynamic space at 0x1000000000 done] ./clbuild ok monster.core dumped
You can also download and recompile SBCL using buildsbcl or buildworld:
clbuild$ ./clbuild buildsbcl
For other options, see help:
clbuild$ ./clbuild help Usage: check check availability of all necessary helper applications update download/update all applications recompile recompile all applications dumpcore recompile and dump a core file for faster startup build update && dumpcore buildsbcl download/update and compile SBCL world buildsbcl && build clean delete all compiled object files mrproper delete all downloaded source and fasl files slime run the Superior Lisp Interaction Mode in a fresh Emacs lisp run Lisp in the terminal sbcl alias for "lisp" (with all packages available to REQUIRE) openmcl alias for "lisp" listener run the McCLIM listener gsharp run the Gsharp score editor climacs run the Climacs text editor closure run the CLOSURE web browser (required Debian packages: gif2png,libjpeg-progs) beirc run the Beirc IRC client climplayer run the CLIMPlayer music player (required Debian packages: mplayer, fileschanged, fam) eclipse run the eclipse window manager hunchentoot run the Hunchentoot web server test webdav DIR run the CL-WEBDAV server, serving directory DIR (required Debian packages: libssl-dev) dialog show an interactive menu Default when started without arguments is 'dialog'. If you do 'world' or 'buildsbcl' then SBCL will be installed in target/ and used for future commands. If you don't run these commands (or you remove target/) then clbuild uses the 'sbcl' in your PATH. Set CCL to your OpenMCL binary to use OpenMCL instead of SBCL. Example: CCL=~/ccl/lx86cl64 ./clbuild build (Not supported with targets 'buildsbcl' and 'sbcl'.) Set CLIM_BACKEND=gtkairo to enable clim-gtkairo instead of clim-clx. (Requires GTK+ >= 2.8.)