From 5de93cdba77db3777f8f026c029acadd7b8bdde3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 17 Jan 2019 09:17:41 +0100 Subject: gnu: ghc-8: Patch ghc-pkg for reproducibility. Fixes . Co-authored-by: Timothy Sample . * gnu/packages/haskell.scm (ghc-8)[arguments]: Add build phase "fix-ghc-pkg-nondeterminism". --- gnu/packages/haskell.scm | 12 ++++++++++-- 1 file 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 ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016, 2017 David Craven ;;; Copyright © 2017 Danny Milosavljevic ;;; Copyright © 2017 Peter Mikkelsen @@ -14,7 +14,7 @@ ;;; Copyright © 2017 rsiddharth ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Tonton -;;; Copyright © 2018 Timothy Sample +;;; Copyright © 2018, 2019 Timothy Sample ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018, 2019 Gabriel Hondet ;;; @@ -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" -- cgit v1.2.3