File 3.cabal of Package ghc-mtl-compat

name:                mtl-compat
version:             0.2.1.3
x-revision: 3
synopsis:            Backported Control.Monad.Except module from mtl
description:         This package backports the "Control.Monad.Except" module from
                     @mtl@ (if using @mtl-2.2.0.1@ or earlier), which reexports the
                     @ExceptT@ monad transformer and the @MonadError@ class.
                     .
                     This package should only be used if there is a need to use the
                     @Control.Monad.Except@ module specifically. If you just want
                     the @mtl@ class instances for @ExceptT@, use
                     @transformers-compat@ instead, since @mtl-compat@ does nothing
                     but reexport the instances from that package.
                     .
                     Note that unlike how @mtl-2.2@ or later works, the
                     "Control.Monad.Except" module defined in this package exports
                     all of @ExceptT@'s monad class instances. Therefore, you may 
                     have to declare @import Control.Monad.Except ()@ at the top of
                     your file to get all of the @ExceptT@ instances in scope.
homepage:            https://github.com/haskell-compat/mtl-compat
bug-reports:         https://github.com/haskell-compat/mtl-compat/issues
stability:           Provisional
license:             BSD3
license-file:        LICENSE
author:              Ryan Scott
maintainer:          Ryan Scott <ryan.gl.scott@gmail.com>
copyright:           (C) 2015 Ryan Scott
category:            Compatibility
build-type:          Simple
extra-source-files:  CHANGELOG.md, README.md
cabal-version:       >=1.8

source-repository head
  type:                git
  location:            git://github.com/haskell-compat/mtl-compat.git

flag two-point-one
  default:             False
  manual:              True
  description:         Use mtl-2.1.3.1 or earlier with transformers-compat. This
                       will cause this package to export the Control.Monad.Except module.

flag two-point-two
  default:             False
  manual:              True
  description:         Use mtl-2.2.0.1 with transformers. This will cause this
                       package to export the Control.Monad.Except module.

library
  build-depends:       base                >= 4.3     && < 5

  if flag(two-point-one) || flag(two-point-two)
    exposed-modules:   Control.Monad.Except
    hs-source-dirs:    src
  
  if flag(two-point-one)
    build-depends:     mtl                 >= 2.0.1   && < 2.2
                     , transformers-compat >= 0.4     && < 0.6
  else
    if flag(two-point-two)
      build-depends:   mtl                 >= 2.2.0.1 && < 2.2.1
                     , transformers        >= 0.4.1   && < 0.6
    else
      build-depends:   mtl                 >= 2.2.1   && < 2.3

  ghc-options:         -Wall