2016-01-11 16:20:40 +00:00
|
|
|
{ stdenv, fetchFromGitHub, autoreconfHook
|
|
|
|
, lzmaSupport ? true, xz ? null
|
|
|
|
}:
|
2010-11-28 16:37:48 +00:00
|
|
|
|
2016-01-11 16:20:40 +00:00
|
|
|
assert lzmaSupport -> xz != null;
|
|
|
|
|
|
|
|
let
|
|
|
|
version = "3.0.11";
|
|
|
|
mkWith = flag: name: if flag
|
|
|
|
then "--with-${name}"
|
|
|
|
else "--without-${name}";
|
|
|
|
in stdenv.mkDerivation {
|
2015-04-16 22:25:24 +01:00
|
|
|
name = "xdelta-${version}";
|
2016-01-11 17:34:21 +00:00
|
|
|
|
2015-04-16 22:25:24 +01:00
|
|
|
src = fetchFromGitHub {
|
2016-01-11 16:18:37 +00:00
|
|
|
sha256 = "1c7xym7xr26phyf4wb9hh2w88ybzbzh2w3h1kyqq3da0ndidmf2r";
|
2015-04-16 22:25:24 +01:00
|
|
|
rev = "v${version}";
|
|
|
|
repo = "xdelta-devel";
|
|
|
|
owner = "jmacd";
|
2010-11-28 16:37:48 +00:00
|
|
|
};
|
|
|
|
|
2015-06-17 18:36:06 +01:00
|
|
|
nativeBuildInputs = [ autoreconfHook ];
|
2016-01-11 16:20:40 +00:00
|
|
|
buildInputs = []
|
|
|
|
++ stdenv.lib.optionals lzmaSupport [ xz ];
|
2010-11-28 16:37:48 +00:00
|
|
|
|
2015-04-16 22:25:24 +01:00
|
|
|
postPatch = ''
|
|
|
|
cd xdelta3
|
|
|
|
'';
|
|
|
|
|
2016-01-11 16:20:40 +00:00
|
|
|
configureFlags = [
|
|
|
|
(mkWith lzmaSupport "liblzma")
|
|
|
|
];
|
|
|
|
|
2015-04-16 22:25:24 +01:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
checkPhase = ''
|
2015-08-02 21:03:26 +01:00
|
|
|
mkdir $PWD/tmp
|
|
|
|
for i in testing/file.h xdelta3-test.h; do
|
|
|
|
substituteInPlace $i --replace /tmp $PWD/tmp
|
|
|
|
done
|
2015-04-16 22:25:24 +01:00
|
|
|
./xdelta3regtest
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
install -D -m755 xdelta3 $out/bin/xdelta3
|
|
|
|
install -D -m644 xdelta3.1 $out/share/man/man1/xdelta3.1
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
inherit version;
|
|
|
|
description = "Binary differential compression in VCDIFF (RFC 3284) format";
|
2010-11-28 16:37:48 +00:00
|
|
|
homepage = http://xdelta.org/;
|
2015-05-28 18:20:29 +01:00
|
|
|
license = licenses.gpl2Plus;
|
2015-11-17 20:29:29 +00:00
|
|
|
platforms = platforms.linux;
|
2015-04-16 22:25:24 +01:00
|
|
|
maintainers = with maintainers; [ nckx ];
|
2010-11-28 16:37:48 +00:00
|
|
|
};
|
|
|
|
}
|