I am new to cl, and I just learned to install packages using asdf-install, but I don’t know how it works, I wonder how the package can be installed manully, then I could understand the use of the files in the root directory of the source code, thanks.
Share
Short answer: Just use quicklisp.
Long answer: if you want to understand, how the package, or – more precisely – ASDF system, is laid out, that’s a good idea. Actually, there’s nothing hard about that.
Every ASDF system should have a system definition file with
.asdextension. This file names other file of the system with their paths relative to the .asd file, their types (by default: lisp source code) and dependencies. Your Lisp should know where to find the system definition file. In ASDF there are 2 ways to inform Lisp about it: adding the directory, in which you store the file or symlink to it, toasdf:*central-registry*list or setting up special configuration files (called source-registry – more on that in ASDF manual).Now if you want to install the system by hand, just download its sources, extract them into some directory (like in
/home/user/lib/lisp/– you may get/home/user/lib/lisp/cl-ppcre-2.3.1/, inside which there’scl-ppcre.asd). To let your Lisp find out about it just(push "/home/user/lib/lisp/cl-ppcre-2.3.1/" asdf:*central-registry*)(and don’t forget the trailing slash – it’s required), and then you can load the system with(asdf:oos 'asdf:load-op :cl-ppcre).You might also setup a special dir, where you’ll symlink your existing systems, like
/home/user/.lisp/and add it to*central-registry*at Lisp startup type (e.g. in.sbclrc). Now if you want to temporarily override some of the system linked in this dir, say, with a newer version, you don’t need to unlink anything – just push the path to alternative system to*central-registry*.Quicklisp does all that for you and more…