gnu: Add emacs-geiser-guile.

* gnu/packages/patches/emacs-geiser-guile-auto-activate.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/emacs-xyz.scm (emacs-geiser-guile): New variable.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
This commit is contained in:
Morgan Smith 2021-04-17 19:06:39 +02:00 committed by Leo Prikler
parent c1a78a1081
commit 7141b010ee
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
3 changed files with 77 additions and 0 deletions

View file

@ -970,6 +970,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-geiser-guile-auto-activate.patch \
%D%/packages/patches/emacs-geiser-autoload-activate-implementation.patch \
%D%/packages/patches/emacs-ignore-empty-xim-styles.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \

View file

@ -266,6 +266,48 @@ (define-public emacs-geiser
e.g. emacs-geiser-guile for Guile.")
(license license:bsd-3)))
(define-public emacs-geiser-guile
(package
(name "emacs-geiser-guile")
(version "0.13")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/emacs-geiser/guile.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0w264pjwlxna31260ll6gd0n77jlynhzf3h2dws5wr7jflns5mbc"))
(patches (search-patches
"emacs-geiser-guile-auto-activate.patch"))))
(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-guile-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 ")")))
#t)))))
(inputs
`(("guile" ,guile-2.2)))
(propagated-inputs
`(("geiser" ,emacs-geiser)))
(home-page "https://nongnu.org/geiser/")
(synopsis "Guile Scheme support for Geiser")
(description
"This package adds support for the Guile Scheme implementation to Geiser,
a generic Scheme interaction mode for the GNU Emacs editor.")
(license license:bsd-3)))
(define-public emacs-ac-geiser
(let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
(revision "0"))

View file

@ -0,0 +1,34 @@
From 93ef7101fdfcc7eac6f465b4b9788c384a323c14 Mon Sep 17 00:00:00 2001
From: jao <jao@gnu.org>
Date: Mon, 5 Apr 2021 20:17:50 +0100
Subject: [PATCH] fix: auto-activate guile implementation
---
geiser-guile.el | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/geiser-guile.el b/geiser-guile.el
index 340442b..deeb76f 100644
--- a/geiser-guile.el
+++ b/geiser-guile.el
@@ -25,6 +25,7 @@
(require 'geiser-syntax)
(require 'geiser-custom)
(require 'geiser-repl)
+(require 'geiser-impl)
(require 'geiser-base)
(require 'geiser-eval)
(require 'geiser-edit)
@@ -474,6 +475,9 @@ it spawn a server thread."
(geiser-impl--add-to-alist 'regexp "\\.scm$" 'guile t)
+;;;###autoload
+(geiser-activate-implementation 'guile)
+
;;;###autoload
(autoload 'run-guile "geiser-guile" "Start a Geiser Guile REPL." t)
--
GitLab