quilt: wrap all required inputs

Some quilt commands fail on darwin with this error:

    stat: illegal option -- c
    usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]

This is because at build time quilt is configured to use the coreutils
version of 'stat', but the 'quilt' wrapper does not wrap this coreutils
dependency and then at runtime the version from macOS is used (as found
in $PATH).

Fix by ensuring that coreutils is wrapped.

Also add and wrap the missing inputs for the other programs used by the
quilt commands: gawk, gnugrep, gnused, unixtools.column and
unixtools.getopt.
This commit is contained in:
Sebastián Mancilla
2021-09-26 14:32:09 -03:00
parent 3d85bb0810
commit 0f77179bcf
+32 -4
View File
@@ -1,4 +1,19 @@
{ lib, stdenv, fetchurl, makeWrapper, bash, perl, diffstat, diffutils, patch, findutils }:
{ lib
, stdenv
, fetchurl
, makeWrapper
, bash
, coreutils
, diffstat
, diffutils
, findutils
, gawk
, gnugrep
, gnused
, patch
, perl
, unixtools
}:
stdenv.mkDerivation rec {
@@ -11,11 +26,24 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perl bash diffutils patch findutils diffstat ];
buildInputs = [
bash
coreutils
diffstat
diffutils
findutils
gawk
gnugrep
gnused
patch
perl
unixtools.column
unixtools.getopt
];
postInstall = ''
wrapProgram $out/bin/quilt --prefix PATH : \
${perl}/bin:${bash}/bin:${diffstat}/bin:${diffutils}/bin:${findutils}/bin:${patch}/bin
wrapProgram $out/bin/quilt --prefix PATH : ${lib.makeBinPath buildInputs}
'';
meta = {