summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/wm.scm143
1 files changed, 74 insertions, 69 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index af406ed2ed..eedd339c6c 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1849,79 +1849,84 @@ Wayland compositors supporting the wlr-output-management protocol.")
     (license license:expat))) ; MIT license
 
 (define-public stumpwm
-  (package
-    (name "stumpwm")
-    (version "22.05")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/stumpwm/stumpwm")
-             (commit version)))
-       (file-name (git-file-name "stumpwm" version))
-       (sha256
-        (base32 "12hf70mpwy0ixiyvv8sf8pkwrzz8nb12a8ybvsdpibsxfjxgxnan"))))
-    (build-system asdf-build-system/sbcl)
-    (native-inputs
-     (list sbcl-fiasco
-           texinfo
+  ;; Some fixes to make stumpwm work with sbcl>=2.2.7 are not in a release
+  ;; yet, so we use a commit directly.
+  (let ((commit "ff6cb73f48f0df4285948f1009ef3b285c78b351")
+        (revision "1"))
+    (package
+      (name "stumpwm")
+      (version (git-version "22.05" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/stumpwm/stumpwm")
+               (commit commit)))
+         (file-name (git-file-name "stumpwm" version))
+         (sha256
+          (base32 "0gvr136fv5zs61017gns3kbkz00837n0b52fif9vany5fslx3aj2"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       (list sbcl-fiasco
+             texinfo
 
-           ;; To build the manual.
-           autoconf
-           automake))
-    (inputs
-     (list sbcl-alexandria
-           sbcl-cl-ppcre
-           sbcl-clx))
-    (outputs '("out" "lib"))
-    (arguments
-     (list
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'fix-tests
-            (lambda _
-              (substitute* "stumpwm-tests.asd"
-                (("\"ALL-TESTS\"")
-                 "\"RUN-PACKAGE-TESTS\" :package"))))
-          (add-after 'create-asdf-configuration 'build-program
-            (lambda* (#:key outputs #:allow-other-keys)
-              (build-program
-               (string-append (assoc-ref outputs "out") "/bin/stumpwm")
-               outputs
-               #:entry-program '((stumpwm:stumpwm) 0))))
-          (add-after 'build-program 'create-desktop-file
-            (lambda* (#:key outputs #:allow-other-keys)
-              (let* ((out (assoc-ref outputs "out"))
-                     (xsessions (string-append out "/share/xsessions")))
-                (mkdir-p xsessions)
-                (call-with-output-file
-                    (string-append xsessions "/stumpwm.desktop")
-                  (lambda (file)
-                    (format file
-                     "[Desktop Entry]~@
-                      Name=stumpwm~@
-                      Comment=The Stump Window Manager~@
-                      Exec=~a/bin/stumpwm~@
-                      TryExec=~@*~a/bin/stumpwm~@
-                      Icon=~@
-                      Type=Application~%"
-                     out))))))
-          (add-after 'install 'install-manual
-            (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
-              (let* ((out  (assoc-ref outputs "out"))
-                     (info (string-append out "/share/info")))
-                (invoke "./autogen.sh")
-                (invoke "sh" "./configure" "SHELL=sh")
-                (apply invoke "make" "stumpwm.info" make-flags)
-                (install-file "stumpwm.info" info)))))))
-    (synopsis "Window manager written in Common Lisp")
-    (description "Stumpwm is a window manager written entirely in Common Lisp.
+             ;; To build the manual.
+             autoconf
+             automake))
+      (inputs
+       (list sbcl-alexandria
+             sbcl-cl-ppcre
+             sbcl-clx))
+      (outputs '("out" "lib"))
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-tests
+              (lambda _
+                (substitute* "stumpwm-tests.asd"
+                  (("\"ALL-TESTS\"")
+                   "\"RUN-PACKAGE-TESTS\" :package"))))
+            (add-after 'create-asdf-configuration 'build-program
+              (lambda* (#:key outputs #:allow-other-keys)
+                (build-program
+                 (string-append (assoc-ref outputs "out") "/bin/stumpwm")
+                 outputs
+                 #:entry-program '((stumpwm:stumpwm) 0))))
+            (add-after 'build-program 'create-desktop-file
+              (lambda* (#:key outputs #:allow-other-keys)
+                (let* ((out (assoc-ref outputs "out"))
+                       (xsessions (string-append out "/share/xsessions")))
+                  (mkdir-p xsessions)
+                  (call-with-output-file
+                      (string-append xsessions "/stumpwm.desktop")
+                    (lambda (file)
+                      (format file
+                       "[Desktop Entry]~@
+                        Name=stumpwm~@
+                        Comment=The Stump Window Manager~@
+                        Exec=~a/bin/stumpwm~@
+                        TryExec=~@*~a/bin/stumpwm~@
+                        Icon=~@
+                        Type=Application~%"
+                       out))))))
+            (add-after 'install 'install-manual
+              (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
+                (let* ((out  (assoc-ref outputs "out"))
+                       (info (string-append out "/share/info")))
+                  (invoke "./autogen.sh")
+                  (invoke "sh" "./configure" "SHELL=sh")
+                  (apply invoke "make" "stumpwm.info" make-flags)
+                  (install-file "stumpwm.info" info)))))))
+      (synopsis "Window manager written in Common Lisp")
+      (description
+       "Stumpwm is a window manager written entirely in Common Lisp.
 It attempts to be highly customizable while relying entirely on the keyboard
 for input.  These design decisions reflect the growing popularity of
 productive, customizable lisp based systems.")
-    (home-page "https://github.com/stumpwm/stumpwm")
-    (license license:gpl2+)
-    (properties `((cl-source-variant . ,(delay cl-stumpwm))))))
+      (home-page "https://github.com/stumpwm/stumpwm")
+      (license license:gpl2+)
+      (properties `((cl-source-variant . ,(delay cl-stumpwm)))))))
 
 (define-public sbcl-stumpwm
   (deprecated-package "sbcl-stumpwm" stumpwm))