summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-08-24 00:41:44 +0200
committerLudovic Courtès <ludo@gnu.org>2017-08-24 00:41:44 +0200
commite4925e00ca420737556e2039b4fa1c40121ee567 (patch)
tree171345a368620393825ee1bb69b99391877626ed
parent2718a9cd096d0f5ae4b23cc0814a42aee5cf3c4d (diff)
packages: Use Guile 2.0 for grafting.
Works around <https://bugs.gnu.org/28211>. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/packages.scm (guile-2.0): New procedure. (package-derivation, package-cross-derivation): Use it when computing the #:guile argument to 'graft-derivation'.
-rw-r--r--guix/packages.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index 3528db442f..f619d9b370 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -414,6 +414,13 @@ derivations."
(let ((distro (resolve-interface '(gnu packages commencement))))
(module-ref distro 'guile-final)))
+(define (guile-2.0)
+ "Return Guile 2.0."
+ ;; FIXME: This is used as a workaround for <https://bugs.gnu.org/28211> when
+ ;; grafting packages.
+ (let ((distro (resolve-interface '(gnu packages guile))))
+ (module-ref distro 'guile-2.0)))
+
(define* (default-guile-derivation #:optional (system (%current-system)))
"Return the derivation for SYSTEM of the default Guile package used to run
the build code of derivation."
@@ -1145,7 +1152,7 @@ This is an internal procedure."
(()
drv)
(grafts
- (let ((guile (package-derivation store (default-guile)
+ (let ((guile (package-derivation store (guile-2.0)
system #:graft? #f)))
;; TODO: As an optimization, we can simply graft the tip
;; of the derivation graph since 'graft-derivation'
@@ -1171,7 +1178,7 @@ system identifying string)."
(graft-derivation store drv grafts
#:system system
#:guile
- (package-derivation store (default-guile)
+ (package-derivation store (guile-2.0)
system #:graft? #f))))
drv))))