diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/zziplib')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/zziplib/default.nix | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/zziplib/default.nix b/nixpkgs/pkgs/development/libraries/zziplib/default.nix new file mode 100644 index 000000000000..670a911cb6eb --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/zziplib/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, cmake +, pkg-config +, ninja +, fetchFromGitHub +, fetchpatch +, zip +, unzip +, python3 +, xmlto +, zlib +}: + +stdenv.mkDerivation rec { + pname = "zziplib"; + version = "0.13.71"; + + src = fetchFromGitHub { + owner = "gdraheim"; + repo = "zziplib"; + rev = "v${version}"; + sha256 = "P+7D57sc2oIABhk3k96aRILpGnsND5SLXHh2lqr9O4E="; + }; + + patches = [ + # Fix ninja parsing + (fetchpatch { + url = "https://github.com/gdraheim/zziplib/commit/75e22f3c365b62acbad8d8645d5404242800dfba.patch"; + sha256 = "IB0am3K0x4+Ug1CKvowTtkS8JD6zHJJ247A7guJOw80="; + }) + + # Install man pages + (fetchpatch { + url = "https://github.com/gdraheim/zziplib/commit/5583ccc7a247ee27556ede344e93d3ac1dc72e9b.patch"; + sha256 = "wVExEZN8Ml1/3GicB0ZYsLVS3KJ8BSz8i4Gu46naz1Y="; + excludes = [ "GNUmakefile" ]; + }) + + # Fix man page formatting + (fetchpatch { + url = "https://github.com/gdraheim/zziplib/commit/22ed64f13dc239f86664c60496261f544bce1088.patch"; + sha256 = "ScFVWLc4LQPqkcHn9HK/VkLula4b5HzuYl0b5vi4Ikc="; + }) + ]; + + 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), + # and test/zziptests.py requires network access + # (https://github.com/gdraheim/zziplib/issues/24) + doCheck = false; + checkTarget = "check"; + + meta = with stdenv.lib; { + description = "Library to extract data from files archived in a zip file"; + + longDescription = '' + The zziplib library is intentionally lightweight, it offers the ability + to easily extract data from files archived in a single zip + file. Applications can bundle files into a single zip archive and + access them. The implementation is based only on the (free) subset of + compression with the zlib algorithm which is actually used by the + zip/unzip tools. + ''; + + license = with licenses; [ lgpl2Plus mpl11 ]; + + homepage = "http://zziplib.sourceforge.net/"; + + maintainers = [ ]; + platforms = python3.meta.platforms; + }; +} |