commit:     b30b60e19d49886b714bc4e614fe0cac147e1c31
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 21 20:23:09 2015 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Sep 21 20:23:48 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b30b60e1

dev-haskell/dbus-core: port to ghc-7.10, bug #561014

Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/561014

Package-Manager: portage-2.2.20

 dev-haskell/dbus-core/dbus-core-0.9.3-r3.ebuild    |  4 +-
 .../dbus-core/files/dbus-core-0.9.3-ghc-7.10.patch | 96 ++++++++++++++++++++++
 2 files changed, 99 insertions(+), 1 deletion(-)

diff --git a/dev-haskell/dbus-core/dbus-core-0.9.3-r3.ebuild 
b/dev-haskell/dbus-core/dbus-core-0.9.3-r3.ebuild
index dae07a2..a3dd10e 100644
--- a/dev-haskell/dbus-core/dbus-core-0.9.3-r3.ebuild
+++ b/dev-haskell/dbus-core/dbus-core-0.9.3-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -31,6 +31,8 @@ DEPEND="${RDEPEND}
                >=dev-haskell/cabal-1.6"
 
 src_prepare() {
+       epatch "${FILESDIR}"/${P}-ghc-7.10.patch
+
        if has_version "<dev-haskell/haddock-2.9.2"; then
                # Workaround http://hackage.haskell.org/trac/hackage/ticket/626
                # The haddock --hoogle option does not like unicode characters, 
which causes

diff --git a/dev-haskell/dbus-core/files/dbus-core-0.9.3-ghc-7.10.patch 
b/dev-haskell/dbus-core/files/dbus-core-0.9.3-ghc-7.10.patch
new file mode 100644
index 0000000..402df00
--- /dev/null
+++ b/dev-haskell/dbus-core/files/dbus-core-0.9.3-ghc-7.10.patch
@@ -0,0 +1,96 @@
+diff --git a/hs/DBus/Connection/Authentication.hs 
b/hs/DBus/Connection/Authentication.hs
+index b909a38..c33d311 100644
+--- a/hs/DBus/Connection/Authentication.hs
++++ b/hs/DBus/Connection/Authentication.hs
+@@ -25,3 +25,4 @@ module DBus.Connection.Authentication
+ import           Prelude hiding (getLine, head)
+-import           Control.Monad (liftM)
++import           Control.Applicative
++import           Control.Monad
+ import qualified Data.ByteString
+@@ -58,2 +59,9 @@ data Auth a = Auth
+ 
++instance Functor Auth where
++    fmap  = liftM
++
++instance Applicative Auth where
++    pure  = return
++    (<*>) = ap  -- defined in Control.Monad
++
+ instance Monad Auth where
+diff --git a/hs/DBus/Introspection.hs b/hs/DBus/Introspection.hs
+index 96ff4a3..da82812 100644
+--- a/hs/DBus/Introspection.hs
++++ b/hs/DBus/Introspection.hs
+@@ -29,3 +29,4 @@ module DBus.Introspection
+       ) where
+-import           Control.Monad ((>=>))
++import           Control.Applicative
++import           Control.Monad
+ import           Control.Monad.ST (runST)
+@@ -176,2 +177,9 @@ newtype XmlWriter a = XmlWriter { runXmlWriter :: Maybe 
(a, Text) }
+ 
++instance Functor XmlWriter where
++    fmap  = liftM
++
++instance Applicative XmlWriter where
++    pure  = return
++    (<*>) = ap  -- defined in Control.Monad
++
+ instance Monad XmlWriter where
+diff --git a/hs/DBus/Types/Internal.hs b/hs/DBus/Types/Internal.hs
+index 7f5d9c5..7c73afe 100644
+--- a/hs/DBus/Types/Internal.hs
++++ b/hs/DBus/Types/Internal.hs
+@@ -5,2 +5,3 @@
+ {-# LANGUAGE IncoherentInstances #-}
++{-# LANGUAGE FlexibleContexts #-}
+ 
+diff --git a/hs/DBus/Util/MonadError.hs b/hs/DBus/Util/MonadError.hs
+index 33b51ed..ef01df2 100644
+--- a/hs/DBus/Util/MonadError.hs
++++ b/hs/DBus/Util/MonadError.hs
+@@ -23,2 +23,6 @@ module DBus.Util.MonadError
+       ) where
++
++import Control.Applicative
++import Control.Monad
++
+ newtype ErrorM e a = ErrorM { runErrorM :: Either e a }
+@@ -30,2 +34,6 @@ instance Functor (ErrorM e) where
+ 
++instance Applicative (ErrorM e) where
++    pure  = return
++    (<*>) = ap  -- defined in Control.Monad
++
+ instance Monad (ErrorM e) where
+@@ -41,2 +49,9 @@ newtype ErrorT e m a = ErrorT { runErrorT :: m (Either e a) }
+ 
++instance Monad m => Functor (ErrorT e m) where
++    fmap  = liftM
++
++instance Monad m => Applicative (ErrorT e m) where
++    pure  = return
++    (<*>) = ap  -- defined in Control.Monad
++
+ instance Monad m => Monad (ErrorT e m) where
+diff --git a/hs/DBus/Wire/Internal.hs b/hs/DBus/Wire/Internal.hs
+index b386eec..512ff1a 100644
+--- a/hs/DBus/Wire/Internal.hs
++++ b/hs/DBus/Wire/Internal.hs
+@@ -19,3 +19,4 @@
+ module DBus.Wire.Internal where
+-import Control.Monad (liftM, when, unless)
++import Control.Applicative
++import Control.Monad hiding (void)
+ 
+@@ -96,2 +97,9 @@ newtype Wire s a = Wire
+ 
++instance Functor (Wire s) where
++    fmap  = liftM
++
++instance Applicative (Wire s) where
++    pure  = return
++    (<*>) = ap  -- defined in Control.Monad
++
+ instance Monad (Wire s) where

Reply via email to