pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / servers / zookeeper / default.nix
blobf230b9d8d21e17518c3ac7f2f26056dc24728aa8
1 { lib, stdenv, fetchurl, jdk11_headless, makeWrapper, nixosTests, bash, coreutils }:
2 let
3   # Latest supported LTS JDK for Zookeeper 3.9:
4   # https://zookeeper.apache.org/doc/r3.9.2/zookeeperAdmin.html#sc_requiredSoftware
5   jre = jdk11_headless;
6 in
7 stdenv.mkDerivation rec {
8   pname = "zookeeper";
9   version = "3.9.3";
11   src = fetchurl {
12     url = "mirror://apache/zookeeper/${pname}-${version}/apache-${pname}-${version}-bin.tar.gz";
13     hash = "sha512-1E2HDBaRZi778ai68YWckBuCDcX/Fjs26BvrJ7b7880xtfHwdWl+2q9tPnpMsMyS+STc/2SylO8T1TVYm9rxQw==";
14   };
16   nativeBuildInputs = [ makeWrapper ];
17   buildInputs = [ jre ];
19   installPhase = ''
20     runHook preInstall
21     mkdir -p $out
22     cp -R conf docs lib $out
23     mkdir -p $out/bin
24     cp -R bin/{zkCli,zkCleanup,zkEnv,zkServer,zkSnapShotToolkit,zkTxnLogToolkit}.sh $out/bin
25     patchShebangs $out/bin
26     substituteInPlace $out/bin/zkServer.sh \
27         --replace-fail /bin/echo ${coreutils}/bin/echo
28     for i in $out/bin/{zkCli,zkCleanup,zkServer,zkSnapShotToolkit,zkTxnLogToolkit}.sh; do
29       wrapProgram $i \
30         --set JAVA_HOME "${jre}" \
31         --prefix PATH : "${bash}/bin"
32     done
33     chmod -x $out/bin/zkEnv.sh
34     runHook postInstall
35   '';
37   passthru = {
38     tests = {
39       nixos = nixosTests.zookeeper;
40     };
41     inherit jre;
42   };
44   meta = with lib; {
45     homepage = "https://zookeeper.apache.org";
46     description = "Apache Zookeeper";
47     changelog = "https://zookeeper.apache.org/doc/r${version}/releasenotes.html";
48     license = licenses.asl20;
49     maintainers = with maintainers; [ nathan-gs pradeepchhetri ztzg ];
50     platforms = platforms.unix;
51     sourceProvenance = with sourceTypes; [ binaryBytecode ];
52   };