forked from mirrors/nixpkgs
cb2576c1b6
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
58 lines
1.5 KiB
Nix
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;
|
|
};
|
|
}
|