deal with mtl/monads-tf conflict

I had been using -ignore-package monads-tf to deal with this, but
the XMPP library uses monads-tf, so that also ignores it. Instead,
use PackageImports to force use of mtl in my own code.
This commit is contained in:
Joey Hess 2012-10-24 14:43:32 -04:00
parent 04ab4bd93a
commit 9856641ef1
5 changed files with 11 additions and 7 deletions

View file

@ -5,7 +5,7 @@
- Licensed under the GNU GPL version 3 or higher. - Licensed under the GNU GPL version 3 or higher.
-} -}
{-# LANGUAGE GeneralizedNewtypeDeriving, TypeFamilies, MultiParamTypeClasses #-} {-# LANGUAGE PackageImports, GeneralizedNewtypeDeriving, TypeFamilies, MultiParamTypeClasses #-}
module Annex ( module Annex (
Annex, Annex,
@ -30,7 +30,7 @@ module Annex (
fromRepo, fromRepo,
) where ) where
import Control.Monad.State.Strict import "mtl" Control.Monad.State.Strict
import Control.Monad.Trans.Control (StM, MonadBaseControl, liftBaseWith, restoreM) import Control.Monad.Trans.Control (StM, MonadBaseControl, liftBaseWith, restoreM)
import Control.Monad.Base (liftBase, MonadBase) import Control.Monad.Base (liftBase, MonadBase)
import System.Posix.Types (Fd) import System.Posix.Types (Fd)

View file

@ -5,11 +5,11 @@
- Licensed under the GNU GPL version 3 or higher. - Licensed under the GNU GPL version 3 or higher.
-} -}
{-# LANGUAGE BangPatterns #-} {-# LANGUAGE PackageImports, BangPatterns #-}
module Command.Status where module Command.Status where
import Control.Monad.State.Strict import "mtl" Control.Monad.State.Strict
import qualified Data.Map as M import qualified Data.Map as M
import Text.JSON import Text.JSON
import Data.Tuple import Data.Tuple

View file

@ -1,9 +1,11 @@
{-# LANGUAGE PackageImports #-}
module Common (module X) where module Common (module X) where
import Control.Monad as X hiding (join) import Control.Monad as X hiding (join)
import Control.Monad.IfElse as X import Control.Monad.IfElse as X
import Control.Applicative as X import Control.Applicative as X
import Control.Monad.State.Strict as X (liftIO) import "mtl" Control.Monad.State.Strict as X (liftIO)
import Control.Exception.Extensible as X (IOException) import Control.Exception.Extensible as X (IOException)
import Data.Maybe as X import Data.Maybe as X

View file

@ -1,6 +1,6 @@
CFLAGS=-Wall CFLAGS=-Wall
GIT_ANNEX_TMP_BUILD_DIR?=tmp GIT_ANNEX_TMP_BUILD_DIR?=tmp
IGNORE=-ignore-package monads-fd -ignore-package monads-tf IGNORE=-ignore-package monads-fd
BASEFLAGS=-Wall $(IGNORE) -outputdir $(GIT_ANNEX_TMP_BUILD_DIR) -IUtility BASEFLAGS=-Wall $(IGNORE) -outputdir $(GIT_ANNEX_TMP_BUILD_DIR) -IUtility
# If you get build failures due to missing haskell libraries, # If you get build failures due to missing haskell libraries,

View file

@ -5,9 +5,11 @@
- Licensed under the GNU GPL version 3 or higher. - Licensed under the GNU GPL version 3 or higher.
-} -}
{-# LANGUAGE PackageImports #-}
module Utility.State where module Utility.State where
import Control.Monad.State.Strict import "mtl" Control.Monad.State.Strict
{- Modifies Control.Monad.State's state, forcing a strict update. {- Modifies Control.Monad.State's state, forcing a strict update.
- This avoids building thunks in the state and leaking. - This avoids building thunks in the state and leaking.