summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-09-24 13:59:35 +0200
committerLudovic Courtès <ludo@gnu.org>2018-09-25 18:45:50 +0200
commit35f903778a658f9778e945acb8b26d47ca240163 (patch)
treea717fec803a2751b3e02ae57d24413dab8acb446
parent38e1095d8294e824444c8669765da2358c9b13bd (diff)
downloadguix-35f903778a658f9778e945acb8b26d47ca240163.tar.gz
gnu: Add guile-next.
* gnu/packages/guile.scm (guile-next): Rewrite to refer to Guile 3.0.
-rw-r--r--gnu/packages/guile.scm40
1 files changed, 39 insertions, 1 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c66183b9db..6d8ab71c78 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -317,7 +317,45 @@ without requiring the source code to be rewritten.")
                 "07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
 
 (define-public guile-next
-  (deprecated-package "guile-next" guile-2.2))
+  ;; This is the upcoming Guile 3.0, with JIT support.
+  (let ((commit "a74b4a45fab1a78e34954bce5f031e8a9765f827")
+        (revision "0"))
+    (package
+      (inherit guile-2.2)
+      (name "guile-next")
+      (version (git-version "2.99" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.savannah.gnu.org/git/guile.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "0kq6mabv7j4gdlwmpz3iaddv98sc7awkl2358sg8j50sg10yw8nx"))
+                (file-name (git-file-name name version))))
+      (native-inputs
+       `(("autoconf", autoconf)
+         ("automake" ,automake)
+         ("libtool" ,libtool)
+         ("gettext" ,gnu-gettext)
+         ("texinfo" ,texinfo)
+         ("flex" ,flex)
+         ,@(package-native-inputs guile-2.2)))
+      (arguments
+       (substitute-keyword-arguments (package-arguments guile-2.2)
+         ((#:phases phases '%standard-phases)
+          ;; XXX: The default 'bootstrap' phase tries to execute the
+          ;; ./bootstrap directory.
+          `(modify-phases ,phases
+             (replace 'bootstrap
+               (lambda _
+                 (patch-shebang "build-aux/git-version-gen")
+                 (invoke "autoreconf" "-vfi")))
+             (add-before 'check 'skip-version-test
+               (lambda _
+                 ;; Remove this test that's bound to fail.
+                 (delete-file "test-suite/tests/version.test")
+                 #t)))))))))
 
 (define (make-guile-readline guile)
   (package