~ruther/guix-local

2447c1b6083290449f1bffd1e5953dd3d0820de9 — Ludovic Courtès 2 years ago 3dda74a
packages: Honor target system for the inputs to ‘patch-and-repack’.

* guix/packages.scm (%standard-patch-inputs): Add ‘system’ parameter.
Parameterize ‘%current-system’.
(patch-and-repack): Pass SYSTEM to ‘%standard-patch-inputs’.

Change-Id: Ic8ad93303332fd1eefba0a93a314f99db782eda6
1 files changed, 6 insertions(+), 4 deletions(-)

M guix/packages.scm
M guix/packages.scm => guix/packages.scm +6 -4
@@ 849,14 849,15 @@ identifiers.  The result is inferred from the file names of patches."
                                 '()))))
    (append-map patch-vulnerabilities patches)))

(define (%standard-patch-inputs)
(define (%standard-patch-inputs system)
  (let* ((canonical (module-ref (resolve-interface '(gnu packages base))
                                'canonical-package))
         (ref       (lambda (module var)
                      ;; Make sure 'canonical-package' is not influenced by
                      ;; '%current-target-system' since we're going to use the
                      ;; native package anyway.
                      (parameterize ((%current-target-system #f))
                      (parameterize ((%current-target-system #f)
                                     (%current-system system))
                        (canonical
                         (module-ref (resolve-interface module) var))))))
    `(("tar"   ,(ref '(gnu packages base) 'tar))


@@ 867,7 868,8 @@ identifiers.  The result is inferred from the file names of patches."
      ("unzip" ,(ref '(gnu packages compression) 'unzip))
      ("patch" ,(ref '(gnu packages base) 'patch))
      ("locales"
       ,(parameterize ((%current-target-system #f))
       ,(parameterize ((%current-target-system #f)
                       (%current-system system))
          (canonical
           ((module-ref (resolve-interface '(gnu packages base))
                        'libc-utf8-locales-for-target))))))))


@@ 913,7 915,7 @@ specifies modules in scope when evaluating SNIPPET."
  (define lookup-input
    ;; The default value of the 'patch-inputs' field, and thus INPUTS is #f,
    ;; so deal with that.
    (let ((inputs (or inputs (%standard-patch-inputs))))
    (let ((inputs (or inputs (%standard-patch-inputs system))))
      (lambda (name)
        (match (assoc-ref inputs name)
          ((package) package)