summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index f8e9eed5b9..d0837606f3 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1041,3 +1041,34 @@ history.")
(((names . paths) ...)
(union-build (assoc-ref %outputs "out")
paths))))))))
+
+(define-public sbcl-stumpwm+slynk
+ (package
+ (inherit sbcl-stumpwm)
+ (name "sbcl-stumpwm-with-slynk")
+ (outputs '("out"))
+ (native-inputs
+ `(("stumpwm" ,sbcl-stumpwm)
+ ("slynk" ,sbcl-slynk)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-stumpwm)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'build-program
+ (lambda* (#:key lisp inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (program (string-append out "/bin/stumpwm")))
+ (build-program lisp program
+ #:inputs inputs
+ #:entry-program '((stumpwm:stumpwm) 0)
+ #:dependencies '("stumpwm"
+ ,@slynk-systems))
+ ;; Remove unneeded file.
+ (delete-file (string-append out "/bin/stumpwm-exec.fasl"))
+ #t)))
+ (delete 'copy-source)
+ (delete 'build)
+ (delete 'check)
+ (delete 'link-dependencies)
+ (delete 'cleanup)
+ (delete 'create-symlinks)))))))