summary refs log tree commit diff
diff options
context:
space:
mode:
-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)