Subject: [bug#47626] [PATCH 1/5] gnu: emacs-geiser: Update to 0.13.

From: [email-masked]
Date: Tue, 6 Apr 2021 17:33:09 -0400

From: Morgan Smith <[email-masked]>

* gnu/packages/emacs-xyz.scm (emacs-geiser): Update to 0.13.
[source]: Change upstream URL
[build-system]: Change to emacs-build-system
[arguments]: Change phases completely
[native-inputs]: Remove emacs, autoconf, and automake
[description]: State that other packages are needed for geiser to be useful
---
 gnu/packages/emacs-xyz.scm | 51 +++++++++++++++++++-------------------
 1 file changed, 26 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8e80ccbb56..1756f0cdec 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -217,43 +217,44 @@ (define-module (gnu packages emacs-xyz)
 (define-public emacs-geiser
   (package
     (name "emacs-geiser")
-    (version "0.12")
+    (version "0.13")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://gitlab.com/jaor/geiser/")
+             (url "https://gitlab.com/emacs-geiser/geiser.git")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0n718xpys7v94zaf9lpmsx97qgn6qxif1acr718wyvpmfr4hiv08"))))
-    (build-system gnu-build-system)
+        (base32 "0bwjcfmcyv6z0i5ivqirgcibxdkrlf5vyxcbj7k8dk7flwg1fpd9"))))
+    (build-system emacs-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         (add-after 'install 'post-install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (symlink "geiser-install.el"
-                      (string-append (assoc-ref outputs "out")
-                                     "/share/emacs/site-lisp/"
-                                     "geiser-autoloads.el"))
-             #t)))))
-    (inputs
-     `(("guile" ,guile-2.2)))
+         ;; Move the source files to the top level, which is included in
+         ;; the EMACSLOADPATH.
+         (add-after 'unpack 'move-source-files
+           (lambda _
+             (let ((el-files (find-files "./elisp" ".*\\.el$")))
+               (for-each (lambda (f)
+                           (rename-file f (basename f)))
+                         el-files))
+             #t))
+         (add-before 'install 'make-info
+           (lambda _
+             (with-directory-excursion "doc"
+               (invoke "makeinfo" "--no-split"
+                       "-o" "geiser.info" "geiser.texi")))))))
     (native-inputs
-     `(("emacs" ,emacs-minimal)
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("texinfo" ,texinfo)))
+     `(("texinfo" ,texinfo)))
     (home-page "https://nongnu.org/geiser/")
-    (synopsis "Collection of Emacs modes for Guile and Racket hacking")
-    (description
-     "Geiser is a collection of Emacs major and minor modes that conspire with
-one or more Scheme implementations to keep the Lisp Machine Spirit alive.  The
-continuously running Scheme interpreter takes the center of the stage in
-Geiser.  A bundle of Elisp shims orchestrates the dialog between the Scheme
-implementation, Emacs and, ultimately, the schemer, giving them access to live
-metadata.")
+    (synopsis "Collection of Emacs modes for Scheme hacking")
+    (description
+     "Geiser is a generic Scheme interaction mode that requires extra Scheme
+specific packages to be useful.  The continuously running Scheme interpreter
+takes the center of the stage in Geiser.  A bundle of Elisp shims orchestrates
+the dialog between the Scheme implementation, Emacs and, ultimately, the
+schemer, giving them access to live metadata.")
     (license license:bsd-3)))
 
 (define-public emacs-ac-geiser
-- 
2.31.1