ASDF-install is OBSOLETE. DO NOT USE ASDF-INSTALL, EVER. DO NOT ASK AROUND ABOUT HOW TO GET IT RUNNING. IT IS O-B-S-O-L-E-T-E. Not working. Not maintained. Please use quicklisp instead. Maybe clbuild for more advanced stuff.
asdf-install used to be a program for downloading and installing lisp packages. You could call it an ASDF-extension. It:
- used to download lisp libraries (defined by ASDF Systems or mk-defsystem systems) from the net using CLiki :package links and installs them in the local Lisp
- used to chase dependencies
- used to use PGP signatures to verify the provenance of the downloaded code (requires GPG)
Please check the ASDF-Install bugs and ASDF-Install enhancement requests pages to add your thoughts about what isn't working and what might work better! You might also want to see the ASDF-Install FAQ.
Tutorial
In a hurry, have a look at: FirstStepsWithAsdfAndAsdfInstall
A tutorial for the "portable" (see below) version can be found at http://common-lisp.net/project/asdf-install/tutorial/index.html. There is also information on GPG for ASDF-Install developers and on ASDF-Install and GPG here on the CLiki.
Variants
Depending on how you count there are currently two or three variants of ASDF-INSTALL:
- a contrib module in SBCL, from 0.8.3 onwards. It requires GNU Tar and GNU PG to be installed, but has no dependencies on any Lisp code that isn't already part of SBCL.
- A port to CMUCL, CLISP, LispWorks, Allegro, OpenMCL and MCL which also includes a little tutorial (see above) is available from http://common-lisp.net/project/asdf-install/.
- This port has been integrated into OpenMCL, i.e. up from 0.14.1 asdf-install is part of the OpenMCL distribution.
Using asdf-install
* (require 'asdf) * (require 'asdf-install) ;; works on SBCL, may require more work on other Lisps * (asdf-install:install 'cliki)
Loading a package installed by asdf-install
(asdf:oos 'asdf:load-op :vecto) ;; loads vecto
Making your package downloadable with asdf-install
- Make a gzipped tarball of the ASDF system, arranged to unpack into a subdirectory systemname_version.
tar -cvzf systemname_version.tar.gz systemname_version/If your package is called `mail-reader', version 0.1, the tarball would be called mail-reader_0.1.tar.gz and unpack into mail-reader_0.1/. It is OK if there are directories nested below the systemname_version directory but all the *.asd files must reside in the toplevel directory.
gpg -b -a mail-reader_0.1.tar.gzwhich will generate mail-reader_0.1.tar.gz.asc. If you need more help with this step, see GPG for ASDF-Install developers.
: (package "http://www.example.com/lisp/mail-reader_0.1.tar.gz")Note we've added a space between the : and the ( - in an actual page this should be omitted.
If you want to have the package added to cclan proper (optional, but nice if you want it mirrored or don't have suitable web space), contact a cclan node maintainer using cclan-list to arrange upload. Then you can write the package token as
: (package "mail-reader_0.1.tar.gz")
and asdf-install will use a user-configurable cclan mirror.
Note that the name of the cliki page must match the system name as known to asdf. The name of the tar file is non-critical, though: for example if you regularly put new versions out and don't want to update cliki every time, you can use a symlink. The .asc file name, however, must correspond with the tar file name - so in that case you'd need two symlinks.
There is a script (asdf-packaging-tools) to automate the packaging process for ASDF-INSTALL.
Downloading ASDF-installable tarballs manually
To download tarballs directly (without using ASDF-Install itself) you can use following shell script (downlads package to file package-name.tar.gz in current directory).
<pre>
#!/bin/sh
# You can configure your CClan mirror site here.
CCLAN=http://www-jcsu.jesus.cam.ac.uk/ftp/pub/cclan/
PACKAGE="$1"
shift
exec wget \
--no-cookies --header "Cookie: CCLAN-SITE=$CCLAN" \
-O $PACKAGE.tar.gz "${@}" \
"http://cliki.net/$PACKAGE?download"
</pre>
GnuPG and asdf-install
Users should read ASDF-Install and GPG. Developers should read GPG for ASDF-Install developers.
asdf-installable packages and lisp implementations
(To get an idea of which ASDF-installable packages will work in your Lisp, check here.)versions of asdf-installable software
To get an idea of available versions of ASDF-installable software, check here:(search :term (package) :title "
asdf-installable packages available on cliki
")ECL asdf-install requires
--- C:/clisp/asdf-install/load-asdf-install.lisp 2006-03-22 01:05:39.000000000 +1000
+++ load-asdf-install.lisp 2006-08-09 15:44:42.671875000 +1000
@@ -55,13 +55,19 @@
:host (pathname-host directory)
:device (pathname-device directory)
:directory (append (pathname-directory directory)
- (list :wild-inferiors))))
+ (list :wild-inferiors))
+ :name :wild
+ :type :wild
+ :version :wild))
("**;*.*"
,(make-pathname
:host (pathname-host directory)
:device (pathname-device directory)
:directory (append (pathname-directory directory)
- (list :wild-inferiors))))))
+ (list :wild-inferiors))
+ :name :wild
+ :type :wild
+ ))))