diff mbox series

[bug#66143] : Update emacs-slime and sbcl-slime-swank to 2.28-0.1e4b741

Message ID 87fs375jy2.fsf@gmail.com
State New
Headers show
Series [bug#66143] : Update emacs-slime and sbcl-slime-swank to 2.28-0.1e4b741 | expand

Commit Message

André A. Gomes Sept. 21, 2023, 8:51 p.m. UTC
Hi Guix,

Please find the patch attached.  Thanks!

Comments

Christopher Baines Sept. 25, 2023, 10:01 a.m. UTC | #1
André A. Gomes <andremegafone@gmail.com> writes:

> Hi Guix,
>
> Please find the patch attached.  Thanks!

It seems like you've attached two patches? It's useful to just send one
patch per email, as lots of tooling expects that.

Looking at the first patch though, packaging anything but the latest
release shouldn't be the norm [1].

1: https://guix.gnu.org/manual/en/guix.html#index-version-number_002c-for-VCS-snapshots

You need to put the reasoning for updating these packages to these
specific commits in to some comments. Depending on that justification as
well, we need to decide whether to ship these versions in addition to
the latest releases, or as you're doing currently to replace the latest
releases with these snapshots.

What approach to take depends on the justification, e.g. if the latest
release is unusable or using it could be problematic, then replacing it
with a snapshot seems better, otherwise, we should create package
variants (e.g. emacs-slime-next) for these snapshots.

Does that make sense?

Thanks,

Chris
André A. Gomes Sept. 26, 2023, 9:16 a.m. UTC | #2
Christopher Baines <mail@cbaines.net> writes:

> It seems like you've attached two patches? It's useful to just send one
> patch per email, as lots of tooling expects that.

I'm more used to sending patches as email attachments, instead of using
git-send-email.  If Guix requires the latter then I'll adjust, but I've
been sending plenty of patches following the former approach.

> Looking at the first patch though, packaging anything but the latest
> release shouldn't be the norm [1].
>
> 1: https://guix.gnu.org/manual/en/guix.html#index-version-number_002c-for-VCS-snapshots
>
> You need to put the reasoning for updating these packages to these
> specific commits in to some comments. Depending on that justification as
> well, we need to decide whether to ship these versions in addition to
> the latest releases, or as you're doing currently to replace the latest
> releases with these snapshots.
>
> What approach to take depends on the justification, e.g. if the latest
> release is unusable or using it could be problematic, then replacing it
> with a snapshot seems better, otherwise, we should create package
> variants (e.g. emacs-slime-next) for these snapshots.

It makes no sense to have emacs-slime-next and cl-slime-swank-next.
I've bumped it because significant changes have been introduced since
the last tagged released.

In the meantime, I've kindly request a tagged release upstream.  Whether
I'll get a reply soon remains to be seen.

https://github.com/slime/slime/issues/792

With all respect to your work, Christopher Baines, I'd kindly suggest a
review by the Common Lisp team - Guillaume Le Vaillant, who has been
reviewing most of my patches lately.

Thanks!
André A. Gomes Sept. 28, 2023, 10:19 a.m. UTC | #3
André A. Gomes <andremegafone@gmail.com> writes:

> It makes no sense to have emacs-slime-next and cl-slime-swank-next.
> I've bumped it because significant changes have been introduced since
> the last tagged released.
>
> In the meantime, I've kindly request a tagged release upstream.  Whether
> I'll get a reply soon remains to be seen.
>
> https://github.com/slime/slime/issues/792

Still no reply to my request to tag a new release.  These projects are
run by volunteers and releases are rare.

Recently Ludovic merged a similar patch in spirit (relative to SLY,
instead of Slime), see https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66100.

I'd kindly ask to take another look at the patch.  I'm adding Ludo and
Guillaume in CC.  Thanks!

As a sidenote, I'm considering requesting commit access to Guix to help
the team that handles Common Lisp and WebKitGTK.  I am part of the Nyxt
team - https://github.com/atlas-engineer/nyxt.
André A. Gomes Oct. 20, 2023, 7:46 p.m. UTC | #4
André A. Gomes <andremegafone@gmail.com> writes:

> André A. Gomes <andremegafone@gmail.com> writes:
>
>> It makes no sense to have emacs-slime-next and cl-slime-swank-next.
>> I've bumped it because significant changes have been introduced since
>> the last tagged released.
>>
>> In the meantime, I've kindly request a tagged release upstream.  Whether
>> I'll get a reply soon remains to be seen.
>>
>> https://github.com/slime/slime/issues/792

The author ignored my kind request release.

I still think that it is not necessary to maintain both emacs-slime-next
and emacs-slime, but please help me to get this patch through.  Thanks.
Guillaume Le Vaillant Oct. 22, 2023, 11:51 a.m. UTC | #5
Hi.
Concerning patch 2 for sbcl-slime-swank, the first 'substitute*' form
of the 'set-fasl-directory' phase looks obsolete because of changes in
"swank.asd".
If the fasl files are now put in the right place even without it, and if
slime and swank still work fine, could you send an updated patch?
Thanks.
diff mbox series

Patch

From 00613aca02a1c84e773a723d42bb57351c1fec33 Mon Sep 17 00:00:00 2001
From: "Andre A. Gomes" <andremegafone@gmail.com>
Date: Thu, 21 Sep 2023 23:48:27 +0300
Subject: [PATCH 2/2] gnu: sbcl-slime-swank: Update to 2.28-0.1e4b741.

* gnu/packages/lisp-xyz.scm (sbcl-slime-swank): Update to 2.28-0.1e4b741.
---
 gnu/packages/lisp-xyz.scm | 92 ++++++++++++++++++++-------------------
 1 file changed, 47 insertions(+), 45 deletions(-)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 752b777ed2..dc9abd7d31 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -3521,59 +3521,61 @@  (define-public ecl-pythonic-string-reader
   (sbcl-package->ecl-package sbcl-pythonic-string-reader))
 
 (define-public sbcl-slime-swank
-  (package
-    (name "sbcl-slime-swank")
-    (version "2.28")
-    (source
-     (origin
-       (file-name (git-file-name "cl-slime-swank" version))
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/slime/slime/")
-             (commit (string-append "v" version))))
-       (sha256
-        (base32 "1acmm4w1mv1qzpnkgc4wyiilbx8l0dk16sx8wv815ri5ks289rll"))
-       (modules '((guix build utils)))
+  (let ((commit "1e4b7417a1ade842ba4938f66445af68a93176b9")
+        (revision "0"))
+    (package
+      (name "sbcl-slime-swank")
+      (version (git-version "2.28" revision commit))
+      (source
+       (origin
+         (file-name (git-file-name "cl-slime-swank" version))
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/slime/slime/")
+               (commit commit)))
+         (sha256
+          (base32 "17fs4wjplcxwbgsqzawwnw45xw6rdyyqk3f7dqck7pfazpzziizp"))
+         (modules '((guix build utils)))
          (snippet
           ;; The doc folder drags `gawk' into the closure.  Doc is already
           ;; provided by emacs-slime.
           `(begin
              (delete-file-recursively "doc")
              #t))))
-    (build-system asdf-build-system/sbcl)
-    (arguments
-     '(#:asd-systems '("swank")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-fasl-directory
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (lib-dir (string-append out "/lib/common-lisp/"
-                                            (%lisp-type)
-                                            "/slime-swank/")))
-               ;; Use the ASDF registry instead of Swank's default that places
-               ;; the .fasl files in ~/.slime.
-               (substitute* "swank.asd"
-                 (("\\(load \\(asdf::component-pathname f\\)\\)" all)
-                  (string-append
-                   all "\n"
-                   "(setf (symbol-value"
-                   "(read-from-string \"swank-loader::*fasl-directory*\"))"
-                   "\"" lib-dir "\")")))
-               (substitute* "swank-loader.lisp"
-                 (("\\(probe-file fasl\\)" all)
-                  ;; Do not try to delete Guix store files.
-                  (string-append
-                   all "\n"
-                   " (not (equal (subseq (pathname-directory fasl) 1 3)"
-                   " '(\"gnu\" \"store\"))) ; XXX: GUIX PATCH")))))))))
-    (home-page "https://github.com/slime/slime")
-    (synopsis "Common Lisp Swank server")
-    (description
-     "This is only useful if you want to start a Swank server in a Lisp
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:asd-systems '("swank" "swank/exts")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'set-fasl-directory
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (lib-dir (string-append out "/lib/common-lisp/"
+                                              (%lisp-type)
+                                              "/slime-swank/")))
+                 ;; Use the ASDF registry instead of Swank's default that places
+                 ;; the .fasl files in ~/.slime.
+                 (substitute* "swank.asd"
+                   (("\\(load \\(asdf::component-pathname f\\)\\)" all)
+                    (string-append
+                     all "\n"
+                     "(setf (symbol-value"
+                     "(read-from-string \"swank-loader::*fasl-directory*\"))"
+                     "\"" lib-dir "\")")))
+                 (substitute* "swank-loader.lisp"
+                   (("\\(probe-file fasl\\)" all)
+                    ;; Do not try to delete Guix store files.
+                    (string-append
+                     all "\n"
+                     " (not (equal (subseq (pathname-directory fasl) 1 3)"
+                     " '(\"gnu\" \"store\"))) ; XXX: GUIX PATCH")))))))))
+      (home-page "https://github.com/slime/slime")
+      (synopsis "Common Lisp Swank server")
+      (description
+       "This is only useful if you want to start a Swank server in a Lisp
 processes that doesn't run under Emacs.  Lisp processes created by
 @command{M-x slime} automatically start the server.")
-    (license (list license:gpl2+ license:public-domain))))
+      (license (list license:gpl2+ license:public-domain)))))
 
 (define-public cl-slime-swank
   (let ((pkg (sbcl-package->cl-source-package sbcl-slime-swank)))
-- 
2.41.0