summaryrefslogtreecommitdiff
path: root/p/haskell-vector-algorithms/debian
diff options
context:
space:
mode:
authorGianfranco Costamagna <costamagnagianfranco@yahoo.it>2017-06-21 08:35:10 +0200
committerGianfranco Costamagna <costamagnagianfranco@yahoo.it>2017-06-21 08:35:10 +0200
commitad3e906d6333cd57b0fbcd67ae82614841a003c9 (patch)
tree97c9de63fa9515af30d3894fd0e407162f7de210 /p/haskell-vector-algorithms/debian
parent912e2cfa21e90503ea0768d5633516e2074504c2 (diff)
downloadDHG_packages-ad3e906d6333cd57b0fbcd67ae82614841a003c9.tar.gz
haskell-vector-algorithms: fix build with upstream patch
Diffstat (limited to 'p/haskell-vector-algorithms/debian')
-rw-r--r--p/haskell-vector-algorithms/debian/changelog7
-rw-r--r--p/haskell-vector-algorithms/debian/patches/fix-ImpredicativeTypes-ghc-8.0.2.patch97
-rw-r--r--p/haskell-vector-algorithms/debian/patches/series1
3 files changed, 105 insertions, 0 deletions
diff --git a/p/haskell-vector-algorithms/debian/changelog b/p/haskell-vector-algorithms/debian/changelog
index 5751e4cf6..5f51c93d5 100644
--- a/p/haskell-vector-algorithms/debian/changelog
+++ b/p/haskell-vector-algorithms/debian/changelog
@@ -1,3 +1,10 @@
+haskell-vector-algorithms (0.7.0.1-6) unstable; urgency=medium
+
+ * Team upload.
+ * fix test build with upstream patch
+
+ -- Clint Adams <clint@debian.org> Wed, 21 Jun 2017 08:34:47 +0200
+
haskell-vector-algorithms (0.7.0.1-5) unstable; urgency=medium
* Upload to unstable as part of GHC 8 transition.
diff --git a/p/haskell-vector-algorithms/debian/patches/fix-ImpredicativeTypes-ghc-8.0.2.patch b/p/haskell-vector-algorithms/debian/patches/fix-ImpredicativeTypes-ghc-8.0.2.patch
new file mode 100644
index 000000000..b40adb5c9
--- /dev/null
+++ b/p/haskell-vector-algorithms/debian/patches/fix-ImpredicativeTypes-ghc-8.0.2.patch
@@ -0,0 +1,97 @@
+Origin: http://hub.darcs.net/RyanGlScott/vector-algorithms/patch/891942190c7c59f6634d6a4be061da37f9668e94
+
+--- haskell-vector-algorithms-0.7.0.1.orig/tests/properties/Tests.hs
++++ haskell-vector-algorithms-0.7.0.1/tests/properties/Tests.hs
+@@ -1,4 +1,4 @@
+-{-# LANGUAGE ImpredicativeTypes, RankNTypes, TypeOperators, FlexibleContexts #-}
++{-# LANGUAGE RankNTypes, TypeOperators, FlexibleContexts #-}
+
+ module Main (main) where
+
+@@ -37,36 +37,41 @@ type Algo e r = forall s mv. MVecto
+ type SizeAlgo e r = forall s mv. MVector mv e => mv s e -> Int -> ST s r
+ type BoundAlgo e r = forall s mv. MVector mv e => mv s e -> Int -> Int -> ST s r
+
++-- Shims to work around the fact that GHC doesn't support impredicative
++-- polymorphism properly.
++newtype WrappedAlgo e r = WrapAlgo (Algo e r)
++newtype WrappedSizeAlgo e r = WrapSizeAlgo (SizeAlgo e r)
++
+ args = stdArgs
+ { maxSuccess = 1000
+ , maxDiscardRatio = 2
+ }
+
+-check_Int_sort = forM_ algos $ \(name,algo) ->
++check_Int_sort = forM_ algos $ \(name,WrapAlgo algo) ->
+ quickCheckWith args (label name . prop_fullsort algo)
+ where
+- algos :: [(String, Algo Int ())]
+- algos = [ ("introsort", INT.sort)
+- , ("insertion sort", INS.sort)
+- , ("merge sort", M.sort)
+- , ("heapsort", H.sort)
+- , ("timsort", T.sort)
++ algos :: [(String, WrappedAlgo Int ())]
++ algos = [ ("introsort", WrapAlgo INT.sort)
++ , ("insertion sort", WrapAlgo INS.sort)
++ , ("merge sort", WrapAlgo M.sort)
++ , ("heapsort", WrapAlgo H.sort)
++ , ("timsort", WrapAlgo T.sort)
+ ]
+
+-check_Int_partialsort = forM_ algos $ \(name,algo) ->
++check_Int_partialsort = forM_ algos $ \(name,WrapSizeAlgo algo) ->
+ quickCheckWith args (label name . prop_partialsort algo)
+ where
+- algos :: [(String, SizeAlgo Int ())]
+- algos = [ ("intro-partialsort", INT.partialSort)
+- , ("heap partialsort", H.partialSort)
++ algos :: [(String, WrappedSizeAlgo Int ())]
++ algos = [ ("intro-partialsort", WrapSizeAlgo INT.partialSort)
++ , ("heap partialsort", WrapSizeAlgo H.partialSort)
+ ]
+
+-check_Int_select = forM_ algos $ \(name,algo) ->
++check_Int_select = forM_ algos $ \(name,WrapSizeAlgo algo) ->
+ quickCheckWith args (label name . prop_select algo)
+ where
+- algos :: [(String, SizeAlgo Int ())]
+- algos = [ ("intro-select", INT.select)
+- , ("heap select", H.select)
++ algos :: [(String, WrappedSizeAlgo Int ())]
++ algos = [ ("intro-select", WrapSizeAlgo INT.select)
++ , ("heap select", WrapSizeAlgo H.select)
+ ]
+
+ check_radix_sorts = do
+@@ -117,14 +122,14 @@ check_optimal = do qc . label "size 2" $
+
+ check_permutation = do
+ qc $ label "introsort" . prop_permutation (INT.sort :: Algo Int ())
+- qc $ label "intropartial" . prop_sized (const . prop_permutation)
++ qc $ label "intropartial" . prop_sized (\x _ -> prop_permutation x)
+ (INT.partialSort :: SizeAlgo Int ())
+- qc $ label "introselect" . prop_sized (const . prop_permutation)
++ qc $ label "introselect" . prop_sized (\x _ -> prop_permutation x)
+ (INT.select :: SizeAlgo Int ())
+ qc $ label "heapsort" . prop_permutation (H.sort :: Algo Int ())
+- qc $ label "heappartial" . prop_sized (const . prop_permutation)
++ qc $ label "heappartial" . prop_sized (\x _ -> prop_permutation x)
+ (H.partialSort :: SizeAlgo Int ())
+- qc $ label "heapselect" . prop_sized (const . prop_permutation)
++ qc $ label "heapselect" . prop_sized (\x _ -> prop_permutation x)
+ (H.select :: SizeAlgo Int ())
+ qc $ label "mergesort" . prop_permutation (M.sort :: Algo Int ())
+ qc $ label "timsort" . prop_permutation (T.sort :: Algo Int ())
+--- haskell-vector-algorithms-0.7.0.1.orig/vector-algorithms.cabal
++++ haskell-vector-algorithms-0.7.0.1/vector-algorithms.cabal
+@@ -44,7 +44,7 @@ library
+ hs-source-dirs: src
+
+ build-depends: base >= 4.5 && < 5,
+- vector >= 0.6 && < 0.12,
++ vector >= 0.6 && < 0.13,
+ primitive >=0.3 && <0.7,
+ bytestring >= 0.9 && < 1.0
+
diff --git a/p/haskell-vector-algorithms/debian/patches/series b/p/haskell-vector-algorithms/debian/patches/series
new file mode 100644
index 000000000..0bd8b28f3
--- /dev/null
+++ b/p/haskell-vector-algorithms/debian/patches/series
@@ -0,0 +1 @@
+fix-ImpredicativeTypes-ghc-8.0.2.patch