From 2447c1b6083290449f1bffd1e5953dd3d0820de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 3 Dec 2023 00:50:40 +0100 Subject: [PATCH] =?UTF-8?q?packages:=20Honor=20target=20system=20for=20the?= =?UTF-8?q?=20inputs=20to=20=E2=80=98patch-and-repack=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/packages.scm (%standard-patch-inputs): Add ‘system’ parameter. Parameterize ‘%current-system’. (patch-and-repack): Pass SYSTEM to ‘%standard-patch-inputs’. Change-Id: Ic8ad93303332fd1eefba0a93a314f99db782eda6 --- guix/packages.scm | 10 ++++++---- 1 file 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)