gnu: Add emacs-slime.

* gnu/packages/emacs.scm (emacs-slime): New variable.
This commit is contained in:
Federico Beffa 2015-12-30 00:47:29 +01:00
parent f163c290f1
commit 85960693e4

View file

@ -1338,3 +1338,62 @@ (define-public emacs-constants
"This package provides functions for inserting the definition of natural
constants and units into an Emacs buffer.")
(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+)))