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
@ -1,4 +1,4 @@
|
|||||||
{ fetchurl, stdenv, perl, makeWrapper, procps }:
|
{ fetchurl, stdenv, perl, makeWrapper, procps, coreutils }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "parallel-20200822";
|
name = "parallel-20200822";
|
||||||
@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "02dy46g6f05p7s2qs8h6yg20p1zl3flxxf77n5jw74l3h1m24m4n";
|
sha256 = "02dy46g6f05p7s2qs8h6yg20p1zl3flxxf77n5jw74l3h1m24m4n";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix-max-line-length-allowed.diff
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace src/parallel --subst-var-by coreutils ${coreutils}
|
||||||
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "man" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
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…
x
Reference in New Issue
Block a user