Patchwork [09/12] gnu: Add stumpwm.

login
register
mail settings
Submitter Andy Patterson
Date Sept. 27, 2016, 4:15 a.m.
Message ID <20160927041532.27097-10-ajpatter@uwaterloo.ca>
Download mbox | patch
Permalink /patch/16033/
State New
Headers show

Comments

Andy Patterson - Sept. 27, 2016, 4:15 a.m.
* gnu/packages/lisp.scm (stumpwm, stumpwm-sbcl, stumpwm-ecl): New
  variables.
---
 gnu/packages/lisp.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

Patch

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 1616b32..1c78875 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -847,3 +847,74 @@  from other CLXes around the net.")
        #:phases
        (modify-phases %standard-phases/ecl
          (delete 'unpack))))))
+
+(define-public stumpwm
+  (package
+    (name "stumpwm")
+    (version "0.9.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/stumpwm/stumpwm/archive/"
+                    version ".tar.gz"))
+              (sha256
+               (base32 "1fqabij4zcsqg1ywgdv2irp1ys23dwc8ms9ai55lb2i47hgv7z3x"))
+              (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system asdf-build-system/source)
+    (propagated-inputs `(("cl-ppcre" ,cl-ppcre)
+                         ("clx" ,clx)))
+    (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 "http://github.com/stumpwm/stumpwm")
+    (license license:gpl2+)))
+
+(define-public stumpwm-sbcl
+  (package
+    (inherit stumpwm)
+    (name "stumpwm-sbcl")
+    (build-system asdf-build-system/sbcl)
+    (inputs `(("stumpwm" ,stumpwm)
+              ("cl-ppcre-sbcl" ,cl-ppcre-sbcl)
+              ("clx-sbcl" ,clx-sbcl)))
+    (propagated-inputs '())
+    (outputs '("out" "bin"))
+    (arguments
+     '(#:special-dependencies '("sb-posix")
+       #:entry-program
+       '((stumpwm:stumpwm)
+         0)
+       #:phases
+       (modify-phases %standard-phases/sbcl
+         (add-after 'generate-binary 'create-desktop-file
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (assoc-ref outputs "bin"))
+                   (xsessions "/share/xsessions"))
+               (mkdir-p (string-append bin xsessions))
+               (with-output-to-file
+                   (string-append bin xsessions
+                                  "/stumpwm.desktop")
+                 (lambda _
+                   (display
+                    "[Desktop Entry]
+Name=stumpwm
+Comment=The Stump Window Manager
+Exec=stumpwm
+TryExec=stumpwm
+Icon=
+Type=Application
+")))
+               #t))))))))
+
+(define-public stumpwm-ecl
+  (package
+    (inherit stumpwm)
+    (name "stumpwm-ecl")
+    (build-system asdf-build-system/ecl)
+    (inputs `(("stumpwm" ,stumpwm)
+              ("cl-ppcre-ecl" ,cl-ppcre-ecl)
+              ("clx-ecl" ,clx-ecl)))
+    (propagated-inputs '())
+    (outputs '("out"))))