summaryrefslogtreecommitdiff
path: root/guix-package.in
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-07 23:58:24 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-08 00:04:46 +0100
commit9762706b900cda66a3caa3deea2f55432d6ac592 (patch)
treecfe01c4ecabb92ff8c20120e910264bc316b622d /guix-package.in
parentcc57f25d96f3007682a4e41a8b5871f05f76e23f (diff)
downloadguix-patches-9762706b900cda66a3caa3deea2f55432d6ac592.tar
guix-patches-9762706b900cda66a3caa3deea2f55432d6ac592.tar.gz
guix-package: Be verbose when Guile itself needs to be built.
* guix-package.in (guix-package)[guile-missing?]: New procedure. (guix-package): Always redirect `current-build-output-port' to `current-error-port' when (guile-missing?).
Diffstat (limited to 'guix-package.in')
-rw-r--r--guix-package.in9
1 files changed, 8 insertions, 1 deletions
diff --git a/guix-package.in b/guix-package.in
index 628a2b595f..c02f1c634e 100644
--- a/guix-package.in
+++ b/guix-package.in
@@ -272,6 +272,11 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(alist-cons 'argument arg result))
%default-options))
+ (define (guile-missing?)
+ ;; Return #t if %GUILE-FOR-BUILD is not available yet.
+ (let ((out (derivation-path->output-path (%guile-for-build))))
+ (not (valid-path? %store out))))
+
(define (show-what-to-build drv dry-run?)
;; Show what will/would be built in realizing the derivations listed
;; in DRV.
@@ -393,7 +398,9 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(if (string=? old-prof prof)
(format (current-error-port) (_ "nothing to be done~%"))
(and (parameterize ((current-build-output-port
- (if verbose?
+ ;; Output something when Guile
+ ;; needs to be built.
+ (if (or verbose? (guile-missing?))
(current-error-port)
(%make-void-port "w"))))
(build-derivations %store (list prof-drv)))