guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/05: gexp: <computed-file> does not honor (%guile-for-build).


From: guix-commits
Subject: 02/05: gexp: <computed-file> does not honor (%guile-for-build).
Date: Fri, 11 Feb 2022 11:30:45 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit af57d1bf6c46f47d82dbc234dde1e16fa8634e9d
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Feb 11 15:58:56 2022 +0100

    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'.
---
 gnu/packages/ruby.scm | 11 +++++++++--
 guix/gexp.scm         | 18 ++++++++----------
 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]