zkfuse: init

+42
+25
pkgs/tools/filesystems/zkfuse/default.nix
···
··· 1 + { stdenv, lib, zookeeper, zookeeper_mt, fuse, pkgconfig, autoreconfHook, log4cxx, boost, tree }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "zkfuse"; 5 + 6 + src = zookeeper.src; 7 + patches = [ 8 + # see: https://issues.apache.org/jira/browse/ZOOKEEPER-1929 9 + ./zookeeper-1929.patch 10 + ]; 11 + 12 + setSourceRoot = "export sourceRoot=${zookeeper.name}/src/contrib/zkfuse"; 13 + 14 + buildInputs = [ autoreconfHook zookeeper_mt log4cxx boost fuse ]; 15 + 16 + installPhase = '' 17 + mkdir -p $out/bin 18 + cp -v src/zkfuse $out/bin 19 + ''; 20 + 21 + meta = with lib; { 22 + platforms = platforms.linux; 23 + maintainers = with maintainers; [ cstrahan ]; 24 + }; 25 + }
+15
pkgs/tools/filesystems/zkfuse/zookeeper-1929.patch
···
··· 1 + diff --git a/src/contrib/zkfuse/src/zkadapter.cc b/src/contrib/zkfuse/src/zkadapter.cc 2 + index 886051d..93dbef5 100644 3 + --- a/src/zkadapter.cc 4 + +++ b/src/zkadapter.cc 5 + @@ -845,7 +845,10 @@ ZooKeeperAdapter::getNodeData(const string &path, 6 + string("Unable to get data of node ") + path, rc 7 + ); 8 + } else { 9 + - return string( buffer, buffer + len ); 10 + + if (len == -1) { 11 + + len = 0; 12 + + }; 13 + + return string( buffer, len ); 14 + } 15 + }
+2
pkgs/top-level/all-packages.nix
··· 3652 3653 zip = callPackage ../tools/archivers/zip { }; 3654 3655 zpaq = callPackage ../tools/archivers/zpaq { }; 3656 zpaqd = callPackage ../tools/archivers/zpaq/zpaqd.nix { }; 3657
··· 3652 3653 zip = callPackage ../tools/archivers/zip { }; 3654 3655 + zkfuse = callPackage ../tools/filesystems/zkfuse { }; 3656 + 3657 zpaq = callPackage ../tools/archivers/zpaq { }; 3658 zpaqd = callPackage ../tools/archivers/zpaq/zpaqd.nix { }; 3659