aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/lisp-xyz.scm83
1 files changed, 29 insertions, 54 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e7b603f59d..692142e4a8 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -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))