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

Message ID cubsh0b6g6g.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
cbaines/applying patch success Successfully applied

Commit Message

Pierre Langlois Nov. 8, 2018, 10:01 a.m. UTC
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

Comments

Pierre Neidhardt Nov. 26, 2018, 1:37 p.m. UTC | #1
(Sending a second time, looks like my first mail did not go through.)

I agree with your suggestion, and your patch looks good to me.

I haven't tested as I don't use StumpWM.
Could any other StumpWM user try this out?
Oleg Pykhalov Nov. 28, 2018, 4:25 p.m. UTC | #2
Hello Pierre,

Apologies for not getting attention to this patch for a long time.  Also
thank you for working on StumpWM package!  I've succeeded to build and
run it. Please, take a look onto my notes about your patch below.

Pierre Langlois <pierre.langlois@gmx.com> writes:

> 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

[…]

> [0]: http://lists.nongnu.org/archive/html/stumpwm-devel/2017-01/msg00007.html

Is there a reason to preserve an unmaintained ECL variant of StumpWM? My
guess is StumpWM users will stick to SBCL upstream version. Also
according to ‘M-x build-farm b =j ecl-stumpwm-18.05.x86_64-linux’
package is failed to build for a long time.  WDYT?

Please, add the following for Guix users with sbcl-stumpwm installed:
--8<---------------cut here---------------start------------->8---
(define-public sbcl-stumpwm
  (deprecated-package "sbcl-stumpwm" stumpwm))
--8<---------------cut here---------------end--------------->8---

[…]

>>From 8180d03797ebd0c26adfc27276cc0682a04a0f8f 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] 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 ...

I think “Rename to stumpwm” and delete line “(stumpwm): ... this.” is
better, but no strict opinion on that.

> (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.

Same.

> [name]: Rename to "stumpwm-with-slynk".
> [inherit]: Replace sbcl-stumpwm with stumpwm.
> [inputs]: Ditto.
> [arguments]: Ditto.

Rather “[inherit, inputs, arguments]: Replace sbcl-stumpwm with
stumpwm.”.

[…]

Thanks,
Oleg.
Pierre Langlois Nov. 28, 2018, 5:01 p.m. UTC | #3
Hi Oleg,

Oleg Pykhalov writes:

> Hello Pierre,
>
> Apologies for not getting attention to this patch for a long time.  Also
> thank you for working on StumpWM package!  I've succeeded to build and
> run it. Please, take a look onto my notes about your patch below.

Oh that's no problem at all, there's no rush :-). Thanks for taking a
look!

>
> Pierre Langlois <pierre.langlois@gmx.com> writes:
>
>> 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
>
> […]
>
>> [0]: http://lists.nongnu.org/archive/html/stumpwm-devel/2017-01/msg00007.html
>
> Is there a reason to preserve an unmaintained ECL variant of StumpWM? My
> guess is StumpWM users will stick to SBCL upstream version. Also
> according to ‘M-x build-farm b =j ecl-stumpwm-18.05.x86_64-linux’
> package is failed to build for a long time.  WDYT?

The only reason I kept it around is I assumed some people cared since it
was there to begin with, I'm happy to remove it.  What about the pure CL
source version, should I remove that one too? I guess it doesn't hurt to
keep it.

By the way, I need to take a look at the emacs build-farm package, I
hadn't realised you could do that, that's pretty cool!

I'll update the patch.

Thanks,
Pierre

Patch

From 8180d03797ebd0c26adfc27276cc0682a04a0f8f 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] 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 9fb25a15a2..b8cfa9c7ed 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -9,6 +9,7 @@ 
 ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
+;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -952,9 +953,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)
@@ -970,7 +971,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)
@@ -1003,17 +1005,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
@@ -1292,16 +1309,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.1