diff options
author | Kasper Gałkowski <k@galkowski.xyz> | 2023-08-25 20:38:44 +0200 |
---|---|---|
committer | Kasper Gałkowski <k@galkowski.xyz> | 2023-08-25 21:00:39 +0200 |
commit | b991ea8385f053138eb2e68af69db7f6a52c4579 (patch) | |
tree | a42bbafe3c91f6c7e6581261e04c274dc3a2f9d3 | |
parent | 952781729fbc137349a043daf2aaa2aa0e2e023c (diff) |
doc/lisp: clarify section on importing from Quicklisp
1. Clarify what is the reason for importing and to where it saves 2. Clarify that packages.sqlite is a temporary file 3. Link to section about native dependencies from first mention of ql.nix
-rw-r--r-- | doc/languages-frameworks/lisp.section.md | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/doc/languages-frameworks/lisp.section.md b/doc/languages-frameworks/lisp.section.md index c94ab6939a8dc..94d99b0392ad4 100644 --- a/doc/languages-frameworks/lisp.section.md +++ b/doc/languages-frameworks/lisp.section.md @@ -67,9 +67,10 @@ buildPhase = '' ## Importing packages from Quicklisp {#lisp-importing-packages-from-quicklisp} -The library is able to import all the packages distributed by Quicklisp by -parsing its `releases.txt` and `systems.txt` files. These files are available -from [quicklisp.org](http://beta.quicklisp.org/dist/quicklisp.txt). +To save some work of writing Nix expressions, there is a script that imports all +the packages distributed by Quicklisp into `imported.nix`. This works by parsing +its `releases.txt` and `systems.txt` files, which are published every couple of +months on [quicklisp.org](http://beta.quicklisp.org/dist/quicklisp.txt). The import process is implemented in the `import` directory as Common Lisp code in the `org.lispbuilds.nix` ASDF system. To run the script, one can @@ -83,13 +84,16 @@ nix-shell --run 'sbcl --script ql-import.lisp' The script will: 1. Download the latest Quicklisp `systems.txt` and `releases.txt` files -2. Generate an SQLite database of all QL systems in `packages.sqlite` +2. Generate a temporary SQLite database of all QL systems in `packages.sqlite` 3. Generate an `imported.nix` file from the database -The maintainer's job there is to: +(The `packages.sqlite` file can be deleted at will, because it is regenerated +each time the script runs.) -1. Re-run the `ql-import.lisp` script -2. Add missing native dependencies in `ql.nix` +The maintainer's job is to: + +1. Re-run the `ql-import.lisp` script when there is a new Quicklisp release +2. [Add any missing native dependencies](#lisp-quicklisp-adding-native-dependencies) in `ql.nix` 3. For packages that still don't build, package them manually in `packages.nix` Also, the `imported.nix` file **must not be edited manually**! It should only be |