185 lines
6.4 KiB
Nix
185 lines
6.4 KiB
Nix
{ stdenv, autoconf, automake, curl, fetchurl, jdk, jre, makeWrapper, nettools, python }:
|
|
with stdenv.lib;
|
|
let
|
|
thirdPartyDeps = {
|
|
guava = {
|
|
"guava-18.0.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/com/google/guava/guava/18.0/guava-18.0.jar;
|
|
md5 = "947641f6bb535b1d942d1bc387c45290";
|
|
};
|
|
};
|
|
gwt = {
|
|
"gwt-dev-2.6.0.jar" = fetchurl {
|
|
url = http://central.maven.org/maven2/com/google/gwt/gwt-dev/2.6.0/gwt-dev-2.6.0.jar;
|
|
md5 = "23d8bf52709230c2c7e6dd817261f9ee";
|
|
};
|
|
"gwt-user-2.6.0.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/com/google/gwt/gwt-user/2.6.0/gwt-user-2.6.0.jar;
|
|
md5 = "99226fc2764f2b8fd6db6e05d0847659";
|
|
};
|
|
};
|
|
hamcrest = {
|
|
"hamcrest-core-1.3.jar" = fetchurl {
|
|
url = http://central.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar;
|
|
md5 = "6393363b47ddcbba82321110c3e07519";
|
|
};
|
|
};
|
|
hbase = {
|
|
"asynchbase-1.6.0.jar" = fetchurl {
|
|
url = http://central.maven.org/maven2/org/hbase/asynchbase/1.6.0/asynchbase-1.6.0.jar;
|
|
md5 = "6738dd73fd48d30cbf5c78f62bc18852";
|
|
};
|
|
};
|
|
jackson = {
|
|
"jackson-annotations-2.4.3.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.4.3/jackson-annotations-2.4.3.jar;
|
|
md5 = "31ef4fa866f9d24960a6807c9c299e98";
|
|
};
|
|
"jackson-core-2.4.3.jar" = fetchurl {
|
|
url = http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.4.3/jackson-core-2.4.3.jar;
|
|
md5 = "750ef3d86f04fe0d6d14d6ae904a6d2d";
|
|
};
|
|
"jackson-databind-2.4.3.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.4.3/jackson-databind-2.4.3.jar;
|
|
md5 = "4fcb9f74280eaa21de10191212c65b11";
|
|
};
|
|
};
|
|
javassist = {
|
|
"javassist-3.18.1-GA.jar" = fetchurl {
|
|
url = http://central.maven.org/maven2/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar;
|
|
md5 = "5bb83868c87334320562af7eded65cc2";
|
|
};
|
|
};
|
|
junit = {
|
|
"junit-4.11.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/junit/junit/4.11/junit-4.11.jar;
|
|
md5 = "3c42be5ea7cbf3635716abbb429cb90d";
|
|
};
|
|
};
|
|
logback = {
|
|
"logback-classic-1.0.13.jar" = fetchurl {
|
|
url = https://opentsdb.googlecode.com/files/logback-classic-1.0.13.jar;
|
|
md5 = "b4dc8eb42150aafd6d9fd3d211807621";
|
|
};
|
|
"logback-core-1.0.13.jar" = fetchurl {
|
|
url = https://opentsdb.googlecode.com/files/logback-core-1.0.13.jar;
|
|
md5 = "3d5f8ce8dca36e493d39177b71958bd4";
|
|
};
|
|
};
|
|
mockito = {
|
|
"mockito-1.9.0.jar" = fetchurl {
|
|
url = https://opentsdb.googlecode.com/files/mockito-1.9.0.jar;
|
|
md5 = "cab21b44958a173a5b1d55a6aff0ab54";
|
|
};
|
|
"mockito-core-1.9.5.jar" = fetchurl {
|
|
url = https://opentsdb.googlecode.com/files/mockito-core-1.9.5.jar;
|
|
md5 = "98f3076e2a691d1ac291624e5a46b80b";
|
|
};
|
|
};
|
|
netty = {
|
|
"netty-3.9.4.Final.jar" = fetchurl {
|
|
url = http://central.maven.org/maven2/io/netty/netty/3.9.4.Final/netty-3.9.4.Final.jar;
|
|
md5 = "b3701ef46c7518d0d63705e2f092dbe5";
|
|
};
|
|
};
|
|
objenesis = {
|
|
"objenesis-1.3.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/org/objenesis/objenesis/1.3/objenesis-1.3.jar;
|
|
md5 = "2d649907bd6203f2661f70d430a6ade8";
|
|
};
|
|
};
|
|
powermock = {
|
|
"powermock-mockito-release-full-1.5.4-full.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/org/powermock/powermock-mockito-release-full/1.5.4/powermock-mockito-release-full-1.5.4-full.jar;
|
|
md5 = "5dee1dce6952bb7338d4d053157ae647";
|
|
};
|
|
};
|
|
protobuf = {
|
|
"protobuf-java-2.5.0.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar;
|
|
md5 = "a44473b98947e2a54c54e0db1387d137";
|
|
};
|
|
};
|
|
slf4j = {
|
|
"log4j-over-slf4j-1.7.7.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/org/slf4j/log4j-over-slf4j/1.7.7/log4j-over-slf4j-1.7.7.jar;
|
|
md5 = "93ab42a5216afd683c35988c6b6fc3d8";
|
|
};
|
|
"slf4j-api-1.7.7.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar;
|
|
md5 = "ca4280bf93d64367723ae5c8d42dd0b9";
|
|
};
|
|
};
|
|
suasync = {
|
|
"suasync-1.4.0.jar" = fetchurl {
|
|
url = https://opentsdb.googlecode.com/files/suasync-1.4.0.jar;
|
|
md5 = "289ce3f3e6a9bb17857981eacf6d74b6";
|
|
};
|
|
};
|
|
validation-api = {
|
|
"validation-api-1.0.0.GA.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA.jar;
|
|
md5 = "40c1ee909493066397a6d4d9f8d375d8";
|
|
};
|
|
"validation-api-1.0.0.GA-sources.jar" = fetchurl {
|
|
url = http://repo1.maven.org/maven2/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-sources.jar;
|
|
md5 = "f816682933b59c5ffe32bdb4ab4bf628";
|
|
};
|
|
};
|
|
zookeeper = {
|
|
"zookeeper-3.3.6.jar" = fetchurl {
|
|
url = https://opentsdb.googlecode.com/files/zookeeper-3.3.6.jar;
|
|
md5 = "02786e11c19d1671640992f1bda4a858";
|
|
};
|
|
};
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
name = "opentsdb-2.1.0-rc1";
|
|
|
|
src = fetchurl {
|
|
url = https://github.com/OpenTSDB/opentsdb/archive/v2.1.0RC1.tar.gz;
|
|
sha256 = "01li02j8kjanmas2gxkcz3gsn54nyfyvqdylxz3fqqjgg6y7hrm7";
|
|
};
|
|
|
|
buildInputs = [ autoconf automake curl jdk makeWrapper nettools python ];
|
|
|
|
configurePhase = ''
|
|
echo > build-aux/fetchdep.sh.in
|
|
./bootstrap
|
|
mkdir build
|
|
cd build
|
|
../configure --prefix=$out
|
|
patchShebangs ./build-aux/
|
|
'';
|
|
|
|
buildPhase =
|
|
concatStringsSep
|
|
"\n"
|
|
(mapAttrsToList
|
|
(folder: jars:
|
|
"mkdir -p third_party/${folder}\n" +
|
|
(concatStringsSep
|
|
"\n"
|
|
(mapAttrsToList
|
|
(jar: src:
|
|
"ln -s ${src} third_party/${folder}/${jar}")
|
|
jars)))
|
|
thirdPartyDeps);
|
|
|
|
installPhase = ''
|
|
make install
|
|
wrapProgram $out/bin/tsdb \
|
|
--set JAVA_HOME "${jre}" \
|
|
--set JAVA "${jre}/bin/java"
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Time series database with millisecond precision";
|
|
homepage = http://opentsdb.net;
|
|
license = licenses.lgpl21Plus;
|
|
platforms = stdenv.lib.platforms.linux;
|
|
maintainers = [ maintainers.ocharles ];
|
|
};
|
|
}
|