Commit Graph

6 Commits

Author SHA1 Message Date
Kasper Gałkowski
fdabf61974 lisp-modules: manual: add self links 2023-03-21 19:38:26 +01:00
Kasper Gałkowski
dae0dca5d1 lisp-modules: second version of wrapLisp
The previous approach of trying to make both the `override` mechanism from
`mkDerivation` and the `overrideScope'` mechanism from `newScope` work together
resulted in hard to understand code, and there was a bug where once overridden
packages would lose the changes on next override with `packageOverrides`.

It's not ideal still, because Lisps created by `mkDerivation` will lose their
`pkgs` after using `override`.
2023-03-11 19:09:25 +01:00
Kasper Gałkowski
84eea85ad9 lisp-modules: use wrapLisp to wrap Lisps
The previous approach of manually repeating a complex pattern inside Common Lisp
implementation package declarations was fragile and hard to change. After
reading python and lua modules code in Nixpkgs, I was able to come up with
something better.

The function `wrapLisp` doesn't need to be inside package declarations so all
the code for wrapping Lisps can be in `all-packages.nix`.

This works by wrapping the `override` function created from `mkDerivation` to
accept a new argument `packageOverrides`.

One problem with this is that `override.__functionArgs` disappears. But one can
look at the source code of a package to discover what can be overridden.
2023-03-11 15:11:38 +01:00
Kasper Gałkowski
a0bdaf345b lisp-modules: replace "_" in package names with "__" for reversibility 2023-03-10 20:10:39 +01:00
Kasper Gałkowski
092acca8b3 lisp-modules: make ql-import.lisp automatically pull the latest Quicklisp dist 2023-03-02 19:04:47 +01:00
Kasper Gałkowski
7a1ccaa997 lisp-modules: Add manual section 2023-03-02 19:04:41 +01:00