~ruther/guix-local

ce367ef3a9031e3211d616630ff01c8a6128db96 — Ludovic Courtès 10 years ago 6b6298a
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.
2 files changed, 12 insertions(+), 1 deletions(-)

M doc/guix.texi
M guix/scripts/environment.scm
M doc/guix.texi => doc/guix.texi +4 -0
@@ 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

M guix/scripts/environment.scm => guix/scripts/environment.scm +8 -1
@@ 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.