mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
symlinkJoin: fix "bash: Argument list too long" error
When the `paths` argument is too big `symlinkJoin` will fail with: ``` while setting up the build environment: executing '/nix/store/rm1hz1lybxangc8sdl7xvzs5dcvigvf7-bash-4.4-p23/bin/bash': Argument list too long ``` This is fixed by passing `paths` as a file instead of as an environment variable.
This commit is contained in:
parent
fc592a52ca
commit
4e0a6bc4be
1 changed files with 5 additions and 2 deletions
|
@ -255,11 +255,14 @@ rec {
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
args = removeAttrs args_ [ "name" "postBuild" ]
|
args = removeAttrs args_ [ "name" "postBuild" ]
|
||||||
// { inherit preferLocalBuild allowSubstitutes; }; # pass the defaults
|
// {
|
||||||
|
inherit preferLocalBuild allowSubstitutes;
|
||||||
|
passAsFile = [ "paths" ];
|
||||||
|
}; # pass the defaults
|
||||||
in runCommand name args
|
in runCommand name args
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
for i in $paths; do
|
for i in $(cat $pathsPath); do
|
||||||
${lndir}/bin/lndir -silent $i $out
|
${lndir}/bin/lndir -silent $i $out
|
||||||
done
|
done
|
||||||
${postBuild}
|
${postBuild}
|
||||||
|
|
Loading…
Reference in a new issue