summary refs log tree commit diff
path: root/guix-package.in
diff options
context:
space:
mode:
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)))