Subject: bug#41063: emacs-guix: unrecognized keyword error

From: Michael Rohleder <[email-masked]>
Date: Fri, 31 Jul 2020 09:20:55 +0200

Ludovic Courtès <[email-masked]> writes:
>> emacs-guix/actions.scm:118:8: In procedure process-package-actions:
>> Unrecognized keyword: #:use-substitutes?
>
> This probably has to do with this API change:
>
>   https://git.savannah.gnu.org/cgit/guix.git/commit/?id=65ffb9388c1c3d870cb07e4cb3ef12c9ac06a161
>
> I see it’s already reported upstream:
>
>   https://gitlab.com/emacs-guix/emacs-guix/-/issues/18

This is fixed with the latest (gitlab) version:

From 1c58fd7f2de4623bb051e7f8472e703290663e64 Mon Sep 17 00:00:00 2001
From: Michael Rohleder <[email-masked]>
Date: Fri, 31 Jul 2020 08:33:43 +0200
Subject: [PATCH] gnu: emacs-guix: Update to latest gitlab version.

* gnu/packages/emacs-xyz.scm (emacs-guix): Update to a 0.5.2 snapshot.
fix https://issues.guix.gnu.org/41063
[source] changes to git-getch.
[snippet] removed.
[native-inputs] added tools to build.
---
 gnu/packages/emacs-xyz.scm | 73 +++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 37 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 04bb534ce7..ba16c84402 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -2566,46 +2566,45 @@ type, for example: packages, buffers, files, etc.")
     (license license:gpl3+)))
 
 (define-public emacs-guix
-  (package
-    (name "emacs-guix")
-    (version "0.5.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://emacs-guix.gitlab.io/website/"
-                                  "releases/emacs-guix-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Add support for Guile 3.0.  Remove for versions > 0.5.2.
-                  (substitute* "configure"
-                    (("\"2\\.2 2\\.0\"")
-                     "\"3.0 2.2 2.0\""))
-                  #t))))
-    (build-system gnu-build-system)
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("emacs" ,emacs-minimal)))
-    (inputs
-     `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
-       ("guix" ,guix)))
-    (propagated-inputs
-     `(("geiser" ,emacs-geiser)
-       ("guile-gcrypt" ,guile-gcrypt)
-       ("dash" ,emacs-dash)
-       ("bui" ,emacs-bui)
-       ("edit-indirect" ,emacs-edit-indirect)
-       ("magit-popup" ,emacs-magit-popup)))
-    (home-page "https://emacs-guix.gitlab.io/website/")
-    (synopsis "Emacs interface for GNU Guix")
-    (description
-     "Emacs-Guix provides a visual interface, tools and features for the GNU
+  (let ((commit "df1fc5d8885959fd2bb83a443137d21c6850dd74")
+        (revision "1"))
+    (package
+      (name "emacs-guix")
+      (version (git-version "0.5.2" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.com/emacs-guix/emacs-guix")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "14rn02ay1b8zl0pg54pkqpyzh948c4qiqlvl35627shx7zw5acqh"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("pkg-config" ,pkg-config)
+         ("texinfo" ,texinfo)
+         ("emacs" ,emacs-minimal)))
+      (inputs
+       `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
+         ("guix" ,guix)))
+      (propagated-inputs
+       `(("geiser" ,emacs-geiser)
+         ("guile-gcrypt" ,guile-gcrypt)
+         ("dash" ,emacs-dash)
+         ("bui" ,emacs-bui)
+         ("edit-indirect" ,emacs-edit-indirect)
+         ("magit-popup" ,emacs-magit-popup)))
+      (home-page "https://emacs-guix.gitlab.io/website/")
+      (synopsis "Emacs interface for GNU Guix")
+      (description
+       "Emacs-Guix provides a visual interface, tools and features for the GNU
 Guix package manager.  Particularly, it allows you to do various package
 management tasks from Emacs.  To begin with, run @code{M-x guix-about} or
 @code{M-x guix-help} command.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public emacs-build-farm
   (package
-- 
2.28.0