summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2018-09-11 23:17:54 +0200
committerRicardo Wurmus <rekado@elephly.net>2018-09-11 23:19:42 +0200
commit1afd1fbf3cf1d1283a009d5cbb8ad698bff4dd48 (patch)
tree2fc62a44d4532024f28424ab3e2874dead820c79
parentf72e5f93b7ba874ecc66ba419f71f384d1b7903d (diff)
downloadguix-1afd1fbf3cf1d1283a009d5cbb8ad698bff4dd48.tar.gz
guix: Do not close current-error-port.
Reported-by: Ludovic Courtès <ludo@gnu.org>.

* guix/scripts/build.scm (guix-build),
guix/scripts/package.scm (guix-package): Duplicate port before handing it to
build-output-port.
-rw-r--r--guix/scripts/build.scm8
-rw-r--r--guix/scripts/package.scm3
2 files changed, 7 insertions, 4 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 3fa3c2c20f..9d38610633 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -733,9 +733,11 @@ needed."
         ;; Set the build options before we do anything else.
         (set-build-options-from-command-line store opts)
 
-        (parameterize ((current-build-output-port (if quiet?
-                                                      (%make-void-port "w")
-                                                      (build-output-port #:verbose? #t))))
+        (parameterize ((current-build-output-port
+                        (if quiet?
+                            (%make-void-port "w")
+                            (build-output-port #:verbose? #t
+                                               #:port (duplicate-port (current-error-port) "w")))))
           (let* ((mode  (assoc-ref opts 'build-mode))
                  (drv   (options->derivations store opts))
                  (urls  (map (cut string-append <> "/log")
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 73cbccba3b..c3ed2ac935 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -950,5 +950,6 @@ processed, #f otherwise."
                                %bootstrap-guile
                                (canonical-package guile-2.2))))
                          (current-build-output-port
-                          (build-output-port #:verbose? verbose?)))
+                          (build-output-port #:verbose? verbose?
+                                             #:port (duplicate-port (current-error-port) "w"))))
             (process-actions (%store) opts))))))