about summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/packages.nix
diff options
context:
space:
mode:
authorKasper Gałkowski <k@galkowski.xyz>2023-05-20 01:28:05 +0200
committerKasper Gałkowski <k@galkowski.xyz>2023-05-20 01:30:23 +0200
commitfa8d4324f61a54c413cab259a9e14a8e968999e7 (patch)
tree70dc9dbe26a78bfb40cda6ff59346eae52713ed9 /pkgs/development/lisp-modules/packages.nix
parent8c9384373d3ca32b8fb27d1037475a6a714c714e (diff)
stumpwm: Fix package conflict and HOME errors when loading modules
Diffstat (limited to 'pkgs/development/lisp-modules/packages.nix')
-rw-r--r--pkgs/development/lisp-modules/packages.nix18
1 files changed, 16 insertions, 2 deletions
diff --git a/pkgs/development/lisp-modules/packages.nix b/pkgs/development/lisp-modules/packages.nix
index c6ccb9fabf9cc..4e272694f68ea 100644
--- a/pkgs/development/lisp-modules/packages.nix
+++ b/pkgs/development/lisp-modules/packages.nix
@@ -322,13 +322,27 @@ let
     };
     buildScript = pkgs.writeText "build-stumpwm.lisp" ''
       (load "${super.stumpwm.asdfFasl}/asdf.${super.stumpwm.faslExt}")
-      (asdf:load-system 'stumpwm/build)
+
+      (asdf:load-system 'stumpwm)
+
+      ;; Prevents package conflict error
+      (when (uiop:version<= "3.1.5" (asdf:asdf-version))
+        (uiop:symbol-call '#:asdf '#:register-immutable-system :stumpwm)
+        (dolist (system-name (uiop:symbol-call '#:asdf
+                                               '#:system-depends-on
+                                               (asdf:find-system :stumpwm)))
+          (uiop:symbol-call '#:asdf '#:register-immutable-system system-name)))
+
+      ;; Prevents "cannot create /homeless-shelter" error
+      (asdf:disable-output-translations)
+
       (sb-ext:save-lisp-and-die
         "stumpwm"
         :executable t
+        :purify t
         #+sb-core-compression :compression
         #+sb-core-compression t
-        :toplevel #'stumpwm:main)
+        :toplevel #'stumpwm:stumpwm)
     '';
     installPhase = ''
       mkdir -p $out/bin