diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix b/nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix index b957253eebec..ea786d770eb6 100644 --- a/nixpkgs/pkgs/development/libraries/zookeeper_mt/default.nix +++ b/nixpkgs/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"; + }; + + sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-client/zookeeper-client-c"; + + nativeBuildInputs = [ + autoreconfHook + jre + ]; - setSourceRoot = "export sourceRoot=${zookeeper.name}/src/c"; + buildInputs = [ + openssl + pkg-config + zookeeper + ]; - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-Wno-error=format-overflow -Wno-error=stringop-truncation"; + # 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 .. + ''; - buildInputs = [ zookeeper bash ]; + 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.boothead ]; + maintainers = with maintainers; [ commandodev ztzg ]; platforms = platforms.unix; }; } |