summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/build.scm22
1 files changed, 13 insertions, 9 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index f0a637a2ef..dfc37d01d8 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -706,15 +706,19 @@ values.")))))))))
(ensure-list (load* file (make-user-module '()))))
result))))
(('manifest . manifest)
- (loop tail 'regular
- (append (map manifest-entry-item
- (manifest-entries
- (ensure-manifest
- (load* manifest
- (make-user-module '((guix profiles)
- (gnu))))
- manifest)))
- result)))
+ ;; Otherwise '--system' is ignored.
+ ;; Wrap the loop instead of adjusting each item so that manifest
+ ;; items can individually be for different systems.
+ (parameterize ((%current-system system))
+ (loop tail 'regular
+ (append (map manifest-entry-item
+ (manifest-entries
+ (ensure-manifest
+ (load* manifest
+ (make-user-module '((guix profiles)
+ (gnu))))
+ manifest)))
+ result))))
(('expression . str)
(loop tail 'regular
(append (append-map for-type (ensure-list (read/eval str)))