summary refs log tree commit diff
path: root/build-aux/build-self.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-04-08 21:11:37 +0200
committerLudovic Courtès <ludo@gnu.org>2018-04-08 21:11:37 +0200
commitf27a7128406f768fc8900144cafafe00aa2d7743 (patch)
tree24086d1612d55f4c532e22f1bcaeca1d4af46bbe /build-aux/build-self.scm
parent16c28becf2a2fcd48f52b83dc17889587b806615 (diff)
downloadguix-f27a7128406f768fc8900144cafafe00aa2d7743.tar.gz
build-self: Add missing 'close-pipe' call.
* build-aux/build-self.scm (build): Call 'close-pipe'.
Diffstat (limited to 'build-aux/build-self.scm')
-rw-r--r--build-aux/build-self.scm16
1 files changed, 9 insertions, 7 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 5ec76a588f..bccb7a959e 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -277,14 +277,16 @@ files."
     (mbegin %store-monad
       (show-what-to-build* (list build))
       (built-derivations (list build))
-      (let ((pipe (begin
-                    (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
-                    (open-pipe* OPEN_READ
-                                (derivation->output-path build)
-                                source system))))
-        (match (get-string-all pipe)
+      (let* ((pipe   (begin
+                       (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
+                       (open-pipe* OPEN_READ
+                                   (derivation->output-path build)
+                                   source system)))
+             (str    (get-string-all pipe))
+             (status (close-pipe pipe)))
+        (match str
           ((? eof-object?)
-           (error "build program failed" build))
+           (error "build program failed" (list build status)))
           ((? derivation-path? drv)
            (mbegin %store-monad
              (return (newline (current-output-port)))