diff options
Diffstat (limited to 'pkgs/development/lisp-modules')
-rw-r--r-- | pkgs/development/lisp-modules/nix-cl.nix | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/pkgs/development/lisp-modules/nix-cl.nix b/pkgs/development/lisp-modules/nix-cl.nix index 7e671e7cc63..d1a70bf5c8e 100644 --- a/pkgs/development/lisp-modules/nix-cl.nix +++ b/pkgs/development/lisp-modules/nix-cl.nix @@ -286,25 +286,26 @@ let ''; }); - wrapLisp = { pkg, faslExt, program ? pkg.pname, flags ? [], asdf ? pkgs.asdf_3_3 }: + wrapLisp = { + pkg + , faslExt + , program ? pkg.pname + , flags ? [] + , asdf ? pkgs.asdf_3_3 + , packageOverrides ? (self: super: {}) + }: let spec = { inherit pkg faslExt program flags asdf; }; - pkgs = commonLispPackagesFor spec; + pkgs = (commonLispPackagesFor spec).overrideScope' packageOverrides; withPackages = lispWithPackages pkgs; - override = - { packageOverrides ? (self: super: {}) , ... } @ attrs: - let - pkg' = spec.pkg.override attrs; - spec' = spec // { pkg = pkg'; }; - pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides; - withPackages = lispWithPackages pkgs; - in pkg' // { - inherit pkgs withPackages override; - buildASDFSystem = args: build-asdf-system (args // spec'); + withOverrides = packageOverrides: + wrapLisp { + inherit pkg faslExt program flags asdf; + inherit packageOverrides; }; - in pkg // { - inherit pkgs withPackages override; buildASDFSystem = args: build-asdf-system (args // spec); + in pkg // { + inherit pkgs withPackages withOverrides buildASDFSystem; }; in wrapLisp |