Semi-automatically convert quicklisp packages to nix expressions
To just use this, clone the overlay branch, then symlink the directory into '$HOME/.config/nixpkgs/overlays/
Then, all lisp systems should be avaliable as lisp\_system-name
where all
non-alphanumerics in the system name have been replaced with dashes. For
example foo/bar
would be lisp_foo-bar
.
The code for generating the overlay is on the master branch. It still needs
a bit of cleanup. Run with ./ql2nix.lisp
If there is a missing system that
you want, check input/blacklist.txt after running. Either that project (single
download from quicklisp), or one of its deep dependencies should be listed
there, along with a comment for why it was blacklisted. A patch can be added
in input/patches with the format
lisp-project_project-name-project-version.short-description.patch
if you
figure out how to fix it.
If it fails due to a missing dependency, you can change the giant COND statement in ql2nixlib.lisp to detect the missing dependency from the error output, there are hundreds of examples for you to crib off of, or just ask jasom on IRC (#lisp on freenode).
If anybody knows how to get a list of loaded foreign-libraries, let me know, I can then switch from loading FASLs to memory images (ccl, and possibly other implementations do not reaload foreign libraries on image restart, but uiop and cffi let us do this portably once we have a list)
Finding and fixing anything really brain-dead is also useful.