about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--scripts/nix-build.in10
1 files changed, 6 insertions, 4 deletions
diff --git a/scripts/nix-build.in b/scripts/nix-build.in
index 2bea463d3ee5..dc7dc6e85725 100644
--- a/scripts/nix-build.in
+++ b/scripts/nix-build.in
@@ -121,12 +121,14 @@ foreach my $expr (@exprs) {
     }
 
     # Build.
-    my $outPaths = `@bindir@/nix-store --add-root "$outLink" --indirect -rv @buildArgs @drvPaths`;
-    my @outPaths = split ' ', $outPaths;
-    
+    my @outPaths;
+    $pid = open(OUTPATHS, "-|") || exec "@bindir@/nix-store", "--add-root", $outLink, "--indirect", "-rv",
+        @buildArgs, @drvPaths;
+    while (<OUTPATHS>) {chomp; push @outPaths, $_;}
+    close OUTPATHS or exit 1;
+
     foreach my $outPath (@outPaths) {
         my $target = readlink $outPath;
         print "$target\n";
     }
-
 }