summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-02-11 15:58:56 +0100
committerLudovic Courtès <ludo@gnu.org>2022-02-11 17:28:00 +0100
commitaf57d1bf6c46f47d82dbc234dde1e16fa8634e9d (patch)
tree50984bad3a8c2e356b20321ec74f96a642505ce5
parentc1539e1385e2287c5f6eb0a69efdb1d539fe15f5 (diff)
downloadguix-patches-af57d1bf6c46f47d82dbc234dde1e16fa8634e9d.tar
guix-patches-af57d1bf6c46f47d82dbc234dde1e16fa8634e9d.tar.gz
gexp: <computed-file> does not honor (%guile-for-build).
* guix/gexp.scm (computed-file-compiler): Default to (default-guile). That way, lowering of <computed-file> is not affected by the '%guile-for-build' parameter. (file-union): Add #:guile parameter and honor it. * gnu/packages/ruby.scm (ruby-tzinfo-data): Pass #:guile to 'file-union'.
-rw-r--r--gnu/packages/ruby.scm11
-rw-r--r--guix/gexp.scm18
2 files changed, 17 insertions, 12 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b242aa8295..121948b4fc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Pjotr Prins <pjotr.guix@thebird.nl>
-;;; Copyright © 2014, 2015, 2016, 2017, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2017, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -5717,7 +5717,14 @@ aware transformations between times in different time zones.")
(uri "https://data.iana.org/time-zones/releases/tzcode2021a.tar.gz.asc")
(sha256
(base32
- "1qhlj4lr810s47s1lwcvv1sgvg2sflf98w4sbg1lc8wzv5qxxv7g")))))))))
+ "1qhlj4lr810s47s1lwcvv1sgvg2sflf98w4sbg1lc8wzv5qxxv7g")))))
+
+ ;; XXX: Explicitly depend on 'guile-final', which was previously
+ ;; implied via the '%guile-for-build' fluid but not explicit.
+ ;; TODO: Remove this argument on the next rebuild cycle.
+ #:guile (module-ref (resolve-interface
+ '(gnu packages commencement))
+ 'guile-final)))))
(synopsis "Data from the IANA Time Zone database")
(description
"This library provides @code{TZInfo::Data}, which contains data from the
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 01dca902f7..8675e605a0 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -597,13 +597,10 @@ This is the declarative counterpart of 'gexp->derivation'."
;; gexp.
(match file
(($ <computed-file> name gexp guile options)
- (if guile
- (mlet %store-monad ((guile (lower-object guile system
- #:target target)))
- (apply gexp->derivation name gexp #:guile-for-build guile
- #:system system #:target target options))
- (apply gexp->derivation name gexp
- #:system system #:target target options)))))
+ (mlet %store-monad ((guile (lower-object (or guile (default-guile))
+ system #:target target)))
+ (apply gexp->derivation name gexp #:guile-for-build guile
+ #:system system #:target target options)))))
(define-record-type <program-file>
(%program-file name gexp guile path)
@@ -2087,7 +2084,7 @@ This is the declarative counterpart of 'text-file*'."
(computed-file name build))
-(define (file-union name files)
+(define* (file-union name files #:key guile)
"Return a <computed-file> that builds a directory containing all of FILES.
Each item in FILES must be a two-element list where the first element is the
file name to use in the new directory, and the second element is a gexp
@@ -2121,7 +2118,8 @@ This yields an 'etc' directory containing these two files."
(mkdir-p (dirname (ungexp target)))
(symlink (ungexp source)
(ungexp target))))))
- files)))))))
+ files)))))
+ #:guile guile))
(define* (directory-union name things
#:key (copy? #f) (quiet? #f)