If Drakma is already installed in quicklisp, I think your example will work if you use --asdf-tree
instead of --asdf-path
. But using the Quicklisp directory as a tree can cause some trouble, as not every system file in the tree is meant to be loaded.
There's another option that more closely integrates with Quicklisp's knowledge of available systems. Here's what I do:
sbcl --no-userinit --no-sysinit --non-interactive \
--load ~/quicklisp/setup.lisp \
--eval '(ql:quickload "drakma")' \
--eval '(ql:write-asdf-manifest-file "quicklisp-manifest.txt")'
buildapp --manifest-file quicklisp-manifest.txt --load-system drakma [the rest of your options]
The first command ensures that drakma has been downloaded, and that an index of the systems Quicklisp knows about is in quicklisp-manifest.txt. The second uses that index to build the application using installed Quicklisp systems.