summary refs log tree commit diff
path: root/pkgs/build-support/buildenv/builder.pl
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2015-10-15 16:11:33 +0300
committerNikolay Amiantov <ab@fmap.me>2015-10-22 15:35:39 +0300
commitd49140f3e4fbb00de9523b73b30d6dfe13d2f67c (patch)
tree42a10b1ab563516f8bd36f9933b05fea44cd9528 /pkgs/build-support/buildenv/builder.pl
parent7fb7fafe0ff47e1edc225fe2001327c1f70f9481 (diff)
downloadnixpkgs-d49140f3e4fbb00de9523b73b30d6dfe13d2f67c.tar
nixpkgs-d49140f3e4fbb00de9523b73b30d6dfe13d2f67c.tar.gz
nixpkgs-d49140f3e4fbb00de9523b73b30d6dfe13d2f67c.tar.bz2
nixpkgs-d49140f3e4fbb00de9523b73b30d6dfe13d2f67c.tar.lz
nixpkgs-d49140f3e4fbb00de9523b73b30d6dfe13d2f67c.tar.xz
nixpkgs-d49140f3e4fbb00de9523b73b30d6dfe13d2f67c.tar.zst
nixpkgs-d49140f3e4fbb00de9523b73b30d6dfe13d2f67c.zip
buildenv: support very long `paths`
Diffstat (limited to 'pkgs/build-support/buildenv/builder.pl')
-rwxr-xr-xpkgs/build-support/buildenv/builder.pl12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl
index fd8098caf13..155af314397 100755
--- a/pkgs/build-support/buildenv/builder.pl
+++ b/pkgs/build-support/buildenv/builder.pl
@@ -117,10 +117,20 @@ sub addPkg {
     }
 }
 
+# Read packages list.
+my $pkgs;
+
+if (exists $ENV{"pkgsPath"}) {
+    open FILE, $ENV{"pkgsPath"};
+    $pkgs = <FILE>;
+    close FILE;
+} else {
+    $pkgs = $ENV{"pkgs"}
+}
 
 # Symlink to the packages that have been installed explicitly by the
 # user.
-for my $pkg (@{decode_json $ENV{"pkgs"}}) {
+for my $pkg (@{decode_json $pkgs}) {
     for my $path (@{$pkg->{paths}}) {
         addPkg($path, $ENV{"ignoreCollisions"} eq "1", $pkg->{priority}) if -e $path;
     }