[Asdf-devel] converting asdf build & test to Lisp

Anton Vodonosov avodonosov at yandex.ru
Wed Jul 9 01:58:22 UTC 2014


01.06.2014, 09:09, "Faré" <fahree at gmail.com>:
> On Sat, May 31, 2014 at 9:03 PM, Anton Vodonosov <avodonosov at yandex.ru> wrote:
>>  It should be possible to use Quicklisp for build script dependencies
>>  (except for lisp-invocation - I don't see it in Quicklisp so we will
>>  need to provide it).
>
> The proper thing to do in this case is file a bug on quicklisp-projects:
> https://github.com/quicklisp/quicklisp-projects/issues/693

All the asdf-tools dependencies are in Quicklisp now, just do
  (ql:update-all-dists) (ql:update-client)

So now, people who use Quicklisp (unlike Robert) can get dependencies installed
automatically by doing (ql:quickload :asdf-tools) instead of (asdf:load-system :asdf-tools).

For example, I have adjusted the main tools/asdf-tools script like this:

   ;;; ASDF3 is loaded, now use it!
   (eval-when (:compile-toplevel :load-toplevel :execute)
  -  (asdf:load-system :asdf-tools))
  +  (load "~/quicklisp/setup.lisp"))
  +(eval-when (:compile-toplevel :load-toplevel :execute)
  +  (ql:quickload :asdf-tools))
 
   ;;; Actually run the stuff!
   (uiop:restore-image :entry-point 'asdf-tools::entry-point)

After that I am able to run various build commands using asdf-tools
instead of make. For example, generate docs:

  export ASDF_DEVEL_SOURCE_REGISTRY=~/prj/asdf/:~/prj/asdf/tools/
  tools/asdf-tools doc

BTW, note in the above asdf-tools patch, the ~/quicklisp/setup.lisp is loaded
after the newest ASDF from sources. That way we always work with the recent ASDF
(Quicklisp doesn't try to load its (old) version of ASDF when ASDF is already present
in lisp image).

Best regards,
- Anton




More information about the asdf-devel mailing list