summaryrefslogtreecommitdiff
path: root/pkgs/servers/hbase/default.nix
blob: 8e494c049ca32d345f3f1a5c998cc7b97fd8cd47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{
  lib,
  stdenv,
  fetchurl,
  makeWrapper,
  jdk11_headless,
  nixosTests,
}:

let
  common =
    {
      version,
      hash,
      jdk ? jdk11_headless,
      tests,
    }:
    stdenv.mkDerivation rec {
      pname = "hbase";
      inherit version;

      src = fetchurl {
        url = "mirror://apache/hbase/${version}/hbase-${version}-bin.tar.gz";
        inherit hash;
      };

      nativeBuildInputs = [ makeWrapper ];
      installPhase = ''
        mkdir -p $out
        cp -R * $out
        wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home} \
          --run "test -d /etc/hadoop-conf && export HBASE_CONF_DIR=\''${HBASE_CONF_DIR-'/etc/hadoop-conf/'}" \
          --set-default HBASE_CONF_DIR "$out/conf/"
      '';

      passthru = { inherit tests; };

      meta = {
        description = "Distributed, scalable, big data store";
        homepage = "https://hbase.apache.org";
        license = lib.licenses.asl20;
        maintainers = with lib.maintainers; [ illustris ];
        platforms = lib.platforms.linux;
      };
    };
in
{
  hbase_2_4 = common {
    version = "2.4.18";
    hash = "sha256-zYrHAxzlPRrRchHGVp3fhQT0BD0+wavZ4cAWncrv+MQ=";
    tests.standalone = nixosTests.hbase_2_4;
  };
  hbase_2_5 = common {
    version = "2.5.11";
    hash = "sha256-W3o8J+aY2bQoiu1Lr1n5EQWDVoS1OwWTNIUAU03a5Es=";
    tests.standalone = nixosTests.hbase_2_5;
  };
  hbase_2_6 = common {
    version = "2.6.2";
    hash = "sha256-X/mjmTAx9anh2U/Xlfuf+O4AO5BXDkdsY69tPddEpYM=";
    tests.standalone = nixosTests.hbase2;
  };
  hbase_3_0 = common {
    version = "3.0.0-beta-1";
    hash = "sha256-lmeaH2gDP6sBwZpzROKhR2Je7dcrwnq7qlMUh0B5fZs=";
    tests.standalone = nixosTests.hbase3;
  };
}