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 )

Reply via email to