aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-06-30 17:42:35 +0200
committerLudovic Courtès <ludo@gnu.org>2015-07-01 23:29:49 +0200
commitce367ef3a9031e3211d616630ff01c8a6128db96 (patch)
treebdb7af923ad304395a701faf5b38adc49f8dd755
parent6b6298ae39bfe185ce1ab18bb3d641ddfad17c8f (diff)
downloadguix-ce367ef3a9031e3211d616630ff01c8a6128db96.tar
guix-ce367ef3a9031e3211d616630ff01c8a6128db96.tar.gz
environment: Add --system.
* guix/scripts/environment.scm (show-help, %options): Add -s/--system. (%default-options): Add 'system' pair. (guix-environment): Pass 'system' value from OPTS to 'lower-inputs'. * doc/guix.texi (Invoking guix environment): Document it.
-rw-r--r--doc/guix.texi4
-rw-r--r--guix/scripts/environment.scm9
2 files changed, 12 insertions, 1 deletions
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.