summary refs log tree commit diff
path: root/pkgs/development/lisp-modules
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/lisp-modules')
-rw-r--r--pkgs/development/lisp-modules/import/database/sqlite.lisp2
-rw-r--r--pkgs/development/lisp-modules/nix-cl.nix27
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