From ca4e52d62a577bc195a3133fb4741376e84b2f65 Mon Sep 17 00:00:00 2001
From: Maarten Hoogendoorn <maarten@moretea.nl>
Date: Mon, 23 May 2016 15:41:53 +0200
Subject: [PATCH 1/2] apache-kafka: 0.8.2.1 -> 0.9.0.1

(cherry picked from commit bada3043939a9901500c65abc9424e1ffe2310ae)
---
 pkgs/servers/apache-kafka/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index 06f8c5130633..f1cce14c801b 100755
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, jre, makeWrapper, bash }:
 
 let
-  kafkaVersion = "0.8.2.1";
-  scalaVersion = "2.10";
+  kafkaVersion = "0.9.0.1";
+  scalaVersion = "2.11";
 
 in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://apache/kafka/${kafkaVersion}/kafka_${version}.tgz";
-    sha256 = "1klri23fjxbzv7rmi05vcqqfpy7dzi1spn2084y1dxsi1ypfkvc9";
+    sha256 = "0ykcjv5dz9i5bws9my2d60pww1g9v2p2nqr67h0i2xrjm7az8a6v";
   };
 
   buildInputs = [ jre makeWrapper bash ];

From cf5af594686d9741e6d321b94c00d02c52ad6d23 Mon Sep 17 00:00:00 2001
From: Benjamin Staffin <benley@gmail.com>
Date: Sat, 28 May 2016 13:46:46 -0400
Subject: [PATCH 2/2] apache-kafka: retain 0.8.x and 0.9.x

Should make it a little easier for users who need time to plan for the
major 0.9 update.
---
 pkgs/servers/apache-kafka/default.nix | 20 +++++++++++++++-----
 pkgs/top-level/all-packages.nix       |  4 +++-
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index f1cce14c801b..be9410d30480 100755
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -1,18 +1,28 @@
-{ stdenv, fetchurl, jre, makeWrapper, bash }:
+{ stdenv, fetchurl, jre, makeWrapper, bash,
+  majorVersion ? "0.9" }:
 
 let
-  kafkaVersion = "0.9.0.1";
-  scalaVersion = "2.11";
-
+  versionMap = {
+    "0.8" = { kafkaVersion = "0.8.2.1";
+              scalaVersion = "2.10";
+              sha256 = "1klri23fjxbzv7rmi05vcqqfpy7dzi1spn2084y1dxsi1ypfkvc9";
+            };
+    "0.9" = { kafkaVersion = "0.9.0.1";
+              scalaVersion = "2.11";
+              sha256 = "0ykcjv5dz9i5bws9my2d60pww1g9v2p2nqr67h0i2xrjm7az8a6v";
+            };
+  };
 in
 
+with versionMap.${majorVersion};
+
 stdenv.mkDerivation rec {
   version = "${scalaVersion}-${kafkaVersion}";
   name = "apache-kafka-${version}";
 
   src = fetchurl {
     url = "mirror://apache/kafka/${kafkaVersion}/kafka_${version}.tgz";
-    sha256 = "0ykcjv5dz9i5bws9my2d60pww1g9v2p2nqr67h0i2xrjm7az8a6v";
+    inherit sha256;
   };
 
   buildInputs = [ jre makeWrapper bash ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 568e3434144d..3c21509e75f0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5845,7 +5845,9 @@ in
 
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
 
-  apacheKafka = callPackage ../servers/apache-kafka { };
+  apacheKafka = apacheKafka_0_9;
+  apacheKafka_0_8 = callPackage ../servers/apache-kafka { majorVersion = "0.8"; };
+  apacheKafka_0_9 = callPackage ../servers/apache-kafka { majorVersion = "0.9"; };
 
   astyle = callPackage ../development/tools/misc/astyle { };