specifying custom location for ecl-quicklisp packages

Daniel KochmaƄski daniel at turtleware.eu
Sun Feb 3 13:33:11 UTC 2019


Hey Dima,

ecl-quicklisp contrib is more a conveniance hack than a mechanism I
would advertise for getting quicklisp. The correct way to do that is to
download quicklisp from its homepage and follow instructions from its
website (and verifying signatures etc) and add loading setup.lisp from
the location you look out for.

That said ecl-quicklisp installs Quicklisp at the location reflected in
a logical pathname translation for "HOME:QUICKLISP;". To customize
install directory for ecl-quicklisp contrib target set it to the
desired directory:

   CL-USER> (push '("HOME:QUICKLISP;**;*.*" "/tmp/quicklisp/**/*.*") (logical-pathname-translations "HOME"))
   ((#P"HOME:QUICKLISP;**;*.*" #P"/tmp/quicklisp/**/*.*")
    (#P"HOME:**;*.*" #P"/home/jack/**/*.*"))
   CL-USER> (translate-logical-pathname "HOME:QUICKLISP;directory;setup.lisp")
   #P"/tmp/quicklisp/directory/setup.lisp"
   CL-USER> (translate-logical-pathname "HOME:QUICKLISP;setup.lisp")
   #P"/tmp/quicklisp/setup.lisp"
   CL-USER> (translate-logical-pathname "HOME:QUICKLISP;")
   #P"/tmp/quicklisp/"

That should be enough to make (require 'ecl-quicklisp) to install QL in
"/tmp/quicklisp/" directory. I would advertise doing

  (require 'ecl-quicklisp)

instead of (asdf:load-system :ecl-quicklisp). While the latter will
probably work it is a contrib module, not a library (and asdf's inner
workings are not under ECL custody).

Best regards,
Daniel





More information about the ecl-devel mailing list