~ruther/guix-local

af57d1bf6c46f47d82dbc234dde1e16fa8634e9d — Ludovic Courtès 4 years ago c1539e1
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'.
2 files changed, 17 insertions(+), 12 deletions(-)

M gnu/packages/ruby.scm
M guix/gexp.scm
M gnu/packages/ruby.scm => gnu/packages/ruby.scm +9 -2
@@ 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

M guix/gexp.scm => guix/gexp.scm +8 -10
@@ 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)