lol
1{ lib
2, stdenv
3, fetchurl
4, makeWrapper
5, jdk8_headless
6, jdk11_headless
7, nixosTests
8}:
9
10let common = { version, hash, jdk ? jdk11_headless, tests }:
11 stdenv.mkDerivation rec {
12 pname = "hbase";
13 inherit version;
14
15 src = fetchurl {
16 url = "mirror://apache/hbase/${version}/hbase-${version}-bin.tar.gz";
17 inherit hash;
18 };
19
20 nativeBuildInputs = [ makeWrapper ];
21 installPhase = ''
22 mkdir -p $out
23 cp -R * $out
24 wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home} \
25 --run "test -d /etc/hadoop-conf && export HBASE_CONF_DIR=\''${HBASE_CONF_DIR-'/etc/hadoop-conf/'}" \
26 --set-default HBASE_CONF_DIR "$out/conf/"
27 '';
28
29 passthru = { inherit tests; };
30
31 meta = with lib; {
32 description = "A distributed, scalable, big data store";
33 homepage = "https://hbase.apache.org";
34 license = licenses.asl20;
35 maintainers = with lib.maintainers; [ illustris ];
36 platforms = lib.platforms.linux;
37 };
38 };
39in
40{
41 hbase_2_4 = common {
42 version = "2.4.15";
43 hash = "sha256-KJXpfQ91POVd7ZnKQyIX5qzX4JIZqh3Zn2Pz0chW48g=";
44 tests.standalone = nixosTests.hbase_2_4;
45 };
46 hbase_2_5 = common {
47 version = "2.5.1";
48 hash = "sha256-ddSa4q43PSJv1W4lzzaXfv4LIThs4n8g8wYufHgsZVE=";
49 tests.standalone = nixosTests.hbase2;
50 };
51 hbase_3_0 = common {
52 version = "3.0.0-alpha-3";
53 hash = "sha256-TxuiUHc2pTb9nBth1H2XrDRLla2vqM+e1uBU+yY2/EM=";
54 tests.standalone = nixosTests.hbase3;
55 };
56}