summary refs log tree commit diff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-05-15 22:55:24 +0200
committerLudovic Courtès <ludo@gnu.org>2021-05-15 22:55:24 +0200
commit25487c3fe6a41dd62f6e53f256392224a3be2a08 (patch)
tree1051a1716d962ba0a7bbbf9dc8f7b67aa2674400 /gnu/packages/guile.scm
parent4a9597e4516ec5ca58df3e007fcd5ef1d3fd2e54 (diff)
parent46eac03e720e9b21d225e2ec1c41299c09202d18 (diff)
downloadguix-25487c3fe6a41dd62f6e53f256392224a3be2a08.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm38
1 files changed, 36 insertions, 2 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 955bf2e88d..32f96747c9 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -316,8 +316,42 @@ without requiring the source code to be rewritten.")
                      "share/guile/site/3.0")))))))
 
 (define-public guile-3.0-latest
-  ;; The latest 3.0.x version.
-  guile-3.0)
+  ;; TODO: Make this 'guile-3.0' on the next rebuild cycle.
+  (package
+    (inherit guile-3.0)
+    (version "3.0.7")
+    (source (origin
+              (inherit (package-source guile-3.0)) ;preserve snippet
+              (patches '())
+              (uri (string-append "mirror://gnu/guile/guile-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm"))))
+
+    ;; Build with the bundled mini-GMP to avoid interference with GnuTLS' own
+    ;; use of GMP via Nettle: <https://issues.guix.gnu.org/46330>.  Use
+    ;; LIBGC/DISABLE-MUNMAP to work around <https://bugs.gnu.org/40525>.
+    ;; Remove libltdl, which is no longer used.
+    (propagated-inputs
+     `(("bdw-gc" ,libgc/disable-munmap)
+       ,@(srfi-1:fold srfi-1:alist-delete (package-propagated-inputs guile-3.0)
+                      '("gmp" "libltdl" "bdw-gc"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments guile-3.0)
+       ((#:configure-flags flags ''())
+        `(cons "--enable-mini-gmp" ,flags))))))
+
+(define-public guile-3.0/libgc-7
+  ;; Using libgc-7 avoid crashes that can occur, particularly when loading
+  ;; data in to the Guix Data Service:
+  ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40525
+  (hidden-package
+   (package
+     (inherit guile-3.0-latest)
+     (propagated-inputs
+      `(("bdw-gc" ,libgc-7)
+        ,@(srfi-1:alist-delete "bdw-gc" (package-propagated-inputs guile-3.0)))))))
 
 (define-public guile-3.0/fixed
   ;; A package of Guile that's rarely changed.  It is the one used in the