parallel: fix calculation of max line length
parallel >= 20200822 uses /bin/echo to calculate the max allowed line
length. Patch it to a correct path, so that it doesn't (silently) fail
and fall back to a low value of 324.
Before:
$ parallel --max-line-length-allowed
324
After:
$ parallel --max-line-length-allowed
131063
Fixes: 16ca8725ff
("parallel: 20200722 -> 20200822")
This commit is contained in:
parent
c0a646edd0
commit
3d4e133e77
2 changed files with 26 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
{ fetchurl, stdenv, perl, makeWrapper, procps }:
|
||||
{ fetchurl, stdenv, perl, makeWrapper, procps, coreutils }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "parallel-20200822";
|
||||
|
@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "02dy46g6f05p7s2qs8h6yg20p1zl3flxxf77n5jw74l3h1m24m4n";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./fix-max-line-length-allowed.diff
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/parallel --subst-var-by coreutils ${coreutils}
|
||||
'';
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
17
pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff
Normal file
17
pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff
Normal file
|
@ -0,0 +1,17 @@
|
|||
Correct path to coreutils echo to fix parallel --max-line-length-allowed.
|
||||
|
||||
Author: Bjørn Forsman
|
||||
|
||||
diff --git a/src/parallel b/src/parallel
|
||||
index a047fd94..9fc5f671 100755
|
||||
--- a/src/parallel
|
||||
+++ b/src/parallel
|
||||
@@ -11580,7 +11580,7 @@ sub is_acceptable_command_line_length($$) {
|
||||
$len += length $Global::parallel_env;
|
||||
}
|
||||
# Force using non-built-in command
|
||||
- ::qqx("/bin/echo ".${string}x(($len-length "/bin/echo ")/length $string));
|
||||
+ ::qqx("@coreutils@/bin/echo ".${string}x(($len-length "@coreutils@/bin/echo ")/length $string));
|
||||
::debug("init", "$len=$? ");
|
||||
return not $?;
|
||||
}
|
Loading…
Reference in a new issue