You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch

143 lines
4.7 KiB

--- darcs-2.8.5-orig/src/Darcs/Repository/Internal.hs 2014-08-26 06:27:34.000000000 +1000
+++ darcs-2.8.5/src/Darcs/Repository/Internal.hs 2015-01-03 12:18:03.576529408 +1100
@@ -71,8 +71,8 @@
writeProblem, readProblem, readfromAndWritetoProblem )
import System.Directory ( doesDirectoryExist, setCurrentDirectory,
createDirectoryIfMissing, doesFileExist )
-import Control.Monad ( when, unless, filterM )
-import Control.Applicative ( (<$>) )
+import Control.Monad ( when, unless, filterM, ap )
+import Control.Applicative ( Applicative(..), (<$>) )
import Control.Exception ( catch, IOException )
import Workaround ( getCurrentDirectory, renameFile, setExecutable )
@@ -184,6 +184,10 @@
instance Functor (RIO p C(r u t t)) where
fmap f m = RIO $ \r -> fmap f (unsafeUnRIO m r)
+instance Applicative (RIO p C(r u t t)) where
+ pure = return
+ (<*>) = ap
+
-- | We have an instance of Monad so that IO actions that do not
-- change the tentative recorded state are convenient in the IO monad.
instance Monad (RIO p C(r u t t)) where
--- darcs-2.8.5-orig/src/Darcs/Patch/Prim/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000
+++ darcs-2.8.5/src/Darcs/Patch/Prim/V1/Commute.hs 2015-01-03 12:11:31.281425244 +1100
@@ -6,7 +6,8 @@
where
import Prelude hiding ( pi )
-import Control.Monad ( MonadPlus, msum, mzero, mplus )
+import Control.Applicative ( Applicative(..), Alternative(..) )
+import Control.Monad ( MonadPlus, msum, mzero, mplus, liftM, ap )
import qualified Data.ByteString as B (ByteString, concat)
import qualified Data.ByteString.Char8 as BC (pack)
@@ -35,6 +36,17 @@
data Perhaps a = Unknown | Failed | Succeeded a
+instance Functor Perhaps where
+ fmap = liftM
+
+instance Applicative Perhaps where
+ pure = return
+ (<*>) = ap
+
+instance Alternative Perhaps where
+ (<|>) = mplus
+ empty = mzero
+
instance Monad Perhaps where
(Succeeded x) >>= k = k x
Failed >>= _ = Failed
--- darcs-2.8.5-orig/src/Darcs/IO.hs 2014-08-26 06:27:34.000000000 +1000
+++ darcs-2.8.5/src/Darcs/IO.hs 2015-01-03 12:06:40.423103022 +1100
@@ -23,6 +23,7 @@
import Data.Char ( toLower )
import Data.List ( isSuffixOf )
import System.IO.Error ( isDoesNotExistError, isPermissionError )
+import Control.Applicative ( Applicative(..) )
import Control.Exception.Extensible ( catch, SomeException, IOException )
import Control.Monad.Error
import System.Directory ( createDirectory,
@@ -97,6 +98,10 @@
instance Functor TolerantIO where
fmap f m = m >>= return . f
+instance Applicative TolerantIO where
+ pure = return
+ (<*>) = ap
+
instance Monad TolerantIO where
f >>= g = runTM $ runIO f >>= runIO . g
f >> g = runTM $ runIO f >> runIO g
@@ -106,6 +111,10 @@
instance Functor SilentIO where
fmap f m = m >>= return . f
+instance Applicative SilentIO where
+ pure = return
+ (<*>) = ap
+
instance Monad SilentIO where
f >>= g = runTM $ runIO f >>= runIO . g
f >> g = runTM $ runIO f >> runIO g
--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Real.hs 2014-08-26 06:27:34.000000000 +1000
+++ darcs-2.8.5/src/Darcs/Patch/V2/Real.hs 2015-01-03 11:14:40.109221505 +1100
@@ -29,6 +29,9 @@
, mergeUnravelled
) where
+#if MIN_VERSION_base(4,8,0)
+import Prelude hiding ( (*>) )
+#endif
import Control.Monad ( mplus, liftM )
import qualified Data.ByteString.Char8 as BC ( ByteString, pack )
import Data.Maybe ( fromMaybe )
--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Non.hs 2014-08-26 06:27:34.000000000 +1000
+++ darcs-2.8.5/src/Darcs/Patch/V2/Non.hs 2015-01-03 11:14:08.073788136 +1100
@@ -40,7 +40,11 @@
, (>>*)
) where
+#if MIN_VERSION_base(4,8,0)
+import Prelude hiding ( rem, (*>) )
+#else
import Prelude hiding ( rem )
+#endif
import Data.List ( delete )
import Control.Monad ( liftM, mzero )
import Darcs.Patch.Commute ( commuteFL )
--- darcs-2.8.5-orig/src/Darcs/Patch/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000
+++ darcs-2.8.5/src/Darcs/Patch/V1/Commute.hs 2015-01-03 12:11:47.084707544 +1100
@@ -28,7 +28,8 @@
)
where
-import Control.Monad ( MonadPlus, mplus, msum, mzero, guard )
+import Control.Applicative ( Applicative(..), Alternative(..) )
+import Control.Monad ( MonadPlus, mplus, msum, mzero, guard, liftM, ap )
import Darcs.Patch.Commute ( toFwdCommute )
import Darcs.Patch.ConflictMarking ( mangleUnravelled )
@@ -69,6 +70,17 @@
data Perhaps a = Unknown | Failed | Succeeded a
+instance Functor Perhaps where
+ fmap = liftM
+
+instance Applicative Perhaps where
+ pure = return
+ (<*>) = ap
+
+instance Alternative Perhaps where
+ (<|>) = mplus
+ empty = mzero
+
instance Monad Perhaps where
(Succeeded x) >>= k = k x
Failed >>= _ = Failed