summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-11-23 16:10:47 +0100
committerLudovic Courtès <ludo@gnu.org>2019-11-23 22:45:21 +0100
commit01c11aeb9516819cec3053a5abbd839b9205b60c (patch)
treee033db6d80a181479bb1607f6ae285aeda42cc32 /gnu
parent60353203ed9322326590cec30ff8ca870f694288 (diff)
downloadguix-01c11aeb9516819cec3053a5abbd839b9205b60c.tar.gz
gnu: guile-git: Add "guile3.0-git" variant.
* gnu/packages/guile.scm (guile-git)[source](modules, snippet): New
fields.
* gnu/packages/guile.scm (guile3.0-git): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/guile.scm19
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c7a79f2b8a..2063086575 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -604,7 +604,21 @@ type system, elevating types to first-class status.")
               (sha256
                (base32
                 "018hmfsh0rjwfvr4h7y10jc6k8a2k9xsirngghy3pjasin4nd2yz"))
-              (file-name (git-file-name name version))))
+              (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Allow builds with Guile 3.0.
+                  (substitute* "configure.ac"
+                    (("^GUILE_PKG.*")
+                     "GUILE_PKG([3.0 2.2 2.0])\n"))
+
+                  ;; The 'guile.m4' that's shipped is too old and fails to
+                  ;; recognize Guile 2.9/3.0.  Delete it and pick the one
+                  ;; provided by the Guile we're using.
+                  (delete-file "m4/guile.m4")
+
+                  #t))))
     (build-system gnu-build-system)
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -622,6 +636,9 @@ type system, elevating types to first-class status.")
 manipulate repositories of the Git version control system.")
     (license license:gpl3+)))
 
+(define-public guile3.0-git
+  (package-for-guile-3.0 guile-git))
+
 (define-public guile2.0-git
   (let ((base (package-for-guile-2.0 guile-git)))
     (package