me
/
guix
Archived
1
0
Fork 0

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
Ludovic Courtès 2023-12-03 00:50:40 +01:00
parent 3dda74a546
commit 2447c1b608
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 6 additions and 4 deletions

View File

@ -849,14 +849,15 @@ identifiers. The result is inferred from the file names of patches."
'())))) '()))))
(append-map patch-vulnerabilities patches))) (append-map patch-vulnerabilities patches)))
(define (%standard-patch-inputs) (define (%standard-patch-inputs system)
(let* ((canonical (module-ref (resolve-interface '(gnu packages base)) (let* ((canonical (module-ref (resolve-interface '(gnu packages base))
'canonical-package)) 'canonical-package))
(ref (lambda (module var) (ref (lambda (module var)
;; Make sure 'canonical-package' is not influenced by ;; Make sure 'canonical-package' is not influenced by
;; '%current-target-system' since we're going to use the ;; '%current-target-system' since we're going to use the
;; native package anyway. ;; native package anyway.
(parameterize ((%current-target-system #f)) (parameterize ((%current-target-system #f)
(%current-system system))
(canonical (canonical
(module-ref (resolve-interface module) var)))))) (module-ref (resolve-interface module) var))))))
`(("tar" ,(ref '(gnu packages base) 'tar)) `(("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)) ("unzip" ,(ref '(gnu packages compression) 'unzip))
("patch" ,(ref '(gnu packages base) 'patch)) ("patch" ,(ref '(gnu packages base) 'patch))
("locales" ("locales"
,(parameterize ((%current-target-system #f)) ,(parameterize ((%current-target-system #f)
(%current-system system))
(canonical (canonical
((module-ref (resolve-interface '(gnu packages base)) ((module-ref (resolve-interface '(gnu packages base))
'libc-utf8-locales-for-target)))))))) 'libc-utf8-locales-for-target))))))))
@ -913,7 +915,7 @@ specifies modules in scope when evaluating SNIPPET."
(define lookup-input (define lookup-input
;; The default value of the 'patch-inputs' field, and thus INPUTS is #f, ;; The default value of the 'patch-inputs' field, and thus INPUTS is #f,
;; so deal with that. ;; so deal with that.
(let ((inputs (or inputs (%standard-patch-inputs)))) (let ((inputs (or inputs (%standard-patch-inputs system))))
(lambda (name) (lambda (name)
(match (assoc-ref inputs name) (match (assoc-ref inputs name)
((package) package) ((package) package)