From a531ff94c3dcf480be5c085c52f2c2d9bc532712 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Fri, 1 Nov 2019 21:56:40 -0400 Subject: gnu: ghc-diff: Patch to work with newer QuickCheck. * gnu/packages/patches/ghc-diff-swap-cover-args.patch: New file. * gnu/local.mk: Add it. * gnu/packages/haskell-xyz.scm (ghc-diff): Use it. --- gnu/packages/haskell-xyz.scm | 1 + gnu/packages/patches/ghc-diff-swap-cover-args.patch | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 gnu/packages/patches/ghc-diff-swap-cover-args.patch (limited to 'gnu/packages') diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index c8fbec048d..86e0d2a60e 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -2606,6 +2606,7 @@ and parsers with useful semantics.") (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "Diff/Diff-" version ".tar.gz")) + (patches (search-patches "ghc-diff-swap-cover-args.patch")) (sha256 (base32 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp")))) diff --git a/gnu/packages/patches/ghc-diff-swap-cover-args.patch b/gnu/packages/patches/ghc-diff-swap-cover-args.patch new file mode 100644 index 0000000000..724416ff7a --- /dev/null +++ b/gnu/packages/patches/ghc-diff-swap-cover-args.patch @@ -0,0 +1,20 @@ +The QuickCheck library swapped the order of the arguments of the 'cover' +function in version 2.12. Version 0.3.4 of the Diff library still uses +the old argument order. Swapping the argument order makes Diff work +with newer versions of QuickCheck. + +See for the +upstream bug report. + +diff -ruN a/test/Test.hs b/test/Test.hs +--- a/test/Test.hs 2016-04-23 01:21:45.000000000 -0400 ++++ b/test/Test.hs 2019-11-01 19:13:04.590770903 -0400 +@@ -134,7 +134,7 @@ + prop_ppDiffR (DiffInput le ri) = + let haskDiff=ppDiff $ getGroupedDiff le ri + utilDiff= unsafePerformIO (runDiff (unlines le) (unlines ri)) +- in cover (haskDiff == utilDiff) 90 "exact match" $ ++ in cover 90 (haskDiff == utilDiff) "exact match" $ + classify (haskDiff == utilDiff) "exact match" + (div ((length haskDiff)*100) (length utilDiff) < 110) -- less than 10% bigger + where -- cgit v1.2.3