2024-06-30 08:16:52 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
stdenv,
|
|
|
|
fetchurl,
|
|
|
|
perl,
|
|
|
|
makeWrapper,
|
|
|
|
version,
|
|
|
|
sha256,
|
|
|
|
patches ? [ ],
|
|
|
|
extraBuildInputs ? [ ],
|
|
|
|
...
|
2024-05-02 00:46:19 +00:00
|
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "patchutils";
|
|
|
|
inherit version patches;
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "http://cyberelk.net/tim/data/patchutils/stable/${pname}-${version}.tar.xz";
|
|
|
|
inherit sha256;
|
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
buildInputs = [ perl ] ++ extraBuildInputs;
|
|
|
|
hardeningDisable = [ "format" ];
|
|
|
|
|
|
|
|
# tests fail when building in parallel
|
|
|
|
enableParallelBuilding = false;
|
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
for bin in $out/bin/{splitdiff,rediff,editdiff,dehtmldiff}; do
|
|
|
|
wrapProgram "$bin" \
|
|
|
|
--prefix PATH : "$out/bin"
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
|
|
|
doCheck = lib.versionAtLeast version "0.3.4";
|
|
|
|
|
2024-06-30 08:16:52 +00:00
|
|
|
preCheck =
|
|
|
|
''
|
|
|
|
patchShebangs tests
|
|
|
|
chmod +x scripts/*
|
|
|
|
''
|
|
|
|
+ lib.optionalString (lib.versionOlder version "0.4.2") ''
|
|
|
|
find tests -type f -name 'run-test' \
|
|
|
|
-exec sed -i '{}' -e 's|/bin/echo|echo|g' \;
|
|
|
|
'';
|
2024-05-02 00:46:19 +00:00
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Tools to manipulate patch files";
|
|
|
|
homepage = "http://cyberelk.net/tim/software/patchutils";
|
|
|
|
license = licenses.gpl2Plus;
|
|
|
|
platforms = platforms.all;
|
|
|
|
maintainers = with maintainers; [ artturin ];
|
|
|
|
};
|
|
|
|
}
|