diff options
author | Federico Beffa <beffa@fbengineering.ch> | 2015-12-30 00:47:29 +0100 |
---|---|---|
committer | Federico Beffa <beffa@fbengineering.ch> | 2016-02-03 10:48:36 +0100 |
commit | 85960693e4eec79a3cae1db4dc5ff47a1d2703e6 (patch) | |
tree | ab10574ca358e65db6772b810c12f76dc9c4afa7 /gnu/packages/emacs.scm | |
parent | f163c290f1aa2925d0c7fdbc94f82625092bb330 (diff) | |
download | guix-85960693e4eec79a3cae1db4dc5ff47a1d2703e6.tar guix-85960693e4eec79a3cae1db4dc5ff47a1d2703e6.tar.gz |
gnu: Add emacs-slime.
* gnu/packages/emacs.scm (emacs-slime): New variable.
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r-- | gnu/packages/emacs.scm | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 50419c0537..68f4e0ab22 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1338,3 +1338,62 @@ identifiers in the MIT-Scheme documentation.") "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+))) |