summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-12-03 00:50:40 +0100
committerLudovic Courtès <ludo@gnu.org>2023-12-03 23:55:08 +0100
commit2447c1b6083290449f1bffd1e5953dd3d0820de9 (patch)
tree8694e2dbf54f42318f72a7ff7043423af311e511
parent3dda74a546c7bc5576d5f1464c9c610204fb4b82 (diff)
downloadguix-2447c1b6083290449f1bffd1e5953dd3d0820de9.tar.gz
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
-rw-r--r--guix/packages.scm10
1 files changed, 6 insertions, 4 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index b768dddb5f..930b1a3b0e 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -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)