2015-12-04 00:12:25 +00:00
|
|
|
{ stdenv, fetchurl, makeWrapper, jre, utillinux, getopt }:
|
|
|
|
|
|
|
|
with stdenv.lib;
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2017-01-20 08:51:40 +00:00
|
|
|
version = "2.4.4";
|
2015-12-04 00:12:25 +00:00
|
|
|
name = "elasticsearch-${version}";
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/${version}/${name}.tar.gz";
|
2017-01-20 08:51:40 +00:00
|
|
|
sha256 = "1qjq04sfqb35pf2xpvr8j5p27chfxpjp8ymrp1h5bfk5rbk9444q";
|
2015-12-04 00:12:25 +00:00
|
|
|
};
|
|
|
|
|
2017-02-09 00:24:00 +00:00
|
|
|
patches = [ ./es-home-2.x.patch ./es-classpath-2.x.patch ];
|
2015-12-04 00:12:25 +00:00
|
|
|
|
|
|
|
buildInputs = [ makeWrapper jre ] ++
|
|
|
|
(if (!stdenv.isDarwin) then [utillinux] else [getopt]);
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out
|
2016-04-29 10:01:13 +00:00
|
|
|
cp -R bin config lib modules $out
|
2015-12-04 00:12:25 +00:00
|
|
|
|
|
|
|
# don't want to have binary with name plugin
|
|
|
|
mv $out/bin/plugin $out/bin/elasticsearch-plugin
|
2017-02-09 00:24:00 +00:00
|
|
|
wrapProgram $out/bin/elasticsearch \
|
|
|
|
--prefix ES_CLASSPATH : "$out/lib/${name}.jar":"$out/lib/*" \
|
|
|
|
${if (!stdenv.isDarwin)
|
2015-12-04 00:12:25 +00:00
|
|
|
then ''--prefix PATH : "${utillinux}/bin/"''
|
|
|
|
else ''--prefix PATH : "${getopt}/bin"''} \
|
|
|
|
--set JAVA_HOME "${jre}"
|
|
|
|
wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre}"
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Open Source, Distributed, RESTful Search Engine";
|
|
|
|
license = licenses.asl20;
|
|
|
|
platforms = platforms.unix;
|
|
|
|
maintainers = [
|
|
|
|
maintainers.offline
|
|
|
|
maintainers.markWot
|
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|