diff options
Diffstat (limited to 'pkgs/development/lisp-modules')
-rw-r--r-- | pkgs/development/lisp-modules/import/database/sqlite.lisp | 2 | ||||
-rw-r--r-- | pkgs/development/lisp-modules/nix-cl.nix | 27 |
2 files changed, 23 insertions, 6 deletions
diff --git a/pkgs/development/lisp-modules/import/database/sqlite.lisp b/pkgs/development/lisp-modules/import/database/sqlite.lisp index c25c5c7d47c..fb502e42452 100644 --- a/pkgs/development/lisp-modules/import/database/sqlite.lisp +++ b/pkgs/development/lisp-modules/import/database/sqlite.lisp @@ -170,4 +170,4 @@ in lib.makeScope pkgs.newScope (self: {") ,@(when (or (find #\/ name) (find name +broken-packages+ :test #'string=)) '(("meta" (:attrs ("broken" (:symbol "true"))))))))))))) - (format f "~%})")))) + (format f "~%})~%")))) diff --git a/pkgs/development/lisp-modules/nix-cl.nix b/pkgs/development/lisp-modules/nix-cl.nix index 208ca7559d8..7e671e7cc63 100644 --- a/pkgs/development/lisp-modules/nix-cl.nix +++ b/pkgs/development/lisp-modules/nix-cl.nix @@ -286,8 +286,25 @@ let ''; }); -in { - inherit commonLispPackagesFor; - inherit lispWithPackages; - inherit build-asdf-system; -} + wrapLisp = { pkg, faslExt, program ? pkg.pname, flags ? [], asdf ? pkgs.asdf_3_3 }: + let + spec = { inherit pkg faslExt program flags asdf; }; + pkgs = commonLispPackagesFor spec; + 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'); + }; + in pkg // { + inherit pkgs withPackages override; + buildASDFSystem = args: build-asdf-system (args // spec); + }; + +in wrapLisp |