From d79a58e3925ef49b805d8953d6b57c9df14721fa Mon Sep 17 00:00:00 2001
From: William Roe <willroe@gmail.com>
Date: Fri, 11 Jul 2014 17:50:02 +0100
Subject: [PATCH 1/4] Bump Logstash to 1.4.2

---
 pkgs/tools/misc/logstash/default.nix | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix
index a613dad3ec9f..98337f95c18e 100644
--- a/pkgs/tools/misc/logstash/default.nix
+++ b/pkgs/tools/misc/logstash/default.nix
@@ -1,11 +1,24 @@
-{ fetchurl }:
+{ stdenv, fetchurl }:
 
-let version = "1.3.3"; in
+stdenv.mkDerivation rec {
+  version = "1.4.2";
+  name = "logstash-${version}";
 
-fetchurl {
-  url = "https://download.elasticsearch.org/logstash/logstash/logstash-${version}-flatjar.jar";
+  src = fetchurl {
+    url = "https://download.elasticsearch.org/logstash/logstash/logstash-${version}.tar.gz";
+    sha256 = "0sc0bwyf96fzs5h3d7ii65v9vvpfbm7w67vk1im9djnlz0d1ggnm";
+  };
 
-  name = "logstash-${version}-flatjar.jar";
+  dontBuild    = true;
+  dontPatchELF = true;
+  dontStrip    = true;
 
-  sha256 = "a83503bd2aa32e1554b98f812d0b411fbc5f7b6b21cebb48b7d344474f2dfc6d";
+  installPhase = ''
+    cp -a bin $out
+  '';
+
+  meta = {
+    description = "Open Source, Distributed, RESTful Search Engine";
+    homepage    = http://www.elasticsearch.org;
+  };
 }

From a5783a977e0852fa7803810faea623d084818c81 Mon Sep 17 00:00:00 2001
From: William Roe <willroe@gmail.com>
Date: Mon, 14 Jul 2014 17:54:20 +0100
Subject: [PATCH 2/4] Install all dirs for logstash

Also only patch shebangs in bin/ directory
---
 pkgs/tools/misc/logstash/default.nix | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix
index 98337f95c18e..a3e56e564411 100644
--- a/pkgs/tools/misc/logstash/default.nix
+++ b/pkgs/tools/misc/logstash/default.nix
@@ -12,9 +12,20 @@ stdenv.mkDerivation rec {
   dontBuild    = true;
   dontPatchELF = true;
   dontStrip    = true;
+  dontPatchShebangs = true;
 
   installPhase = ''
+    ensureDir $out/bin
+    ensureDir $out/vendor
+    ensureDir $out/lib
+    ensureDir $out/locales
+    ensureDir $out/patterns
     cp -a bin $out
+    cp -a vendor $out
+    cp -a lib $out
+    cp -a locales $out
+    cp -a patterns $out
+    patchShebangs $out/bin
   '';
 
   meta = {

From b6c2dc4e4fccd48bc1d8ab196eeca18fb03e8038 Mon Sep 17 00:00:00 2001
From: William Roe <willroe@gmail.com>
Date: Sun, 20 Jul 2014 16:09:19 +0100
Subject: [PATCH 3/4] License, platforms and maintainer for Logstash

---
 pkgs/tools/misc/logstash/default.nix | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix
index a3e56e564411..15c99fff54c8 100644
--- a/pkgs/tools/misc/logstash/default.nix
+++ b/pkgs/tools/misc/logstash/default.nix
@@ -31,5 +31,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Open Source, Distributed, RESTful Search Engine";
     homepage    = http://www.elasticsearch.org;
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.wjlroe ];
   };
 }

From 8f31b1393809ec5c97d1e5bd4859bba644593b7d Mon Sep 17 00:00:00 2001
From: William Roe <willroe@gmail.com>
Date: Mon, 21 Jul 2014 16:24:18 +0100
Subject: [PATCH 4/4] Fix service to use logstash new directory layout

---
 nixos/modules/services/logging/logstash.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index c92c81135704..802dd454878b 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -69,9 +69,9 @@ in
     systemd.services.logstash = with pkgs; {
       description = "Logstash Daemon";
       wantedBy = [ "multi-user.target" ];
-
+      environment = { JAVA_HOME = jre; };
       serviceConfig = {
-        ExecStart = "${jre}/bin/java -jar ${logstash} agent -f ${writeText "logstash.conf" ''
+        ExecStart = "${logstash}/bin/logstash agent -f ${writeText "logstash.conf" ''
           input {
             ${cfg.inputConfig}
           }