packages feed

megaparsec-5.0.0: megaparsec.cabal

--
-- Cabal config for Megaparsec.
--
-- Copyright © 2015–2016 Megaparsec contributors
--
-- Redistribution and use in source and binary forms, with or without
-- modification, are permitted provided that the following conditions are
-- met:
--
-- * Redistributions of source code must retain the above copyright notice,
--   this list of conditions and the following disclaimer.
--
-- * Redistributions in binary form must reproduce the above copyright
--   notice, this list of conditions and the following disclaimer in the
--   documentation and/or other materials provided with the distribution.
--
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
-- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-- POSSIBILITY OF SUCH DAMAGE.

name:                 megaparsec
version:              5.0.0
cabal-version:        >= 1.10
license:              BSD2
license-file:         LICENSE.md
author:               Megaparsec contributors,
                      Paolo Martini <paolo@nemail.it>,
                      Daan Leijen <daan@microsoft.com>

maintainer:           Mark Karpov <markkarpov@opmbx.org>
homepage:             https://github.com/mrkkrp/megaparsec
bug-reports:          https://github.com/mrkkrp/megaparsec/issues
category:             Parsing
synopsis:             Monadic parser combinators
build-type:           Simple
description:

  This is industrial-strength monadic parser combinator library. Megaparsec
  is a fork of Parsec library originally written by Daan Leijen.

extra-source-files:   AUTHORS.md
                    , CHANGELOG.md
                    , README.md

flag dev
  description:        Turn on development settings.
  manual:             True
  default:            False

library
  build-depends:      base         >= 4.6 && < 5
                    , bytestring
                    , containers   >= 0.5 && < 0.6
                    , exceptions   >= 0.6 && < 0.9
                    , mtl          == 2.*
                    , scientific   >= 0.3.1 && < 0.4
                    , text         >= 0.2
                    , transformers >= 0.4 && < 0.6

  if !impl(ghc >= 8.0)
    -- packages providing modules that moved into base-4.9.0.0
    build-depends:    fail         == 4.9.*
                    , semigroups   == 0.18.*

  if !impl(ghc >= 7.8)
    build-depends:    tagged       == 0.8.*

  exposed-modules:    Text.Megaparsec
                    , Text.Megaparsec.ByteString
                    , Text.Megaparsec.ByteString.Lazy
                    , Text.Megaparsec.Char
                    , Text.Megaparsec.Combinator
                    , Text.Megaparsec.Error
                    , Text.Megaparsec.Expr
                    , Text.Megaparsec.Lexer
                    , Text.Megaparsec.Perm
                    , Text.Megaparsec.Pos
                    , Text.Megaparsec.Prim
                    , Text.Megaparsec.String
                    , Text.Megaparsec.Text
                    , Text.Megaparsec.Text.Lazy
  if flag(dev)
    ghc-options:      -Wall
    if impl(ghc >= 8.0)
      ghc-options:    -Wcompat
      ghc-options:    -Wnoncanonical-monadfail-instances
      ghc-options:    -Wnoncanonical-monoid-instances
  else
    ghc-options:      -O2 -Wall
  default-language:   Haskell2010

test-suite old-tests
  main-is:            Main.hs
  hs-source-dirs:     old-tests
  type:               exitcode-stdio-1.0
  if flag(dev)
    ghc-options:      -Wall
  else
    ghc-options:      -O2 -Wall
  other-modules:      Bugs
                    , Bugs.Bug2
                    , Bugs.Bug6
                    , Bugs.Bug9
                    , Bugs.Bug35
                    , Bugs.Bug39
                    , Util
  build-depends:      base                 >= 4.6 && < 5
                    , HUnit                >= 1.2 && < 1.4
                    , megaparsec           >= 5.0.0
                    , test-framework       >= 0.6 && < 1
                    , test-framework-hunit >= 0.2 && < 0.4
  default-language:   Haskell2010

test-suite tests
  main-is:            Main.hs
  hs-source-dirs:     tests
  type:               exitcode-stdio-1.0
  if flag(dev)
    ghc-options:      -Wall
  else
    ghc-options:      -O2 -Wall
  other-modules:      Char
                    , Combinator
                    , Error
                    , Expr
                    , Lexer
                    , Perm
                    , Pos
                    , Prim
                    , Util
  build-depends:      base           >= 4.6 && < 5
                    , HUnit          >= 1.2 && < 1.4
                    , QuickCheck     >= 2.8.2 && < 3
                    , bytestring
                    , containers     >= 0.5 && < 0.6
                    , exceptions     >= 0.6 && < 0.9
                    , megaparsec     >= 5.0.0
                    , mtl            == 2.*
                    , scientific     >= 0.3.1 && < 0.4
                    , test-framework >= 0.6 && < 1
                    , test-framework-hunit       >= 0.3 && < 0.4
                    , test-framework-quickcheck2 >= 0.3 && < 0.4
                    , text           >= 0.2
                    , transformers   >= 0.4 && < 0.6

  if !impl(ghc >= 8.0)
    -- packages providing modules that moved into base-4.9.0.0
    build-depends:    semigroups     == 0.18.*

  if !impl(ghc >= 7.8)
    build-depends:    tagged       == 0.8.*

  default-language:   Haskell2010

benchmark benchmarks
  main-is:            Main.hs
  hs-source-dirs:     benchmarks
  type:               exitcode-stdio-1.0
  if flag(dev)
    ghc-options:      -O2 -Wall
  else
    ghc-options:      -O2 -Wall
  build-depends:      base       >= 4.6 && < 5
                    , bytestring >= 0.10 && < 2
                    , criterion  >= 0.6.2.1 && < 1.2
                    , megaparsec >= 5.0.0
                    , text       >= 0.2
  default-language:   Haskell2010

source-repository head
  type:               git
  location:           https://github.com/mrkkrp/megaparsec.git