From 70915c1a2ef72e7350b2a29d1d93e30643bce6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 12 Dec 2012 14:59:16 +0100 Subject: [PATCH] guix-package: Add `--verbose'; silence the environment's build by default. * guix-package.in (%options): Add `--verbose'. (show-help): Update accordingly. (guix-package): Parameterize `current-build-output-port' according to VERBOSE?. By default, silence the environment build's output. --- doc/guix.texi | 4 ++++ guix-package.in | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2c9cba21a1..b8ab94f5ad 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -235,6 +235,10 @@ Use @var{profile} instead of the user's default profile. @itemx -n Show what would be done without actually doing it. +@item --verbose +Produce verbose output. In particular, emit the environment's build log +on the standard error port. + @item --bootstrap Use the bootstrap Guile to build the profile. This option is only useful to distribution developers. diff --git a/guix-package.in b/guix-package.in index 7bc32f851b..ff7f38383e 100644 --- a/guix-package.in +++ b/guix-package.in @@ -200,6 +200,8 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) -n, --dry-run show what would be done without actually doing it")) (display (_ " -b, --bootstrap use the bootstrap Guile to build the profile")) + (display (_ " + --verbose produce verbose output")) (newline) (display (_ " -I, --list-installed[=REGEXP] @@ -242,6 +244,9 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@")) (option '(#\b "bootstrap") #f #f (lambda (opt name arg result) (alist-cons 'bootstrap? #t result))) + (option '("verbose") #f #f + (lambda (opt name arg result) + (alist-cons 'verbose? #t result))) (option '(#\I "list-installed") #f #t (lambda (opt name arg result) (cons `(query list-installed ,(or arg "")) @@ -321,6 +326,7 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@")) (define (process-actions opts) ;; Process any install/remove/upgrade action from OPTS. (let* ((dry-run? (assoc-ref opts 'dry-run?)) + (verbose? (assoc-ref opts 'verbose?)) (profile (assoc-ref opts 'profile)) (install (filter-map (match-lambda (('install . (? store-path?)) @@ -385,7 +391,11 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@")) (basename profile) (+ 1 number)))) (if (string=? old-prof prof) (format (current-error-port) (_ "nothing to be done~%")) - (and (build-derivations %store (list prof-drv)) + (and (parameterize ((current-build-output-port + (if verbose? + (current-error-port) + (%make-void-port "w")))) + (build-derivations %store (list prof-drv))) (begin (symlink prof name) (when (file-exists? profile)