From afc1994f43e2ca2347370d85feac3e90452d9139 Mon Sep 17 00:00:00 2001
From: Damien Diederen
Date: Mon, 23 Nov 2020 20:42:06 +0100
Subject: [PATCH] zookeeper_mt: 3.4.12 -> 3.6.2
---
.../libraries/zookeeper_mt/default.nix | 51 ++++++++++++++++---
1 file changed, 43 insertions(+), 8 deletions(-)
diff --git a/pkgs/development/libraries/zookeeper_mt/default.nix b/pkgs/development/libraries/zookeeper_mt/default.nix
index 0015600f970..ea786d770eb 100644
--- a/pkgs/development/libraries/zookeeper_mt/default.nix
+++ b/pkgs/development/libraries/zookeeper_mt/default.nix
@@ -1,21 +1,56 @@
-{ stdenv, zookeeper, bash }:
+{ stdenv
+, fetchurl
+, autoreconfHook
+, jre
+, openssl
+, pkg-config
+# We depend on ZooKeeper for the Jute compiler.
+, zookeeper
+}:
stdenv.mkDerivation rec {
- name = "zookeeper_mt-${stdenv.lib.getVersion zookeeper}";
+ pname = "zookeeper_mt";
+ version = stdenv.lib.getVersion zookeeper;
- src = zookeeper.src;
+ src = fetchurl {
+ url = "mirror://apache/zookeeper/${zookeeper.pname}-${version}/apache-${zookeeper.pname}-${version}.tar.gz";
+ sha512 = "16994067d460a1b6af6a71f3458c64ee32629e876a1ff6646d57be62f1a5adab57462af84074ecaded4186dd3fde035ee24cd9d578b8e5044073eb05f4ab9c3e";
+ };
- setSourceRoot = "export sourceRoot=${zookeeper.name}/src/c";
+ sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-client/zookeeper-client-c";
- NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-Wno-error=format-overflow -Wno-error=stringop-truncation";
+ nativeBuildInputs = [
+ autoreconfHook
+ jre
+ ];
- buildInputs = [ zookeeper bash ];
+ buildInputs = [
+ openssl
+ pkg-config
+ zookeeper
+ ];
+
+ # Generate the C marshallers/unmarshallers for the Jute-encoded
+ # definitions.
+ preConfigure = ''
+ mkdir generated
+ cd generated
+ java -cp ${zookeeper}/lib/${zookeeper.pname}-jute-${version}.jar \
+ org.apache.jute.compiler.generated.Rcc -l c \
+ ../../../zookeeper-jute/src/main/resources/zookeeper.jute
+ cd ..
+ '';
+
+ configureFlags = [
+ # We're not going to start test servers in the sandbox anyway.
+ "--without-cppunit"
+ ];
meta = with stdenv.lib; {
- homepage = "http://zookeeper.apache.org";
+ homepage = "https://zookeeper.apache.org";
description = "Apache Zookeeper";
license = licenses.asl20;
- maintainers = [ maintainers.commandodev ];
+ maintainers = with maintainers; [ commandodev ztzg ];
platforms = platforms.unix;
};
}