From fcc4c6ae603c5734104f3efe13ee94341b47c5c2 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 18 Aug 2019 13:09:05 +0200 Subject: [PATCH] scripts: system: Add --target option. * guix/scripts/system.scm (%options): Add target option, (%default-options): ditto, (process-action): Rename existing target variable to target-file and pass new target variable to run-with-store procedure. --- guix/scripts/system.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index e49c9d36b9..5f0dce2093 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016, 2017, 2018 Chris Marusich -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Christopher Baines ;;; @@ -931,6 +931,8 @@ (define (show-help) --full-boot for 'vm', make a full boot sequence")) (display (G_ " --skip-checks skip file system and initrd module safety checks")) + (display (G_ " + --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"")) (display (G_ " -v, --verbosity=LEVEL use the given verbosity LEVEL")) (newline) @@ -1004,6 +1006,10 @@ (define %options (lambda (opt name arg result) (alist-cons 'system arg (alist-delete 'system result eq?)))) + (option '("target") #t #f + (lambda (opt name arg result) + (alist-cons 'target arg + (alist-delete 'target result eq?)))) (option '(#\r "root") #t #f (lambda (opt name arg result) (alist-cons 'gc-root arg result))) @@ -1012,6 +1018,7 @@ (define %options (define %default-options ;; Alist of default option values. `((system . ,(%current-system)) + (target . #f) (substitutes? . #t) (offload? . #t) (print-build-trace? . #t) @@ -1045,6 +1052,7 @@ (define (ensure-operating-system file-or-exp obj) ((x . _) x))) (expr (assoc-ref opts 'expression)) (system (assoc-ref opts 'system)) + (target (assoc-ref opts 'target)) (os (ensure-operating-system (or file expr) (cond @@ -1061,7 +1069,7 @@ (define (ensure-operating-system file-or-exp obj) (dry? (assoc-ref opts 'dry-run?)) (bootloader? (assoc-ref opts 'install-bootloader?)) - (target (match args + (target-file (match args ((first second) second) (_ #f))) (bootloader-target @@ -1103,9 +1111,10 @@ (define (ensure-operating-system file-or-exp obj) (_ #f)) opts) #:install-bootloader? bootloader? - #:target target + #:target target-file #:bootloader-target bootloader-target #:gc-root (assoc-ref opts 'gc-root))))) + #:target target #:system system)) (warn-about-disk-space)))