From c0f6910758a816d7be066a1cbccb487c6139f300 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Thu, 28 Feb 2013 15:43:06 +0100 Subject: fuse_zip: fix with new libzip --- pkgs/tools/filesystems/fuse-zip/default.nix | 6 ++++-- pkgs/tools/filesystems/fuse-zip/libzip.patch | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/filesystems/fuse-zip/libzip.patch (limited to 'pkgs/tools/filesystems/fuse-zip') diff --git a/pkgs/tools/filesystems/fuse-zip/default.nix b/pkgs/tools/filesystems/fuse-zip/default.nix index 346b11015f46..a5ac74fe47a5 100644 --- a/pkgs/tools/filesystems/fuse-zip/default.nix +++ b/pkgs/tools/filesystems/fuse-zip/default.nix @@ -2,16 +2,18 @@ stdenv.mkDerivation rec { name = "fuse-zip-0.2.13"; - + src = fetchurl { url = "http://fuse-zip.googlecode.com/files/${name}.tar.gz"; sha1 = "9cfa00e38a59d4e06fd47bfaca75ad5e299ecc6b"; }; + patches = [ ./libzip.patch ]; # problems with new libzip; from Gentoo + buildInputs = [ pkgconfig fuse libzip zlib ]; makeFlags = "INSTALLPREFIX=$(out)"; - + meta = { homepage = http://code.google.com/p/fuse-zip/; description = "A FUSE-based filesystem that allows read and write access to ZIP files"; diff --git a/pkgs/tools/filesystems/fuse-zip/libzip.patch b/pkgs/tools/filesystems/fuse-zip/libzip.patch new file mode 100644 index 000000000000..f2348e5f1bab --- /dev/null +++ b/pkgs/tools/filesystems/fuse-zip/libzip.patch @@ -0,0 +1,24 @@ +diff -ru fuse-zip-0.2.13/lib/bigBuffer.cpp fuse-zip-0.2.13.new//lib/bigBuffer.cpp +--- fuse-zip-0.2.13/lib/bigBuffer.cpp 2010-12-06 12:34:32.000000000 -0500 ++++ fuse-zip-0.2.13.new//lib/bigBuffer.cpp 2011-09-28 21:40:01.294946957 -0400 +@@ -236,7 +236,7 @@ + len = offset; + } + +-ssize_t BigBuffer::zipUserFunctionCallback(void *state, void *data, size_t len, enum zip_source_cmd cmd) { ++zip_int64_t BigBuffer::zipUserFunctionCallback(void *state, void *data, zip_uint64_t len, enum zip_source_cmd cmd) { + CallBackStruct *b = (CallBackStruct*)state; + switch (cmd) { + case ZIP_SOURCE_OPEN: { +diff -ru fuse-zip-0.2.13/lib/bigBuffer.h fuse-zip-0.2.13.new//lib/bigBuffer.h +--- fuse-zip-0.2.13/lib/bigBuffer.h 2010-12-06 12:34:32.000000000 -0500 ++++ fuse-zip-0.2.13.new//lib/bigBuffer.h 2011-09-28 21:40:23.203719133 -0400 +@@ -52,7 +52,7 @@ + * never called because read() always successfull. + * See zip_source_function(3) for details. + */ +- static ssize_t zipUserFunctionCallback(void *state, void *data, size_t len, enum zip_source_cmd cmd); ++ static zip_int64_t zipUserFunctionCallback(void *state, void *data, zip_uint64_t len, enum zip_source_cmd cmd); + + /** + * Return number of chunks needed to keep 'offset' bytes. -- cgit 1.4.1