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