From 03dec29a4f57d81b47640951f6d94e126fcca00a Mon Sep 17 00:00:00 2001
From: Damien Diederen
Date: Mon, 23 Nov 2020 21:17:32 +0100
Subject: [PATCH] zkfuse: adapt to zookeeper_mt 3.6.2
---
pkgs/tools/filesystems/zkfuse/default.nix | 28 ++++++++++++++++++-----
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/pkgs/tools/filesystems/zkfuse/default.nix b/pkgs/tools/filesystems/zkfuse/default.nix
index 89516d525af..456444f3bf5 100644
--- a/pkgs/tools/filesystems/zkfuse/default.nix
+++ b/pkgs/tools/filesystems/zkfuse/default.nix
@@ -1,14 +1,30 @@
-{ stdenv, lib, zookeeper, zookeeper_mt, fuse, autoreconfHook, log4cxx, boost }:
+{ stdenv
+, lib
+, autoreconfHook
+, gnused
+, boost
+, fuse
+, log4cxx
+, zookeeper
+, zookeeper_mt
+}:
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
pname = "zkfuse";
- inherit (zookeeper) version src;
+ inherit (zookeeper_mt) version src;
- sourceRoot = "${zookeeper.name}/src/contrib/zkfuse";
+ sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-contrib/zookeeper-contrib-zkfuse";
- nativeBuildInputs = [ autoreconfHook ];
+ nativeBuildInputs = [ autoreconfHook gnused ];
buildInputs = [ zookeeper_mt log4cxx boost fuse ];
+ postPatch = ''
+ # Make the async API accessible, and use the proper include path.
+ sed -i src/zkadapter.h \
+ -e '/"zookeeper\.h"/i#define THREADED' \
+ -e 's,"zookeeper\.h",,'
+ '';
+
installPhase = ''
mkdir -p $out/bin
cp -v src/zkfuse $out/bin
@@ -16,7 +32,7 @@ stdenv.mkDerivation {
meta = with lib; {
platforms = platforms.linux;
- maintainers = with maintainers; [ cstrahan ];
+ maintainers = with maintainers; [ cstrahan ztzg ];
license = licenses.asl20;
};
}