summary refs log tree commit diff
path: root/pkgs/tools/misc/logstash/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/logstash/default.nix')
-rw-r--r--pkgs/tools/misc/logstash/default.nix33
1 files changed, 22 insertions, 11 deletions
diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix
index 079e5c7a93b..4f15ba90d39 100644
--- a/pkgs/tools/misc/logstash/default.nix
+++ b/pkgs/tools/misc/logstash/default.nix
@@ -1,12 +1,23 @@
-{ stdenv, fetchurl, makeWrapper, jre  }:
+{ elk6Version
+, enableUnfree ? true
+, stdenv
+, fetchurl
+, makeWrapper
+, jre
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.4.0";
-  name = "logstash-${version}";
+  version = elk6Version;
+  name = "logstash-${optionalString (!enableUnfree) "oss-"}${version}";
 
   src = fetchurl {
-    url = "https://download.elasticsearch.org/logstash/logstash/logstash-${version}.tar.gz";
-    sha256 = "1k27hb6q1r26rp3y9pb2ry92kicw83mi352dzl2y4h0gbif46b32";
+    url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
+    sha256 =
+      if enableUnfree
+      then "0yx9hpiav4d5z1b52x2h5i0iknqs9lmxy8vmz0wkb23mjiz8njdr"
+      else "1ir8pbq706mxr56k5cgc9ajn2jp603zrqj66dimx6xxf2nfamw0w";
   };
 
   dontBuild         = true;
@@ -20,12 +31,12 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out
-    cp -r {Gemfile*,vendor,lib,bin} $out
+    cp -r {Gemfile*,modules,vendor,lib,bin,config,data,logstash-core,logstash-core-plugin-api} $out
 
-    wrapProgram $out/bin/logstash \
-       --set JAVA_HOME "${jre}"
+    patchShebangs $out/bin/logstash
+    patchShebangs $out/bin/logstash-plugin
 
-    wrapProgram $out/bin/rspec \
+    wrapProgram $out/bin/logstash \
        --set JAVA_HOME "${jre}"
 
     wrapProgram $out/bin/logstash-plugin \
@@ -35,8 +46,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Logstash is a data pipeline that helps you process logs and other event data from a variety of systems";
     homepage    = https://www.elastic.co/products/logstash;
-    license     = licenses.asl20;
+    license     = if enableUnfree then licenses.elastic else licenses.asl20;
     platforms   = platforms.unix;
-    maintainers = [ maintainers.wjlroe maintainers.offline ];
+    maintainers = with maintainers; [ wjlroe offline basvandijk ];
   };
 }