diff --git a/doc/guix.texi b/doc/guix.texi index ccccf7b347..71167dfdc7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4219,6 +4219,10 @@ only contain package inputs. @item --search-paths Display the environment variable definitions that make up the environment. + +@item --system=@var{system} +@itemx -s @var{system} +Attempt to build for @var{system}---e.g., @code{i686-linux}. @end table It also supports all of the common build options that @command{guix diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index e2ac086f6d..7a7664a1ea 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -115,6 +115,8 @@ shell command in that environment.\n")) --pure unset existing environment variables")) (display (_ " --search-paths display needed environment variable definitions")) + (display (_ " + -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"")) (newline) (show-build-options-help) (newline) @@ -128,6 +130,7 @@ shell command in that environment.\n")) (define %default-options ;; Default to opening a new shell. `((exec . ,(or (getenv "SHELL") "/bin/sh")) + (system . ,(%current-system)) (substitutes? . #t) (max-silent-time . 3600) (verbosity . 0))) @@ -162,6 +165,10 @@ shell command in that environment.\n")) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t result))) + (option '(#\s "system") #t #f + (lambda (opt name arg result) + (alist-cons 'system arg + (alist-delete 'system result eq?)))) %standard-build-options)) (define (pick-all alist key) @@ -243,7 +250,7 @@ OUTPUT) tuples, using the build options in OPTS." ((label item output) (list item output))) inputs) - #:system (%current-system)))) + #:system (assoc-ref opts 'system)))) (mbegin %store-monad ;; First build INPUTS. This is necessary even for ;; --search-paths.