From 465d8b0fa9e1c25db1e39d65dd16f0cbd9144d8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Sat, 24 Feb 2018 01:18:46 +0000
Subject: [PATCH] kubernetes: use fetchpatch instead

---
 .../networking/cluster/kubernetes/default.nix       | 13 ++++++++-----
 .../cluster/kubernetes/go-version-check.patch       | 11 -----------
 2 files changed, 8 insertions(+), 16 deletions(-)
 delete mode 100644 pkgs/applications/networking/cluster/kubernetes/go-version-check.patch

diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 341abf98739d..090fc98566de 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync
+{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync
 , iptables, coreutils
 , components ? [
     "cmd/kubeadm"
@@ -29,10 +29,13 @@ stdenv.mkDerivation rec {
 
   outputs = ["out" "man" "pause"];
 
-  # patch broken go version check, see issue #35403
-  # patch is from https://github.com/kubernetes/kubernetes/pull/58207
-  #TODO: patch already merged upstream - remove for next k8s version
-  patches = [ ./go-version-check.patch ];
+  patches = [
+    # patch is from https://github.com/kubernetes/kubernetes/pull/58207
+    (fetchpatch {
+      url = "https://github.com/kubernetes/kubernetes/commit/a990b04dc8a7d8408a71eee40db93621cf2b6d1b.patch";
+      sha256 = "0piqilc5c9frikl74hamkffawwg1mvdwfxqvjnmk6wdma43dbb7w";
+    })
+  ];
 
   postPatch = ''
     substituteInPlace "hack/lib/golang.sh" --replace "_cgo" ""
diff --git a/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch b/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch
deleted file mode 100644
index e3040cbb70ff..000000000000
--- a/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/hack/lib/golang.sh
-+++ b/hack/lib/golang.sh
-@@ -323,7 +323,7 @@ EOF
-   go_version=($(go version))
-   local minimum_go_version
-   minimum_go_version=go1.9.1
--  if [[ "${go_version[2]}" < "${minimum_go_version}" && "${go_version[2]}" != "devel" ]]; then
-+  if [[ "${minimum_go_version}" != $(echo -e "${minimum_go_version}\n${go_version[2]}" | sort -s -t. -k 1,1 -k 2,2n -k 3,3n | head -n1) && "${go_version[2]}" != "devel" ]]; then
-     kube::log::usage_from_stdin <<EOF
- Detected go version: ${go_version[*]}.
- Kubernetes requires ${minimum_go_version} or greater.