me
/
guix
Archived
1
0
Fork 0

gnu: cl-slime-swank: Update to 2.28-0.0cc2e73.

* gnu/packages/lisp-xyz.scm (sbcl-slime-swank): Update to 2.28-0.0cc2e73.
  [arguments]: Update 'set-fasl-directory' phase.
  (cl-slime-swank)[arguments]: Remove 'revert-asd-patch' phase.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
Change-Id: I2a363582832745e88ce6815a2ff144f29dce9bbc
Andre A. Gomes 2023-10-24 10:28:43 +03:00 committed by Guillaume Le Vaillant
parent d62a613bcf
commit 8ea21f7c91
No known key found for this signature in database
GPG Key ID: 6BE8208ADF21FE3F
1 changed files with 29 additions and 54 deletions

View File

@ -3610,76 +3610,51 @@ writing code that contains string literals that contain code themselves.")
(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 "0cc2e736112a0bc2a048ef6efd11dd67e3fbf7ad")
(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 "0iq9r4007rrnabj290y79i926x2m4j20j6b0x701pkywz926sn02"))
(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 "\")")))
(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)
(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
" '(\"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)))
(package
(inherit pkg)
(arguments
(substitute-keyword-arguments (package-arguments pkg)
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'revert-asd-patch
;; We do not want to include the Guix patch in the cl- package
;; since it would include the sbcl- package in the closure.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(source-path (string-append out "/share/common-lisp/source/")))
(substitute* (string-append source-path "/cl-slime-swank/swank.asd")
((".*fasl-directory.*") ""))))))))))))
(sbcl-package->cl-source-package sbcl-slime-swank))
(define-public ecl-slime-swank
(sbcl-package->ecl-package sbcl-slime-swank))