fuse_zip: fix with new libzip

This commit is contained in:
Vladimír Čunát 2013-02-28 15:43:06 +01:00
parent 4cf8fa5f8a
commit c0f6910758
2 changed files with 28 additions and 2 deletions

@ -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";

@ -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.