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 = ''