mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: ghc-monad-par: Add a patch to fix tests on GHC 8.6.
* gnu/packages/patches/ghc-monad-par-fix-tests.patch: New file. * gnu/local.mk: Add it. * gnu/packages/haskell-xyz.scm (ghc-monad-par): Use it.
This commit is contained in:
parent
7fec7e6630
commit
faac56f3af
3 changed files with 48 additions and 1 deletions
|
@ -880,7 +880,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
|
||||
%D%/packages/patches/ghc-diff-swap-cover-args.patch \
|
||||
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
|
||||
%D%/packages/patches/ghc-haddock-library-unbundle.patch \
|
||||
%D%/packages/patches/ghc-haddock-library-unbundle.patch \
|
||||
%D%/packages/patches/ghc-monad-par-fix-tests.patch \
|
||||
%D%/packages/patches/ghostscript-no-header-id.patch \
|
||||
%D%/packages/patches/ghostscript-no-header-uuid.patch \
|
||||
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
|
||||
|
|
|
@ -6541,6 +6541,7 @@ (define-public ghc-monad-par
|
|||
(uri (string-append "https://hackage.haskell.org/package/"
|
||||
"monad-par-" version "/"
|
||||
"monad-par-" version ".tar.gz"))
|
||||
(patches (search-patches "ghc-monad-par-fix-tests.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
|
||||
|
|
45
gnu/packages/patches/ghc-monad-par-fix-tests.patch
Normal file
45
gnu/packages/patches/ghc-monad-par-fix-tests.patch
Normal file
|
@ -0,0 +1,45 @@
|
|||
This patch is taken from upstream. It fixes a test to work with GHC 8.6.
|
||||
The paths have been slightly altered to work with the release tarball.
|
||||
|
||||
See <https://github.com/simonmar/monad-par/issues/66>.
|
||||
|
||||
From e20f81c8060208e4fb038e8f0e0668b41d72a6fb Mon Sep 17 00:00:00 2001
|
||||
From: Clint Adams <clint@debian.org>
|
||||
Date: Sat, 31 Aug 2019 14:12:34 -0400
|
||||
Subject: [PATCH] Use a case statement instead of pattern-matching in
|
||||
case_test_diamond
|
||||
|
||||
This avoids the need for a MonadFail instance. Closes #66
|
||||
---
|
||||
monad-par/tests/ParTests_shared.hs | 15 +++++++++------
|
||||
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tests/ParTests_shared.hs b/tests/ParTests_shared.hs
|
||||
index 31f438d..b2de50c 100644
|
||||
--- a/tests/ParTests_shared.hs
|
||||
+++ b/tests/ParTests_shared.hs
|
||||
@@ -109,12 +109,15 @@ case_test_diamond :: Assertion
|
||||
case_test_diamond = 9 @=? (m :: Int)
|
||||
where
|
||||
m = runPar $ do
|
||||
- [a,b,c,d] <- sequence [new,new,new,new]
|
||||
- fork $ do x <- get a; put b (x+1)
|
||||
- fork $ do x <- get a; put c (x+2)
|
||||
- fork $ do x <- get b; y <- get c; put d (x+y)
|
||||
- fork $ do put a 3
|
||||
- get d
|
||||
+ abcd <- sequence [new,new,new,new]
|
||||
+ case abcd of
|
||||
+ [a,b,c,d] -> do
|
||||
+ fork $ do x <- get a; put b (x+1)
|
||||
+ fork $ do x <- get a; put c (x+2)
|
||||
+ fork $ do x <- get b; y <- get c; put d (x+y)
|
||||
+ fork $ do put a 3
|
||||
+ get d
|
||||
+ _ -> error "Oops"
|
||||
|
||||
-- | Violate IVar single-assignment:
|
||||
--
|
||||
--
|
||||
2.23.0
|
||||
|
Loading…
Reference in a new issue