diff options
Diffstat (limited to 'pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch')
-rw-r--r-- | pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch b/pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch new file mode 100644 index 00000000000..2460e6bfc7a --- /dev/null +++ b/pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch @@ -0,0 +1,120 @@ +diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_FA.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_FA.hs +--- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_FA.hs 2011-03-12 00:46:39.000000000 +0100 ++++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_FA.hs 2013-12-19 12:42:27.048813869 +0100 +@@ -1,3 +1,4 @@ ++{-# LANGUAGE CPP #-} + -- | This is the code for the main engine. This captures the posix + -- subexpressions. There is also a non-capturing engine, and a + -- testing engine. +@@ -20,7 +21,12 @@ + + import Prelude hiding ((!!)) + import Control.Monad(when,unless,forM,forM_,liftM2,foldM) ++#if MIN_VERSION_array(0,4,0) ++import Data.Array.MArray(MArray(..)) ++import Data.Array.Unsafe(unsafeFreeze) ++#else + import Data.Array.MArray(MArray(..),unsafeFreeze) ++#endif + import Data.Array.IArray(Array,bounds,assocs,Ix(range)) + import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) + import Data.IntMap(IntMap) +@@ -574,7 +580,7 @@ + case unsafeCoerce# memcpy mdest msource n# s1# of { (# s2#, () #) -> + (# s2#, () #) }} + {- +-#else /* !__GLASGOW_HASKELL__ */ ++-- #else /* !__GLASGOW_HASKELL__ */ + + copySTU :: (MArray (STUArray s) e (S.ST s))=> STUArray s Tag e -> STUArray s Tag e -> S.ST s (STUArray s i e) + copySTU source destination = do +@@ -585,5 +591,5 @@ + forM_ (range b) $ \index -> + set destination index =<< source !! index + return destination +-#endif /* !__GLASGOW_HASKELL__ */ ++-- #endif /* !__GLASGOW_HASKELL__ */ + -} +diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine.hs +--- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine.hs 2011-03-12 00:46:39.000000000 +0100 ++++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine.hs 2013-12-19 12:42:27.049813918 +0100 +@@ -1,3 +1,4 @@ ++{-# LANGUAGE CPP #-} + -- | This is the code for the main engine. This captures the posix subexpressions. This 'execMatch' + -- also dispatches to "Engine_NC", "Engine_FA", and "Engine_FC_NA" + -- +@@ -19,7 +20,12 @@ + -} + import Prelude hiding ((!!)) + ++#if MIN_VERSION_array(0,4,0) ++import Data.Array.MArray(MArray(..)) ++import Data.Array.Unsafe(unsafeFreeze) ++#else + import Data.Array.MArray(MArray(..),unsafeFreeze) ++#endif + import Data.Array.IArray(Array,bounds,assocs,Ix(rangeSize,range)) + import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) + import Data.IntMap(IntMap) +@@ -716,7 +722,7 @@ + case unsafeCoerce# memcpy mdest msource n# s1# of { (# s2#, () #) -> + (# s2#, () #) }} + {- +-#else /* !__GLASGOW_HASKELL__ */ ++-- #else /* !__GLASGOW_HASKELL__ */ + + copySTU :: (MArray (STUArray s) e (S.ST s))=> STUArray s Tag e -> STUArray s Tag e -> S.ST s (STUArray s i e) + copySTU source destination = do +@@ -727,5 +733,5 @@ + forM_ (range b) $ \index -> + set destination index =<< source !! index + return destination +-#endif /* !__GLASGOW_HASKELL__ */ ++-- #endif /* !__GLASGOW_HASKELL__ */ + -} +diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs +--- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs 2011-03-12 00:46:39.000000000 +0100 ++++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs 2013-12-19 12:42:27.048813869 +0100 +@@ -1,10 +1,16 @@ ++{-# LANGUAGE CPP #-} + -- | This is the non-capturing form of Text.Regex.TDFA.NewDFA.String + module Text.Regex.TDFA.NewDFA.Engine_NC_FA(execMatch) where + + import Control.Monad(unless) + import Prelude hiding ((!!)) + ++#if MIN_VERSION_array(0,4,0) ++import Data.Array.MArray(MArray(newArray)) ++import Data.Array.Unsafe(unsafeFreeze) ++#else + import Data.Array.MArray(MArray(newArray),unsafeFreeze) ++#endif + import Data.Array.ST(STArray) + import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) + import qualified Data.IntMap as IMap(null) +diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC.hs +--- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC.hs 2011-03-12 00:46:39.000000000 +0100 ++++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC.hs 2013-12-19 12:42:27.048813869 +0100 +@@ -1,3 +1,4 @@ ++{-# LANGUAGE CPP #-} + -- | This is the non-capturing form of Text.Regex.TDFA.NewDFA.String + module Text.Regex.TDFA.NewDFA.Engine_NC(execMatch) where + +@@ -5,7 +6,12 @@ + import Data.Array.Base(unsafeRead,unsafeWrite) + import Prelude hiding ((!!)) + ++#if MIN_VERSION_array(0,4,0) ++import Data.Array.MArray(MArray(..)) ++import Data.Array.Unsafe(unsafeFreeze) ++#else + import Data.Array.MArray(MArray(..),unsafeFreeze) ++#endif + import Data.Array.IArray(Ix) + import Data.Array.ST(STArray,STUArray) + import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) +@@ -248,4 +254,3 @@ + wsToGroup (WScratch start stop) = do + ma <- newArray (0,0) (start,stop-start) :: S.ST s (STArray s Int (MatchOffset,MatchLength)) + unsafeFreeze ma +- |