summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-vcs')
-rw-r--r--dev-vcs/darcs/ChangeLog8
-rw-r--r--dev-vcs/darcs/darcs-2.8.5-r3.ebuild13
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch142
3 files changed, 157 insertions, 6 deletions
diff --git a/dev-vcs/darcs/ChangeLog b/dev-vcs/darcs/ChangeLog
index ac24a293ce2f..36d0fad312c4 100644
--- a/dev-vcs/darcs/ChangeLog
+++ b/dev-vcs/darcs/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-vcs/darcs
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.57 2014/12/14 09:28:01 gienah Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.58 2015/01/03 02:28:30 gienah Exp $
+
+ 03 Jan 2015; Mark Wright <gienah@gentoo.org>
+ +files/darcs-2.8.5-ghc-7.10.patch, darcs-2.8.5-r3.ebuild:
+ Patch darcs-2.8.5 for ghc 7.10
*darcs-2.8.5-r3 (14 Dec 2014)
diff --git a/dev-vcs/darcs/darcs-2.8.5-r3.ebuild b/dev-vcs/darcs/darcs-2.8.5-r3.ebuild
index 2155e9228336..2cd6abc71408 100644
--- a/dev-vcs/darcs/darcs-2.8.5-r3.ebuild
+++ b/dev-vcs/darcs/darcs-2.8.5-r3.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/darcs-2.8.5-r3.ebuild,v 1.1 2014/12/14 09:28:01 gienah Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/darcs-2.8.5-r3.ebuild,v 1.2 2015/01/03 02:28:30 gienah Exp $
EAPI=5
@@ -8,7 +8,7 @@ EAPI=5
#hackport: flags: +library,+executable,-hpc,-warn-as-error
CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
-inherit haskell-cabal
+inherit base haskell-cabal
DESCRIPTION="a distributed, interactive, smart revision control system"
HOMEPAGE="http://darcs.net/"
@@ -54,11 +54,16 @@ DEPEND="${RDEPEND}
>=dev-haskell/test-framework-quickcheck2-0.2.8:=[profile?] )
"
+PATCHES=("${FILESDIR}/${P}-ghc-7.10.patch")
+
src_prepare() {
+ base_src_prepare
cabal_chdeps \
'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \
'text >= 0.11.0.6 && < 1.2' 'text >= 0.11.0.6 && < 1.3' \
- 'random == 1.0.*' 'random >= 1.0 && < 1.2'
+ 'random == 1.0.*' 'random >= 1.0 && < 1.2' \
+ 'base >= 4.5 && < 4.8' 'base >= 4.5 && < 4.9' \
+ 'ghc >= 6.10 && < 7.10' 'ghc >= 6.10 && < 7.12'
}
src_configure() {
diff --git a/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch b/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch
new file mode 100644
index 000000000000..138c0848b9b8
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch
@@ -0,0 +1,142 @@
+--- 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