about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2018-02-07 15:02:34 -0500
committerPeter Simons <simons@cryp.to>2018-02-10 18:05:29 +0100
commit69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29 (patch)
tree21466368dfb05d41919a43acd110d462b36afdb0 /pkgs/development/compilers/ghc
parent36a095e27e58665e98dcbe91b052b770b9c6183c (diff)
downloadnixlib-69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29.tar
nixlib-69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29.tar.gz
nixlib-69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29.tar.bz2
nixlib-69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29.tar.lz
nixlib-69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29.tar.xz
nixlib-69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29.tar.zst
nixlib-69b0bc1bdf6d4fae9669d246532e5c37e5fb8b29.zip
ghc 8.{2,4}: Add patches for deterministic profiling symbols.
These are taken from https://phabricator.haskell.org/D4388 (which is
against HEAD) and fix an inconsistency when building profiling
libraries on multiple machines that leads to linking failure.
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r--pkgs/development/compilers/ghc/8.2.2.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.4.1.nix9
2 files changed, 12 insertions, 1 deletions
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
index 8b62bbffcc84..646d4a873876 100644
--- a/pkgs/development/compilers/ghc/8.2.2.nix
+++ b/pkgs/development/compilers/ghc/8.2.2.nix
@@ -85,6 +85,10 @@ stdenv.mkDerivation rec {
       url = "https://git.haskell.org/ghc.git/commitdiff_plain/2fc8ce5f0c8c81771c26266ac0b150ca9b75c5f3";
       sha256 = "03253ci40np1v6k0wmi4aypj3nmj3rdyvb1k6rwqipb30nfc719f";
     })
+    (fetchpatch { # Backport of https://phabricator.haskell.org/D4388 for more determinism
+      url = "https://github.com/shlevy/ghc/commit/fec1b8d3555c447c0d8da0e96b659be67c8bb4bc.patch";
+      sha256 = "1lyysz6hfd1njcigpm8xppbnkadqfs0kvrp7s8vqgb38pjswj5hg";
+    })
   ];
 
   postPatch = "patchShebangs .";
diff --git a/pkgs/development/compilers/ghc/8.4.1.nix b/pkgs/development/compilers/ghc/8.4.1.nix
index 1bade6e20601..ee40a145cf86 100644
--- a/pkgs/development/compilers/ghc/8.4.1.nix
+++ b/pkgs/development/compilers/ghc/8.4.1.nix
@@ -3,7 +3,7 @@
 
 # build-tools
 , bootPkgs, alex, happy
-, autoconf, automake, coreutils, fetchgit, perl, python3
+, autoconf, automake, coreutils, fetchgit, fetchpatch, perl, python3
 
 , libffi, libiconv ? null, ncurses
 
@@ -81,6 +81,13 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "doc" ];
 
+  patches = [
+    (fetchpatch { # https://phabricator.haskell.org/D4388 for more determinism
+      url = "https://github.com/shlevy/ghc/commit/8b2dbd869d1a64de3e99fa8b1c9bb1140eee7099.patch";
+      sha256 = "0hxpiwhbg64rsyjdr4psh6dwyp58b96mad3adccvfr0x8hc6ba2m";
+    })
+  ];
+
   postPatch = "patchShebangs .";
 
   # GHC is a bit confused on its cross terminology.