Jan Tojnar 2020-04-13 14:44:04 +02:00
parent 87d598e310
commit 4f701dd3af
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4

View file

@ -1,47 +1,74 @@
{ docbook_xml_dtd_412, fetchurl, stdenv, perl, python2, zip, xmlto, zlib, fetchpatch }: { stdenv
, cmake
, pkg-config
, ninja
, fetchFromGitHub
, fetchpatch
, zip
, unzip
, python3
, xmlto
, zlib
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zziplib"; pname = "zziplib";
version = "0.13.69"; version = "0.13.71";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/gdraheim/zziplib/archive/v${version}.tar.gz"; owner = "gdraheim";
sha256 = "0i052a7shww0fzsxrdp3rd7g4mbzx7324a8ysbc0br7frpblcql4"; repo = "zziplib";
rev = "v${version}";
sha256 = "P+7D57sc2oIABhk3k96aRILpGnsND5SLXHh2lqr9O4E=";
}; };
patches = [ patches = [
# Fix ninja parsing
(fetchpatch { (fetchpatch {
name = "CVE-2018-17828.patch"; url = "https://github.com/gdraheim/zziplib/commit/75e22f3c365b62acbad8d8645d5404242800dfba.patch";
url = "https://github.com/gdraheim/zziplib/commit/f609ae8971f3c0ce6.diff"; sha256 = "IB0am3K0x4+Ug1CKvowTtkS8JD6zHJJ247A7guJOw80=";
sha256 = "0jhiz4fgr93wzh6q03avn95b2nsf6402jaki6hxirxyhs5v9ahry";
}) })
# Install man pages
(fetchpatch { (fetchpatch {
name = "CVE-2018-16548-part1.patch"; url = "https://github.com/gdraheim/zziplib/commit/5583ccc7a247ee27556ede344e93d3ac1dc72e9b.patch";
url = "https://github.com/gdraheim/zziplib/commit/9411bde3e4a70a81ff3ffd256b71927b2d90dcbb.patch"; sha256 = "wVExEZN8Ml1/3GicB0ZYsLVS3KJ8BSz8i4Gu46naz1Y=";
sha256 = "0cy8i182zbvcqzs5z2j13d5sl7hbh59pkgw4xkyg5yz739q4fp9b"; excludes = [ "GNUmakefile" ];
}) })
# Fix man page formatting
(fetchpatch { (fetchpatch {
name = "CVE-2018-16548-part2.patch"; url = "https://github.com/gdraheim/zziplib/commit/22ed64f13dc239f86664c60496261f544bce1088.patch";
url = "https://github.com/gdraheim/zziplib/commit/d2e5d5c53212e54a97ad64b793a4389193fec687.patch"; sha256 = "ScFVWLc4LQPqkcHn9HK/VkLula4b5HzuYl0b5vi4Ikc=";
sha256 = "153wd4vab8xqj9avcpx8g2zw9qsp9nkaqi7yc65pz3r7xfcxwdla";
})
(fetchpatch {
name = "CVE-2018-16548-part3.patch";
url = "https://github.com/gdraheim/zziplib/commit/0e1dadb05c1473b9df2d7b8f298dab801778ef99.patch";
sha256 = "0fs6dns8l7dz5a900397g8b7x62z72b0pbpdmwk1hnx6vb7z5rz5";
}) })
]; ];
postPatch = ''
sed -i -e s,--export-dynamic,, configure
'';
buildInputs = [ docbook_xml_dtd_412 perl python2 zip xmlto zlib ]; nativeBuildInputs = [
cmake
pkg-config
ninja # make fails, unable to find test2.zip
zip
python3
xmlto
];
buildInputs = [
zlib
];
checkInputs = [
unzip
];
cmakeFlags = [
"-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
];
# tests are broken (https://github.com/gdraheim/zziplib/issues/20), # tests are broken (https://github.com/gdraheim/zziplib/issues/20),
# and test/zziptests.py requires network access # and test/zziptests.py requires network access
# (https://github.com/gdraheim/zziplib/issues/24) # (https://github.com/gdraheim/zziplib/issues/24)
doCheck = false; doCheck = false;
checkTarget = "check";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library to extract data from files archived in a zip file"; description = "Library to extract data from files archived in a zip file";
@ -60,6 +87,6 @@ stdenv.mkDerivation rec {
homepage = "http://zziplib.sourceforge.net/"; homepage = "http://zziplib.sourceforge.net/";
maintainers = [ ]; maintainers = [ ];
platforms = python2.meta.platforms; platforms = python3.meta.platforms;
}; };
} }