summaryrefslogtreecommitdiff
path: root/dev-haskell/hashed-storage/files/hashed-storage-0.5.9-ghc-7.6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/hashed-storage/files/hashed-storage-0.5.9-ghc-7.6.patch')
-rw-r--r--dev-haskell/hashed-storage/files/hashed-storage-0.5.9-ghc-7.6.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/dev-haskell/hashed-storage/files/hashed-storage-0.5.9-ghc-7.6.patch b/dev-haskell/hashed-storage/files/hashed-storage-0.5.9-ghc-7.6.patch
new file mode 100644
index 000000000000..21baf9605d9c
--- /dev/null
+++ b/dev-haskell/hashed-storage/files/hashed-storage-0.5.9-ghc-7.6.patch
@@ -0,0 +1,57 @@
+--- hashed-storage-0.5.9-orig/Storage/Hashed/Tree.hs 2011-10-09 07:47:55.000000000 +1100
++++ hashed-storage-0.5.9/Storage/Hashed/Tree.hs 2012-09-15 00:38:24.233669282 +1000
+@@ -41,6 +41,7 @@
+ import Data.List( union, sort )
+ import Control.Monad( filterM, liftM )
+ import Control.Applicative( (<$>) )
++import qualified Control.Exception ( catch, IOException )
+
+ --------------------------------
+ -- Tree, Blob and friends
+@@ -195,7 +196,7 @@
+ let
+ subtree (name, sub) =
+ do let here = path `appendPath` name
+- sub' <- (Just <$> unstub sub) `catch` \_ -> return Nothing
++ sub' <- (Just <$> unstub sub) `Control.Exception.catch` \(_ :: Control.Exception.IOException) -> return Nothing
+ case sub' of
+ Nothing -> return $ Left [(here, treeHash t_, Nothing)]
+ Just sub -> do
+@@ -204,10 +205,10 @@
+ Left problems -> Left problems
+ Right tree -> Right (name, SubTree tree)
+ badBlob (_, f@(File (Blob s h))) =
+- fmap (/= h) (hashFunc f `catch` (\_ -> return NoHash))
++ fmap (/= h) (hashFunc f `Control.Exception.catch` (\(_ :: Control.Exception.IOException) -> return NoHash))
+ badBlob _ = return False
+ render (name, f@(File (Blob _ h))) = do
+- h' <- (Just <$> hashFunc f) `catch` \_ -> return Nothing
++ h' <- (Just <$> hashFunc f) `Control.Exception.catch` \(_ :: Control.Exception.IOException) -> return Nothing
+ return (path `appendPath` name, h, h')
+ subs <- mapM subtree [ x | x@(_, item) <- listImmediate t_, isSub item ]
+ badBlobs <- filterM badBlob (listImmediate t) >>= mapM render
+--- hashed-storage-0.5.9-orig/Storage/Hashed/Darcs.hs 2011-10-09 07:47:55.000000000 +1100
++++ hashed-storage-0.5.9/Storage/Hashed/Darcs.hs 2012-09-15 00:40:02.693038029 +1000
+@@ -1,4 +1,4 @@
+-{-# LANGUAGE BangPatterns #-}
++{-# LANGUAGE BangPatterns, ScopedTypeVariables #-}
+
+ -- | A few darcs-specific utility functions. These are used for reading and
+ -- writing darcs and darcs-compatible hashed trees.
+@@ -10,6 +10,7 @@
+ import System.Directory( doesFileExist )
+ import Codec.Compression.GZip( decompress, compress )
+ import Control.Applicative( (<$>) )
++import qualified Control.Exception ( catch, IOException )
+
+ import qualified Data.ByteString.Char8 as BS8
+ import qualified Data.ByteString.Lazy.Char8 as BL8
+@@ -290,7 +291,7 @@
+
+ darcsPristineRefs :: FileSegment -> IO [Hash]
+ darcsPristineRefs fs = do
+- con <- (darcsParseDir <$> readSegment fs) `catch` \_ -> return []
++ con <- (darcsParseDir <$> readSegment fs) `Control.Exception.catch` \(_ :: Control.Exception.IOException) -> return []
+ return $! [ hash | (_, _, _, hash) <- con, valid hash ]
+ where valid NoHash = False
+ valid _ = True