diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index 8d540fb3ad8a..ce62a1277d36 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     docFixes
-    ./dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
+    ./ghc-7.x-dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
   ];
 
   buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix
index 10aa16391866..404e7e5cc28b 100644
--- a/pkgs/development/compilers/ghc/8.0.1.nix
+++ b/pkgs/development/compilers/ghc/8.0.1.nix
@@ -7,16 +7,16 @@ let
 
 in 
 stdenv.mkDerivation rec {
-  version = "8.0.0.20160204";
+  version = "8.0.0.20160411";
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/8.0.1-rc2/${name}-src.tar.xz";
-    sha256 = "0v8pciva93i4a6h0l76vq6bbvrg76b1y4awwbxcg3m9gnqkvmy2k";
+    url = "https://downloads.haskell.org/~ghc/8.0.1-rc3/${name}-src.tar.xz";
+    sha256 = "0cgk0li3pwag65xcrjci8l840aphklymjfmsrq0qpdi8bpsmi97d";
   };
 
   patches = [
-    ./dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
+    ./ghc-8.x-dont-pass-linker-flags-via-response-files.patch  # https://github.com/NixOS/nixpkgs/issues/10752
   ];
 
   buildInputs = [ ghc perl hscolour ];
diff --git a/pkgs/development/compilers/ghc/dont-pass-linker-flags-via-response-files.patch b/pkgs/development/compilers/ghc/ghc-7.x-dont-pass-linker-flags-via-response-files.patch
similarity index 100%
rename from pkgs/development/compilers/ghc/dont-pass-linker-flags-via-response-files.patch
rename to pkgs/development/compilers/ghc/ghc-7.x-dont-pass-linker-flags-via-response-files.patch
diff --git a/pkgs/development/compilers/ghc/ghc-8.x-dont-pass-linker-flags-via-response-files.patch b/pkgs/development/compilers/ghc/ghc-8.x-dont-pass-linker-flags-via-response-files.patch
new file mode 100644
index 000000000000..34e098c8f1ee
--- /dev/null
+++ b/pkgs/development/compilers/ghc/ghc-8.x-dont-pass-linker-flags-via-response-files.patch
@@ -0,0 +1,23 @@
+diff -ubr ghc-8.0.0.20160411-orig/compiler/main/SysTools.hs ghc-8.0.0.20160411-patched/compiler/main/SysTools.hs
+--- ghc-8.0.0.20160411-orig/compiler/main/SysTools.hs	2016-04-12 10:50:46.533389045 +0200
++++ ghc-8.0.0.20160411-patched/compiler/main/SysTools.hs	2016-04-12 10:53:29.973933760 +0200
+@@ -414,7 +414,7 @@
+       args1 = map Option (getOpts dflags opt_c)
+       args2 = args0 ++ args1 ++ args
+   mb_env <- getGccEnv args2
+-  runSomethingResponseFile dflags cc_filter "C Compiler" p args2 mb_env
++  runSomethingFiltered dflags cc_filter "C Compiler" p args2 mb_env
+  where
+   -- discard some harmless warnings from gcc that we can't turn off
+   cc_filter = unlines . doFilter . lines
+@@ -936,7 +936,7 @@
+       args2     = args0 ++ linkargs ++ args1 ++ args
+       args3     = argFixup args2 []
+   mb_env <- getGccEnv args3
+-  runSomethingResponseFile dflags ld_filter "Linker" p args3 mb_env
++  runSomethingFiltered dflags ld_filter "Linker" p args3 mb_env
+   where
+     testLib lib = "-l" `isPrefixOf` lib || ".a" `isSuffixOf` lib
+     {- GHC is just blindly appending linker arguments from libraries and
+Only in ghc-8.0.0.20160411-patched/compiler/main: SysTools.hs.orig
+Only in ghc-8.0.0.20160411-patched/compiler/main: SysTools.hs.rej
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 0fc80a24eca0..00de233c0ec2 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
+    ./ghc-7.x-dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
   ];
 
   postUnpack = ''