summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-12-27 11:54:55 +0100
committerLudovic Courtès <ludo@gnu.org>2018-12-27 12:08:25 +0100
commit5923102f7b58f0a0120926ec5b81ed48b26a188e (patch)
tree553181cf095a0f609dd67fc6bc6d2f14509ffe7d
parentad3c9fbbb9fbc1080c9205d991960494ebe22586 (diff)
downloadguix-5923102f7b58f0a0120926ec5b81ed48b26a188e.tar.gz
pull: Add '--system'.
* guix/scripts/pull.scm (%options): Add '--system'.
(guix-pull): Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
-rw-r--r--doc/guix.texi5
-rw-r--r--guix/scripts/pull.scm7
2 files changed, 11 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c182995b2b..20952e9a36 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2887,6 +2887,11 @@ Use @var{profile} instead of @file{~/.config/guix/current}.
 Show which channel commit(s) would be used and what would be built or
 substituted but do not actually do it.
 
+@item --system=@var{system}
+@itemx -s @var{system}
+Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of
+the system type of the build host.
+
 @item --verbose
 Produce verbose output, writing build logs to the standard error output.
 
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index dc83729911..862556d12b 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -126,6 +126,10 @@ Download and deploy the latest version of Guix.\n"))
                  (lambda (opt name arg result)
                    (alist-cons 'profile (canonicalize-profile arg)
                                result)))
+         (option '(#\s "system") #t #f
+                 (lambda (opt name arg result)
+                   (alist-cons 'system arg
+                               (alist-delete 'system result eq?))))
          (option '(#\n "dry-run") #f #f
                  (lambda (opt name arg result)
                    (alist-cons 'dry-run? #t (alist-cons 'graft? #f result))))
@@ -505,7 +509,8 @@ Use '~/.config/guix/channels.scm' instead."))
              (else
               (with-store store
                 (with-status-report print-build-event
-                  (parameterize ((%graft? (assoc-ref opts 'graft?))
+                  (parameterize ((%current-system (assoc-ref opts 'system))
+                                 (%graft? (assoc-ref opts 'graft?))
                                  (%repository-cache-directory cache))
                     (set-build-options-from-command-line store opts)
                     (honor-x509-certificates store)