nixpkgs/pkgs/servers/hbase/default.nix
illustris cb2576c1b6 hadoop,hbase: better default for HADOOP_CONF_DIR and HBASE_CONF_DIR
order of precedence:
- env var HADOOP_CONF_DIR for hadoop and HBASE_CONF_DIR for hbase, if set
- /etc/hadoop-conf, if present
- default confs in package
2022-08-07 21:21:45 +02:00

58 lines
1.5 KiB
Nix

{ lib
, stdenv
, fetchurl
, makeWrapper
, jdk8_headless
, 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 = with lib; {
description = "A distributed, scalable, big data store";
homepage = "https://hbase.apache.org";
license = licenses.asl20;
maintainers = with lib.maintainers; [ illustris ];
platforms = lib.platforms.linux;
};
};
in
{
hbase_1_7 = common {
version = "1.7.1";
hash = "sha256-DrH2G79QLT8L0YTTmAGC9pUWU8semSaTOsrsQRCI2rY=";
jdk = jdk8_headless;
tests.standalone = nixosTests.hbase1;
};
hbase_2_4 = common {
version = "2.4.11";
hash = "sha256-m0vjUtPaj8czHHh+rQNJJgrFAM744cHd06KE0ut7QeU=";
tests.standalone = nixosTests.hbase2;
};
hbase_3_0 = common {
version = "3.0.0-alpha-2";
hash = "sha256-QPvgO1BeFWvMT5PdUm/SL92ZgvSvYIuJbzolbBTenz4=";
tests.standalone = nixosTests.hbase3;
};
}