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.
This commit is contained in:
Christopher Baines 2020-04-17 18:16:19 +01:00
parent 45fd28f764
commit cef392f393
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577
2 changed files with 12 additions and 1 deletions

View file

@ -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.

View file

@ -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))