ui: Honor --no-* options passed via $GUIX_BUILD_OPTIONS.
Reported by Alex Kost <alezost@gmail.com> at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00702.html>. * guix/ui.scm (parse-command-line)[parse-options-from]: Add 'seeds' parameter. Thread the result of the first 'parse-options-from' call to the second.
This commit is contained in:
parent
b3f213893b
commit
cf6ce3e6ef
10
guix/ui.scm
10
guix/ui.scm
|
@ -769,7 +769,7 @@ Command-line options take precedence those passed via 'GUIX_BUILD_OPTIONS'.
|
||||||
|
|
||||||
ARGUMENT-HANDLER is called for non-option arguments, like the 'operand-proc'
|
ARGUMENT-HANDLER is called for non-option arguments, like the 'operand-proc'
|
||||||
parameter of 'args-fold'."
|
parameter of 'args-fold'."
|
||||||
(define (parse-options-from args)
|
(define (parse-options-from args seeds)
|
||||||
;; Actual parsing takes place here.
|
;; Actual parsing takes place here.
|
||||||
(apply args-fold* args options
|
(apply args-fold* args options
|
||||||
(lambda (opt name arg . rest)
|
(lambda (opt name arg . rest)
|
||||||
|
@ -777,8 +777,12 @@ parameter of 'args-fold'."
|
||||||
argument-handler
|
argument-handler
|
||||||
seeds))
|
seeds))
|
||||||
|
|
||||||
(append (parse-options-from args)
|
(call-with-values
|
||||||
(parse-options-from (environment-build-options))))
|
(lambda ()
|
||||||
|
(parse-options-from (environment-build-options) seeds))
|
||||||
|
(lambda seeds
|
||||||
|
;; ARGS take precedence over what the environment variable specifies.
|
||||||
|
(parse-options-from args seeds))))
|
||||||
|
|
||||||
(define (show-guix-usage)
|
(define (show-guix-usage)
|
||||||
(format (current-error-port)
|
(format (current-error-port)
|
||||||
|
|
|
@ -82,6 +82,15 @@ interface, and powerful string processing.")
|
||||||
%standard-build-options
|
%standard-build-options
|
||||||
(list '()))))
|
(list '()))))
|
||||||
|
|
||||||
|
(test-equal "parse-command-line and --no options"
|
||||||
|
'((argument . "foo")
|
||||||
|
(substitutes? . #f)) ;takes precedence
|
||||||
|
|
||||||
|
(with-environment-variable "GUIX_BUILD_OPTIONS" "--no-substitutes"
|
||||||
|
(parse-command-line '("foo")
|
||||||
|
%standard-build-options
|
||||||
|
(list '((substitutes? . #t))))))
|
||||||
|
|
||||||
(test-assert "fill-paragraph"
|
(test-assert "fill-paragraph"
|
||||||
(every (lambda (column)
|
(every (lambda (column)
|
||||||
(every (lambda (width)
|
(every (lambda (width)
|
||||||
|
|
Loading…
Reference in New Issue