mirror of
https://gitlab.com/nonguix/nonguix.git
synced 2024-12-23 15:24:52 +01:00
nongnu: Add emacs-eli.
* nongnu/packages/emacs.scm (emacs-eli): New variable.
This commit is contained in:
parent
f8956ea03e
commit
ff272ef6c8
1 changed files with 62 additions and 1 deletions
|
@ -20,8 +20,11 @@
|
|||
(define-module (nongnu packages emacs)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix download)
|
||||
#:use-module (nonguix licenses))
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (nonguix licenses)
|
||||
#:use-module (nongnu packages lisp))
|
||||
|
||||
(define-public clhs
|
||||
(package
|
||||
|
@ -70,3 +73,61 @@ browsing. An Emacs package is provided for easy access. Load it with:
|
|||
@end lisp
|
||||
")
|
||||
(license (nonfree "http://quickdocs.org/clhs/"))))
|
||||
|
||||
(define-public emacs-eli
|
||||
;; 10.1 HEAD has a fix for Emacs 28.1, as opposed to the latest "express" tag.
|
||||
(let ((commit "8f9a8b9eb1aa518774c54d51e4f38ba534356415"))
|
||||
(package
|
||||
(name "emacs-eli")
|
||||
(version (git-version "acl10.1express_Feb2022update2022-02-11" "1" commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/franzinc/eli/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "emacs-eli" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0w1hdkr9x3byf1l6dbcbnd4x8110wvps3527ivyj1bmdk1hyqnzb"))))
|
||||
;; The `emacs-build-system' fails here, probably because ELI is meant to
|
||||
;; be load with (load "fi-site-init.el") and not with `require'. See
|
||||
;; https://franz.com/emacs/.
|
||||
(build-system copy-build-system)
|
||||
(inputs (list allegro-cl))
|
||||
(arguments
|
||||
`(#:install-plan
|
||||
`(("." ,,(string-append "share/emacs/site-lisp/eli-" version)
|
||||
;; Remove useless Windows or build files.
|
||||
#:exclude ("emacsdir.pl" "nsis" "Makefile" "local.mak")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((allegro-cl (assoc-ref inputs "allegro-cl")))
|
||||
;; FIXME: Can't get `emacs-substitute-variables' to work here, why?
|
||||
(substitute* "fi-vars.el"
|
||||
(("defvar fi:common-lisp-image-name \"alisp\"")
|
||||
(string-append "defvar fi:common-lisp-image-name \""
|
||||
allegro-cl "/bin/alisp\""))
|
||||
(("defvar fi:common-lisp-image-file nil")
|
||||
(string-append "defvar fi:common-lisp-image-file \""
|
||||
allegro-cl "/share/allegro-cl/alisp.dxl\""))
|
||||
(("defvar fi:common-lisp-directory nil")
|
||||
(string-append "defvar fi:common-lisp-directory \""
|
||||
allegro-cl "/share/allegro-cl\"")))))))))
|
||||
(home-page "https://franz.com/emacs/")
|
||||
(synopsis "Allegro Common Lisp Emacs interface")
|
||||
(description
|
||||
"An integral part of the Allegro CL programming environment is the interface
|
||||
between Emacs and Allegro CL, hereafter referred to as the Emacs-Lisp
|
||||
interface. This interface allows the editing and running of Common Lisp
|
||||
programs, and contains enhancements that allow a tight coupling between Emacs
|
||||
and Lisp, very similar to those which used to be available only on Lisp
|
||||
machines.
|
||||
|
||||
To load it, call @code{(load \"fi-site-init.el\")} from Emacs.
|
||||
Then you can start Allegro CL by entering @code{M-x fi:common-lisp}.")
|
||||
;; While this may be a free license, this Emacs package is only useful
|
||||
;; with the non-free Allegro CL.
|
||||
(license (nonfree "https://raw.githubusercontent.com/franzinc/eli/acl10.1express_Feb2022update2022-02-11/LICENSE")))))
|
||||
|
|
Loading…
Reference in a new issue