aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-04-17 18:16:19 +0100
committerChristopher Baines <mail@cbaines.net>2020-04-18 15:49:44 +0100
commitcef392f3936922b7b0b74bd59be67e660c10db67 (patch)
tree5adf8a89107bf7e6d867d35802d82a2e7b167c9e
parent45fd28f76405df30070f161fe79365363d7103b3 (diff)
downloadguix-fix-guile-with-libgc-7-on-core-updates.tar
guix-fix-guile-with-libgc-7-on-core-updates.tar.gz
guix: self: Use guile with libgc-7.fix-guile-with-libgc-7-on-core-updates
Rather than libgc version 8. This should avoid crashes that can occur, particularly when loading data in to the Guix Data Service [1]. 1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40525 * gnu/packages/guile.scm (guile-3.0/libgc-7): New variable. * guix/self.scm (specification->package): Use guile-3.0/libgc-7 for guile.
-rw-r--r--gnu/packages/guile.scm11
-rw-r--r--guix/self.scm2
2 files changed, 12 insertions, 1 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 8ccbc22f26..a262553ba1 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -309,6 +309,17 @@ without requiring the source code to be rewritten.")
(define-public guile-next guile-3.0)
+(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)
+ (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
;; `base' module, and thus changing it entails a full rebuild.
diff --git a/guix/self.scm b/guix/self.scm
index 842161400e..905f931aeb 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -48,7 +48,7 @@
(let ((ref (lambda (module variable)
(module-ref (resolve-interface module) variable))))
(match-lambda
- ("guile" (ref '(gnu packages guile) 'guile-3.0))
+ ("guile" (ref '(gnu packages guile) 'guile-3.0/libgc-7))
("guile-json" (ref '(gnu packages guile) 'guile-json-3))
("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh))
("guile-git" (ref '(gnu packages guile) 'guile-git))