summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorDavid Dashyan <mail@davie.li>2021-05-25 00:39:32 +0300
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2021-05-25 11:33:57 +0200
commitae88e30a0f8403e781f8b01262766cdc46b1018a (patch)
treea0829c3e1ac6ba61697912b80cfa555b758b04fd /gnu/packages
parent7c1065030d5632ee5d83086df4014b80c3b6f8c2 (diff)
downloadguix-patches-ae88e30a0f8403e781f8b01262766cdc46b1018a.tar
guix-patches-ae88e30a0f8403e781f8b01262766cdc46b1018a.tar.gz
gnu: Add emacs-geiser-racket.
* gnu/packages/emacs-xyz.scm (emacs-geiser-racket): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/emacs-xyz.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 23a52edecb..6ace04a88f 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -186,6 +186,7 @@
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
+ #:use-module (gnu packages racket)
#:use-module (gnu packages ruby)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages scheme)
@@ -357,6 +358,49 @@ using geiser.")
a generic Scheme interaction mode for the GNU Emacs editor.")
(license license:expat)))
+(define-public emacs-geiser-racket
+ (package
+ (name "emacs-geiser-racket")
+ (version "0.16")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/emacs-geiser/racket.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1aqsvmk1hi7kc3j4h8xlza7c6rwm71v98fv5wpw8kmyj9vsp49wx"))))
+ (build-system emacs-build-system)
+ (arguments
+ '(#:include (cons "^src/" %default-include)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'make-autoloads 'patch-autoloads
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* (string-append
+ (elpa-directory (assoc-ref outputs "out"))
+ "/geiser-racket-autoloads.el")
+ ;; Activating implementations fails when Geiser is not yet
+ ;; loaded, so let's defer that until it is.
+ (("\\(geiser-activate-implementation .*\\)" all)
+ (string-append
+ "(eval-after-load 'geiser-impl '" all ")"))
+ (("\\(geiser-implementation-extension .*\\)" all)
+ (string-append
+ "(eval-after-load 'geiser-impl '" all ")")))
+ #t)))))
+ (inputs
+ `(("racket" ,racket)))
+ (propagated-inputs
+ `(("geiser" ,emacs-geiser)))
+ (home-page "https://nongnu.org/geiser/")
+ (synopsis "Racket support for Geiser")
+ (description
+ "This package adds support for the Racket implementation to Geiser,
+a generic Scheme interaction mode for the GNU Emacs editor.")
+ (license license:bsd-3)))
+
(define-public emacs-vc-hgcmd
(package
(name "emacs-vc-hgcmd")