From cef392f3936922b7b0b74bd59be67e660c10db67 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 17 Apr 2020 18:16:19 +0100 Subject: [PATCH] guix: self: Use guile with libgc-7. 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. --- gnu/packages/guile.scm | 11 +++++++++++ guix/self.scm | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) 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 @@ (define-public guile-3.0 (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 @@ (define specification->package (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))