nix-cl: provide the original pname as an attribute

Overrides often inherit pname from the overriden package, and if they
get the already-prefixed version, defaulting the systems list to [pname]
produces wrong (and unintuitive) results. So we keep the prefix in the
store paths for clarity, and nix-env sees disambiguated names with -i/-u
(which should not be used anyway); but overrides won't be broken.
This commit is contained in:
Michael Raskin 2024-01-12 00:41:25 +01:00
parent 55bfd59d5f
commit 6815a0077d

View File

@ -145,7 +145,7 @@ let
...
} @ args:
stdenv.mkDerivation (rec {
(stdenv.mkDerivation (rec {
inherit
version nativeLibs javaLibs lispLibs systems asds
pkg program flags faslExt
@ -226,7 +226,14 @@ let
meta = (args.meta or {}) // {
maintainers = args.meta.maintainers or lib.teams.lisp.members;
};
})));
})) // {
# Useful for overriding
# Overriding code would prefer to use pname from the attribute set
# However, pname is extended with the implementation name
# Moreover, it is used in the default list of systems to load
# So we pass the original pname
pname = args.pname;
}));
# Build the set of lisp packages using `lisp`
# These packages are defined manually for one reason or another: