about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukasz Czyzykowski <lukasz.czyzykowski@gmail.com>2017-05-22 20:06:52 +0200
committerLukasz Czyzykowski <lukasz.czyzykowski@gmail.com>2017-05-22 20:06:52 +0200
commit2ae46bc163512b3eecb60d70866d4ff19dac82bc (patch)
tree5acf8f28139bc9a2a78d69a279380ad72df88b9c
parentf6863bcf7a760461dc5c5c06b3252c3088ed466a (diff)
downloadnixlib-2ae46bc163512b3eecb60d70866d4ff19dac82bc.tar
nixlib-2ae46bc163512b3eecb60d70866d4ff19dac82bc.tar.gz
nixlib-2ae46bc163512b3eecb60d70866d4ff19dac82bc.tar.bz2
nixlib-2ae46bc163512b3eecb60d70866d4ff19dac82bc.tar.lz
nixlib-2ae46bc163512b3eecb60d70866d4ff19dac82bc.tar.xz
nixlib-2ae46bc163512b3eecb60d70866d4ff19dac82bc.tar.zst
nixlib-2ae46bc163512b3eecb60d70866d4ff19dac82bc.zip
ghc: 8.0.2 without link warnings
Fixes NixOS/nixpkgs#25139 by backporting patch applied in ghc trunk:
https://phabricator.haskell.org/D2823
-rw-r--r--pkgs/development/compilers/ghc/8.0.2.nix4
-rw-r--r--pkgs/development/compilers/ghc/no-cpp-warnings.patch23
2 files changed, 26 insertions, 1 deletions
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index 605458e71859..7463eb91e7a8 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -19,7 +19,9 @@ stdenv.mkDerivation rec {
     sha256 = "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi";
   };
 
-  patches = [] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch;
+  patches = []
+    ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
+    ++ stdenv.lib.optional stdenv.isDarwin ./no-cpp-warnings.patch;
 
   buildInputs = [ ghc perl hscolour sphinx ];
 
diff --git a/pkgs/development/compilers/ghc/no-cpp-warnings.patch b/pkgs/development/compilers/ghc/no-cpp-warnings.patch
new file mode 100644
index 000000000000..90224df19f61
--- /dev/null
+++ b/pkgs/development/compilers/ghc/no-cpp-warnings.patch
@@ -0,0 +1,23 @@
+--- b/includes/rts/storage/ClosureMacros.h        2017-05-21 12:54:09.000000000 +0200
++++ a/includes/rts/storage/ClosureMacros.h        2017-05-21 12:55:57.000000000 +0200
+@@ -499,8 +499,17 @@
+
+    -------------------------------------------------------------------------- */
+
+-#define ZERO_SLOP_FOR_LDV_PROF     (defined(PROFILING))
+-#define ZERO_SLOP_FOR_SANITY_CHECK (defined(DEBUG) && !defined(THREADED_RTS))
++#if defined(PROFILING)
++#define ZERO_SLOP_FOR_LDV_PROF 1
++#else
++#define ZERO_SLOP_FOR_LDV_PROF 0
++#endif
++
++#if defined(DEBUG) && !defined(THREADED_RTS)
++#define ZERO_SLOP_FOR_SANITY_CHECK 1
++#else
++#define ZERO_SLOP_FOR_SANITY_CHECK 0
++#endif
+
+ #if ZERO_SLOP_FOR_LDV_PROF || ZERO_SLOP_FOR_SANITY_CHECK
+ #define OVERWRITING_CLOSURE(c) overwritingClosure(c)
+