guix package: Add `--no-substitutes'.

* guix/scripts/package.scm (%default-options): Add `substitutes?'.
  (show-help, %options): Add and document `--no-substitutes'.
  (guix-package): Call `set-build-options' to honor `substitutes?'.
This commit is contained in:
Ludovic Courtès 2013-04-12 15:43:55 +02:00
parent cdf2022052
commit 581f9eb845
2 changed files with 15 additions and 1 deletions

View file

@ -570,6 +570,9 @@ Use @var{profile} instead of the user's default profile.
@itemx -n
Show what would be done without actually doing it.
@item --no-substitutes
Build instead of resorting to pre-built substitutes.
@item --verbose
Produce verbose output. In particular, emit the environment's build log
on the standard error port.

View file

@ -313,7 +313,8 @@ (define (check-package-freshness package)
(define %default-options
;; Alist of default option values.
`((profile . ,%current-profile)))
`((profile . ,%current-profile)
(substitutes? . #t)))
(define (show-help)
(display (_ "Usage: guix package [OPTION]... PACKAGES...
@ -334,6 +335,8 @@ (define (show-help)
-p, --profile=PROFILE use PROFILE instead of the user's default profile"))
(display (_ "
-n, --dry-run show what would be done without actually doing it"))
(display (_ "
--no-substitutes build instead of resorting to pre-built substitutes"))
(display (_ "
--bootstrap use the bootstrap Guile to build the profile"))
(display (_ "
@ -388,6 +391,10 @@ (define %options
(option '(#\n "dry-run") #f #f
(lambda (opt name arg result)
(alist-cons 'dry-run? #t result)))
(option '("no-substitutes") #f #f
(lambda (opt name arg result)
(alist-cons 'substitutes? #f
(alist-delete 'substitutes? result))))
(option '("bootstrap") #f #f
(lambda (opt name arg result)
(alist-cons 'bootstrap? #t result)))
@ -750,6 +757,10 @@ (define (process-query opts)
(or (process-query opts)
(with-error-handling
(parameterize ((%store (open-connection)))
(set-build-options (%store)
#:use-substitutes?
(assoc-ref opts 'substitutes?))
(parameterize ((%guile-for-build
(package-derivation (%store)
(if (assoc-ref opts 'bootstrap?)