commit: f3b0a091b34642ff5df1b57430bc5d7ff89eddbd Author: Jack Todaro <solpeth <AT> posteo <DOT> org> AuthorDate: Wed Sep 9 00:25:20 2020 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Wed Sep 9 07:55:27 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3b0a091
dev-haskell/logict-state: build with ghc-8.8 Closes: https://bugs.gentoo.org/736098 Package-Manager: Portage-3.0.6, Repoman-3.0.1 Signed-off-by: Jack Todaro <solpeth <AT> posteo.org> Closes: https://github.com/gentoo/gentoo/pull/17478 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> .../logict-state-0.1.0.5-monadfail-compat.patch | 64 ++++++++++++++++++++++ .../logict-state/logict-state-0.1.0.5.ebuild | 6 +- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/dev-haskell/logict-state/files/logict-state-0.1.0.5-monadfail-compat.patch b/dev-haskell/logict-state/files/logict-state-0.1.0.5-monadfail-compat.patch new file mode 100644 index 00000000000..3da6f26e0dd --- /dev/null +++ b/dev-haskell/logict-state/files/logict-state-0.1.0.5-monadfail-compat.patch @@ -0,0 +1,64 @@ +diff --git a/src/Control/Monad/LogicState.hs b/src/Control/Monad/LogicState.hs +index 93be8aa..613a77c 100644 +--- a/src/Control/Monad/LogicState.hs ++++ b/src/Control/Monad/LogicState.hs +@@ -1,4 +1,4 @@ +-{-# LANGUAGE UndecidableInstances, Rank2Types, FlexibleInstances, FlexibleContexts, GADTs, ScopedTypeVariables, FunctionalDependencies #-} ++{-# LANGUAGE UndecidableInstances, Rank2Types, FlexibleInstances, FlexibleContexts, GADTs, ScopedTypeVariables, FunctionalDependencies, CPP #-} + + ------------------------------------------------------------------------- + -- | +@@ -39,6 +39,9 @@ import Control.Applicative + + import Control.Monad + import Control.Monad.Identity ++#if !MIN_VERSION_base(4,11,0) ++import qualified Control.Monad.Fail as Fail ++#endif + import Control.Monad.Trans + + import Control.Monad.State +@@ -83,7 +86,12 @@ instance Applicative (LogicStateT gs bs f) where + instance Monad (LogicStateT gs bs m) where + return a = LogicStateT ($ a) + m >>= f = LogicStateT $ \sk -> unLogicStateT m (\a -> unLogicStateT (f a) sk) +- fail _ = LogicStateT $ flip const ++#if !MIN_VERSION_base(4,11,0) ++ fail = Fail.fail ++#endif ++ ++instance MonadFail (LogicStateT gs bs m) where ++ fail _ = LogicStateT $ flip const + + instance Alternative (LogicStateT gs bs f) where + empty = LogicStateT $ flip const +diff --git a/src/Control/Monad/TransLogicState/Class.hs b/src/Control/Monad/TransLogicState/Class.hs +index 4fa61c4..267704a 100644 +--- a/src/Control/Monad/TransLogicState/Class.hs ++++ b/src/Control/Monad/TransLogicState/Class.hs +@@ -1,4 +1,4 @@ +-{-# LANGUAGE ScopedTypeVariables #-} ++{-# LANGUAGE ScopedTypeVariables, CPP #-} + + module Control.Monad.TransLogicState.Class + ( TransLogicState(..) +@@ -15,12 +15,19 @@ import Control.Arrow + import Control.Monad.Identity + -- import Control.Monad.Trans + ++instance MonadFail Identity where ++ fail msg = runIdentity $ fail msg ++ + -- | Additions to MonadTrans specifically useful for LogicState + class {- MonadTrans t => -} TransLogicState s t where + ------------------------------------------------------------------------- + -- | Extracts the first result from a 't m' computation, + -- failing otherwise. ++#if !MIN_VERSION_base(4,13,0) + observeT :: (Monad m) => s -> t m a -> m a ++#else ++ observeT :: (MonadFail m) => s -> t m a -> m a ++#endif + observeT e m = fmap head $ observeManyT e 1 m + + ------------------------------------------------------------------------- diff --git a/dev-haskell/logict-state/logict-state-0.1.0.5.ebuild b/dev-haskell/logict-state/logict-state-0.1.0.5.ebuild index 86cad39395b..51943378207 100644 --- a/dev-haskell/logict-state/logict-state-0.1.0.5.ebuild +++ b/dev-haskell/logict-state/logict-state-0.1.0.5.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 # ebuild generated by hackport 0.5.6.9999 @@ -24,3 +24,5 @@ RDEPEND=">=dev-haskell/logict-0.6.0.2:=[profile?] DEPEND="${RDEPEND} >=dev-haskell/cabal-1.22.2.0 " + +PATCHES=( "${FILESDIR}"/${P}-monadfail-compat.patch )
