aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-01-17 09:17:41 +0100
committerRicardo Wurmus <rekado@elephly.net>2019-01-17 17:56:50 +0100
commit5de93cdba77db3777f8f026c029acadd7b8bdde3 (patch)
tree17ce604d74b6e5070a4ad22d6a91fa2d64d94a1d
parent11b68c90cd89288906c595d5c31a0413ed8a496f (diff)
downloadguix-5de93cdba77db3777f8f026c029acadd7b8bdde3.tar
guix-5de93cdba77db3777f8f026c029acadd7b8bdde3.tar.gz
gnu: ghc-8: Patch ghc-pkg for reproducibility.
Fixes <https://bugs.gnu.org/33922>. Co-authored-by: Timothy Sample <samplet@ngyro.com>. * gnu/packages/haskell.scm (ghc-8)[arguments]: Add build phase "fix-ghc-pkg-nondeterminism".
-rw-r--r--gnu/packages/haskell.scm12
1 files changed, 10 insertions, 2 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index b40a5d05da..a3ce2a3e4c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
@@ -14,7 +14,7 @@
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Tonton <tonton@riseup.net>
-;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
@@ -509,6 +509,14 @@ interactive environment for the functional language Haskell.")
(assoc-ref inputs "ghc-testsuite")
"--strip-components=1")
#t))
+ ;; This phase patches the 'ghc-pkg' command so that it sorts the list
+ ;; of packages in the binary cache it generates.
+ (add-before 'build 'fix-ghc-pkg-nondeterminism
+ (lambda _
+ (substitute* "utils/ghc-pkg/Main.hs"
+ (("confs = map \\(path </>\\) \\$ filter \\(\".conf\" `isSuffixOf`\\) fs")
+ "confs = map (path </>) $ filter (\".conf\" `isSuffixOf`) (sort fs)"))
+ #t))
(add-after 'unpack-testsuite 'fix-shell-wrappers
(lambda _
(substitute* '("driver/ghci/ghc.mk"