[bug#33311] gnu: Drop non-sbcl lisp support from Stumpwm 2018.05.

Message ID cubzhtw95k6.fsf@gmx.com
State Accepted
Headers show
Series [bug#33311] gnu: Drop non-sbcl lisp support from Stumpwm 2018.05. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Pierre Langlois Nov. 25, 2018, 10:05 p.m. UTC
Hello Guix!

Pierre Langlois writes:

> Hello Guix!
>
> I'm in the process of switching back to StumpWM as my main window
> manager, and when taking a look at the package, I realised we still
> supported non-sbcl builds while upstream dropped them after version
> 1.0.0 [0].  So since StumpWM now only supports sbcl, I thought we should
> just rename it to "stumpwm" instead of "sbcl-stumpwm", as that's
> redundant.  And then we can keep the ecl-stumpwm variant, but downgraded
> to 1.0.0
>
> WDYT?
>
> Thanks,
> Pierre
>
> [0]: http://lists.nongnu.org/archive/html/stumpwm-devel/2017-01/msg00007.html

Ping! Does anyone have any thoughts about renaming "sbcl-stumpwm" to
just "stumpwm" now that sbcl is required?

BTW, attached is a new version of the patch that resolves a conflict on
the copyright header.

Thanks,
Pierre

Patch

From 2f103b44c720e40703d1cd07429ea0df1060c1a3 Mon Sep 17 00:00:00 2001
From: Pierre Langlois <pierre.langlois@gmx.com>
Date: Thu, 8 Nov 2018 09:51:05 +0000
Subject: [PATCH v2] gnu: Drop non-sbcl lisp support from Stumpwm 2018.05.

StumpWM version 1.0.0 was the last version to support lisps other than
sbcl.  This renames the current version of Stumpwm to simply "stumpwm" instead
of "sbcl-stumpwm" since it's redundant.  However, we can keep version 1.0.0
around if somebody wants a version with ecl.

* gnu/packages/lisp.scm (sbcl-stumpwm): Rename to ...
(stumpwm): ... this.
[name]: Rename to "stumpwm".
[arguments]: Set #:asd-system-name to "stumpwm".
[properties]: Replace ecl-variant with cl-source-variant.
(cl-stumpwm): Inherit from stumpwm but override the name.
(ecl-stumpwm): Remove.
(ecl-stumpwm-1.0.0): New variable.
(sbcl-stumpwm+slynk): Rename to ...
(stumpwm+slynk): ... this.
[name]: Rename to "stumpwm-with-slynk".
[inherit]: Replace sbcl-stumpwm with stumpwm.
[inputs]: Ditto.
[arguments]: Ditto.
---
 gnu/packages/lisp.scm | 49 +++++++++++++++++++++++++++++--------------
 1 file changed, 33 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 87ba39b986..7dbfbbdb4b 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -11,6 +11,7 @@ 
 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -920,9 +921,9 @@  from other CLXes around the net.")
      `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
        ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
 
-(define-public sbcl-stumpwm
+(define-public stumpwm
   (package
-    (name "sbcl-stumpwm")
+    (name "stumpwm")
     (version "18.05")
     (source (origin
               (method url-fetch)
@@ -938,7 +939,8 @@  from other CLXes around the net.")
               ("alexandria" ,sbcl-alexandria)))
     (outputs '("out" "lib"))
     (arguments
-     '(#:phases
+     '(#:asd-system-name "stumpwm"
+       #:phases
        (modify-phases %standard-phases
          (add-after 'create-symlinks 'build-program
            (lambda* (#:key outputs #:allow-other-keys)
@@ -971,17 +973,32 @@  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 `((ecl-variant . ,(delay ecl-stumpwm))))))
+    (properties `((cl-source-variant . ,(delay cl-stumpwm))))))
 
 (define-public cl-stumpwm
-  (sbcl-package->cl-source-package sbcl-stumpwm))
+  (package
+    (inherit (sbcl-package->cl-source-package stumpwm))
+    (name "cl-stumpwm")))
 
-(define-public ecl-stumpwm
-  (let ((base (sbcl-package->ecl-package sbcl-stumpwm)))
-    (package
-      (inherit base)
-      (outputs '("out"))
-      (arguments '()))))
+;; The last StumpWM release to support multiple lisps was 1.0.0.
+(define-public ecl-stumpwm-1.0.0
+  (package
+    (inherit stumpwm)
+    (name "ecl-stumpwm")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/stumpwm/stumpwm/archive/"
+                    version ".tar.gz"))
+              (sha256
+               (base32 "1maxp98gh64az3d9vz9br6zdd6rc9fmj2imvax4by85g6kxvdz1i"))
+              (file-name (string-append "stumpwm-" version ".tar.gz"))))
+    (build-system asdf-build-system/ecl)
+    (inputs `(("cl-ppcre" ,ecl-cl-ppcre)
+              ("clx" ,ecl-clx)))
+    (arguments '())
+    (outputs '("out"))))
 
 ;; The slynk that users expect to install includes all of slynk's contrib
 ;; modules.  Therefore, we build the base module and all contribs first; then
@@ -1260,16 +1277,16 @@  multiple inspectors with independent history.")
                          paths)
             #t)))))))
 
-(define-public sbcl-stumpwm+slynk
+(define-public stumpwm+slynk
   (package
-    (inherit sbcl-stumpwm)
-    (name "sbcl-stumpwm-with-slynk")
+    (inherit stumpwm)
+    (name "stumpwm-with-slynk")
     (outputs '("out"))
     (inputs
-     `(("stumpwm" ,sbcl-stumpwm "lib")
+     `(("stumpwm" ,stumpwm "lib")
        ("slynk" ,sbcl-slynk)))
     (arguments
-     (substitute-keyword-arguments (package-arguments sbcl-stumpwm)
+     (substitute-keyword-arguments (package-arguments stumpwm)
        ((#:phases phases)
         `(modify-phases ,phases
            (replace 'build-program
-- 
2.19.2