mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
gnu: Add emacs-slime.
* gnu/packages/emacs.scm (emacs-slime): New variable.
This commit is contained in:
parent
f163c290f1
commit
85960693e4
1 changed files with 59 additions and 0 deletions
|
@ -1338,3 +1338,62 @@ (define-public emacs-constants
|
||||||
"This package provides functions for inserting the definition of natural
|
"This package provides functions for inserting the definition of natural
|
||||||
constants and units into an Emacs buffer.")
|
constants and units into an Emacs buffer.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public emacs-slime
|
||||||
|
(package
|
||||||
|
(name "emacs-slime")
|
||||||
|
(version "2.15")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/slime/slime/archive/v"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0l2z6l2xm78mhh0nczkrmzh2ddb1n911ij9xb6q40zwvx4f8blds"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("texinfo" ,texinfo)))
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'install 'configure
|
||||||
|
(lambda* _
|
||||||
|
(emacs-substitute-variables "slime.el"
|
||||||
|
("inferior-lisp-program" "sbcl"))
|
||||||
|
#t))
|
||||||
|
(add-before 'install 'install-doc
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(info-dir (string-append out "/share/info"))
|
||||||
|
(doc-dir (string-append out "/share/doc/"
|
||||||
|
,name "-" ,version))
|
||||||
|
(doc-files '("doc/slime-refcard.pdf"
|
||||||
|
"README.md" "NEWS" "PROBLEMS"
|
||||||
|
"CONTRIBUTING.md")))
|
||||||
|
(with-directory-excursion "doc"
|
||||||
|
(substitute* "Makefile"
|
||||||
|
(("infodir=/usr/local/info")
|
||||||
|
(string-append "infodir=" info-dir)))
|
||||||
|
(system* "make" "html/index.html")
|
||||||
|
(system* "make" "slime.info")
|
||||||
|
(install-file "slime.info" info-dir)
|
||||||
|
(copy-recursively "html" (string-append doc-dir "/html")))
|
||||||
|
(for-each (lambda (f)
|
||||||
|
(install-file f doc-dir)
|
||||||
|
(delete-file f))
|
||||||
|
doc-files)
|
||||||
|
(delete-file-recursively "doc")
|
||||||
|
#t))))))
|
||||||
|
(home-page "https://github.com/slime/slime")
|
||||||
|
(synopsis "Superior Lisp Interaction Mode for Emacs")
|
||||||
|
(description
|
||||||
|
"SLIME extends Emacs with support for interactive programming in
|
||||||
|
Common Lisp. The features are centered around @{slime-mode}, an Emacs
|
||||||
|
minor mode that complements the standard @{lisp-mode}. While lisp-mode
|
||||||
|
supports editing Lisp source files, @{slime-mode} adds support for
|
||||||
|
interacting with a running Common Lisp process for compilation,
|
||||||
|
debugging, documentation lookup, and so on.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
Loading…
Reference in a new issue