diff options
-rw-r--r-- | guix/scripts/build.scm | 22 |
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))) |