summaryrefslogtreecommitdiff
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)
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)