From 13352f28d2b587a01c262cbee29678209c919e95 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Sun, 14 Apr 2019 21:39:46 +0200 Subject: elk7: init at 7.0.0 This adds the following new packages: + elasticsearch7 + elasticsearch7-oss + logstash7 + logstash7-oss + kibana7 + kibana7-oss + filebeat7 + heartbeat7 + metricbeat7 + packetbeat7 + journalbeat7 The default major version of the ELK stack stays at 6. We should probably set it to 7 in a next commit. --- pkgs/servers/search/elasticsearch/6.x.nix | 72 +++++++++++++++++++++++ pkgs/servers/search/elasticsearch/7.x.nix | 83 +++++++++++++++++++++++++++ pkgs/servers/search/elasticsearch/default.nix | 72 ----------------------- 3 files changed, 155 insertions(+), 72 deletions(-) create mode 100644 pkgs/servers/search/elasticsearch/6.x.nix create mode 100644 pkgs/servers/search/elasticsearch/7.x.nix delete mode 100644 pkgs/servers/search/elasticsearch/default.nix (limited to 'pkgs/servers/search/elasticsearch') diff --git a/pkgs/servers/search/elasticsearch/6.x.nix b/pkgs/servers/search/elasticsearch/6.x.nix new file mode 100644 index 00000000000..df7324a73f4 --- /dev/null +++ b/pkgs/servers/search/elasticsearch/6.x.nix @@ -0,0 +1,72 @@ +{ elk6Version +, enableUnfree ? true +, stdenv +, fetchurl +, makeWrapper +, jre_headless +, utillinux +, autoPatchelfHook +, zlib +}: + +with stdenv.lib; + +stdenv.mkDerivation (rec { + version = elk6Version; + name = "elasticsearch-${optionalString (!enableUnfree) "oss-"}${version}"; + + src = fetchurl { + url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz"; + sha256 = + if enableUnfree + then "1qh6iz3qhw8zcvxfss5w3h89zarwvk6dp5bbbag7c30kh94gkqvv" + else "13v8qpslanfn5w81qvbg0aqh510yfbl3x59kisvdkz9ifhjbcavi"; + }; + + patches = [ ./es-home-6.x.patch ]; + + postPatch = '' + substituteInPlace bin/elasticsearch-env --replace \ + "ES_CLASSPATH=\"\$ES_HOME/lib/*\"" \ + "ES_CLASSPATH=\"$out/lib/*\"" + + substituteInPlace bin/elasticsearch-cli --replace \ + "ES_CLASSPATH=\"\$ES_CLASSPATH:\$ES_HOME/\$additional_classpath_directory/*\"" \ + "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\"" + ''; + + buildInputs = [ makeWrapper jre_headless utillinux ] + ++ optional enableUnfree zlib; + + installPhase = '' + mkdir -p $out + cp -R bin config lib modules plugins $out + + chmod -x $out/bin/*.* + + wrapProgram $out/bin/elasticsearch \ + --prefix PATH : "${utillinux}/bin/" \ + --set JAVA_HOME "${jre_headless}" + + wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}" + ''; + + passthru = { inherit enableUnfree; }; + + meta = { + description = "Open Source, Distributed, RESTful Search Engine"; + license = if enableUnfree then licenses.elastic else licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ apeschar basvandijk ]; + }; +} // optionalAttrs enableUnfree { + dontPatchELF = true; + nativeBuildInputs = [ autoPatchelfHook ]; + runtimeDependencies = [ zlib ]; + postFixup = '' + for exe in $(find $out/modules/x-pack-ml/platform/linux-x86_64/bin -executable -type f); do + echo "patching $exe..." + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exe" + done + ''; +}) diff --git a/pkgs/servers/search/elasticsearch/7.x.nix b/pkgs/servers/search/elasticsearch/7.x.nix new file mode 100644 index 00000000000..7ea33935faa --- /dev/null +++ b/pkgs/servers/search/elasticsearch/7.x.nix @@ -0,0 +1,83 @@ +{ elk7Version +, enableUnfree ? true +, stdenv +, fetchurl +, makeWrapper +, jre_headless +, utillinux +, autoPatchelfHook +, zlib +}: + +with stdenv.lib; +let + info = splitString "-" stdenv.hostPlatform.system; + arch = elemAt info 0; + plat = elemAt info 1; + shas = + if enableUnfree + then { + "x86_64-linux" = "1fi57xqwgxx0ivjyfvaybzz2k457qw59fn9qr26d86lnkigfxpk8"; + "x86_64-darwin" = "06hj96d4vl9q24dfx8ffydfs7qd440ys29654jgqp8sp7js7hjxp"; + } + else { + "x86_64-linux" = "1jrcdxm1swf8ahkv3h7kyzzhdq9nwwfhimpflzdq2d831fx525y8"; + "x86_64-darwin" = "119ym2d5fqwba3aq2izh5qj8vxawb7hf183cgg00s1sm1mm8lviv"; + }; +in +stdenv.mkDerivation (rec { + version = elk7Version; + name = "elasticsearch-${optionalString (!enableUnfree) "oss-"}${version}"; + + src = fetchurl { + url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}-${plat}-${arch}.tar.gz"; + sha256 = shas."${stdenv.hostPlatform.system}" or (throw "Unknown architecture"); + }; + + patches = [ ./es-home-6.x.patch ]; + + postPatch = '' + substituteInPlace bin/elasticsearch-env --replace \ + "ES_CLASSPATH=\"\$ES_HOME/lib/*\"" \ + "ES_CLASSPATH=\"$out/lib/*\"" + + substituteInPlace bin/elasticsearch-cli --replace \ + "ES_CLASSPATH=\"\$ES_CLASSPATH:\$ES_HOME/\$additional_classpath_directory/*\"" \ + "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\"" + ''; + + buildInputs = [ makeWrapper jre_headless utillinux ] + ++ optional enableUnfree zlib; + + installPhase = '' + mkdir -p $out + cp -R bin config lib modules plugins $out + + chmod +x $out/bin/* + + wrapProgram $out/bin/elasticsearch \ + --prefix PATH : "${utillinux}/bin/" \ + --set JAVA_HOME "${jre_headless}" + + wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}" + ''; + + passthru = { inherit enableUnfree; }; + + meta = { + description = "Open Source, Distributed, RESTful Search Engine"; + license = if enableUnfree then licenses.elastic else licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ apeschar basvandijk ]; + }; +} // optionalAttrs enableUnfree { + dontPatchELF = true; + nativeBuildInputs = [ autoPatchelfHook ]; + runtimeDependencies = [ zlib ]; + postFixup = '' + for exe in $(find $out/modules/x-pack-ml/platform/linux-x86_64/bin -executable -type f); do + echo "patching $exe..." + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exe" + done + ''; +}) diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix deleted file mode 100644 index df7324a73f4..00000000000 --- a/pkgs/servers/search/elasticsearch/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ elk6Version -, enableUnfree ? true -, stdenv -, fetchurl -, makeWrapper -, jre_headless -, utillinux -, autoPatchelfHook -, zlib -}: - -with stdenv.lib; - -stdenv.mkDerivation (rec { - version = elk6Version; - name = "elasticsearch-${optionalString (!enableUnfree) "oss-"}${version}"; - - src = fetchurl { - url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz"; - sha256 = - if enableUnfree - then "1qh6iz3qhw8zcvxfss5w3h89zarwvk6dp5bbbag7c30kh94gkqvv" - else "13v8qpslanfn5w81qvbg0aqh510yfbl3x59kisvdkz9ifhjbcavi"; - }; - - patches = [ ./es-home-6.x.patch ]; - - postPatch = '' - substituteInPlace bin/elasticsearch-env --replace \ - "ES_CLASSPATH=\"\$ES_HOME/lib/*\"" \ - "ES_CLASSPATH=\"$out/lib/*\"" - - substituteInPlace bin/elasticsearch-cli --replace \ - "ES_CLASSPATH=\"\$ES_CLASSPATH:\$ES_HOME/\$additional_classpath_directory/*\"" \ - "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\"" - ''; - - buildInputs = [ makeWrapper jre_headless utillinux ] - ++ optional enableUnfree zlib; - - installPhase = '' - mkdir -p $out - cp -R bin config lib modules plugins $out - - chmod -x $out/bin/*.* - - wrapProgram $out/bin/elasticsearch \ - --prefix PATH : "${utillinux}/bin/" \ - --set JAVA_HOME "${jre_headless}" - - wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}" - ''; - - passthru = { inherit enableUnfree; }; - - meta = { - description = "Open Source, Distributed, RESTful Search Engine"; - license = if enableUnfree then licenses.elastic else licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ apeschar basvandijk ]; - }; -} // optionalAttrs enableUnfree { - dontPatchELF = true; - nativeBuildInputs = [ autoPatchelfHook ]; - runtimeDependencies = [ zlib ]; - postFixup = '' - for exe in $(find $out/modules/x-pack-ml/platform/linux-x86_64/bin -executable -type f); do - echo "patching $exe..." - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exe" - done - ''; -}) -- cgit 1.4.1