packages feed

modern-uri-0.2.2.0: modern-uri.cabal

name:                 modern-uri
version:              0.2.2.0
cabal-version:        1.18
tested-with:          GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.3
license:              BSD3
license-file:         LICENSE.md
author:               Mark Karpov <markkarpov92@gmail.com>
maintainer:           Mark Karpov <markkarpov92@gmail.com>
homepage:             https://github.com/mrkkrp/modern-uri
bug-reports:          https://github.com/mrkkrp/modern-uri/issues
category:             Text
synopsis:             Modern library for working with URIs
build-type:           Simple
description:          Modern library for working with URIs.
extra-doc-files:      CHANGELOG.md
                    , README.md

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

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

library
  build-depends:      QuickCheck       >= 2.4 && < 3.0
                    , base             >= 4.7 && < 5.0
                    , bytestring       >= 0.2 && < 0.11
                    , containers       >= 0.5 && < 0.6
                    , contravariant    >= 1.3 && < 2.0
                    , deepseq          >= 1.3 && < 1.5
                    , exceptions       >= 0.6 && < 0.11
                    , megaparsec       >= 6.0 && < 7.0
                    , mtl              >= 2.0 && < 3.0
                    , profunctors      >= 5.2.1 && < 6.0
                    , reflection       >= 2.0 && < 3.0
                    , tagged           >= 0.8 && < 0.9
                    , template-haskell >= 2.10 && < 2.14
                    , text             >= 0.2 && < 1.3
  if !impl(ghc >= 8.0)
    build-depends:    semigroups       == 0.18.*
  exposed-modules:    Text.URI
                    , Text.URI.Lens
                    , Text.URI.QQ
  other-modules:      Text.URI.Parser.ByteString
                    , Text.URI.Parser.Text
                    , Text.URI.Parser.Text.Utils
                    , Text.URI.Render
                    , Text.URI.Types
  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  if flag(dev) && impl(ghc >= 8.0)
    ghc-options:      -Wcompat
                      -Wincomplete-record-updates
                      -Wincomplete-uni-patterns
                      -Wnoncanonical-monad-instances
                      -Wnoncanonical-monadfail-instances
  default-language:   Haskell2010

test-suite tests
  main-is:            Spec.hs
  hs-source-dirs:     tests
  type:               exitcode-stdio-1.0
  build-depends:      QuickCheck       >= 2.4 && < 3.0
                    , base             >= 4.7 && < 5.0
                    , bytestring       >= 0.2 && < 0.11
                    , hspec            >= 2.0 && < 3.0
                    , hspec-megaparsec >= 1.0 && < 2.0
                    , megaparsec       >= 6.0 && < 7.0
                    , modern-uri
                    , text             >= 0.2 && < 1.3
  build-tools:        hspec-discover   >= 2.0 && < 3.0
  if !impl(ghc >= 8.0)
    build-depends:    semigroups       == 0.18.*
  other-modules:      Text.URISpec
  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:   Haskell2010

benchmark bench-speed
  main-is:            Main.hs
  hs-source-dirs:     bench/speed
  type:               exitcode-stdio-1.0
  build-depends:      base             >= 4.7 && < 5.0
                    , bytestring       >= 0.2 && < 0.11
                    , criterion        >= 0.6.2.1 && < 1.6
                    , megaparsec       >= 6.0 && < 7.0
                    , modern-uri
                    , text             >= 0.2  && < 1.3
  if flag(dev)
    ghc-options:      -O2 -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:   Haskell2010

benchmark bench-memory
  main-is:            Main.hs
  hs-source-dirs:     bench/memory
  type:               exitcode-stdio-1.0
  build-depends:      base             >= 4.7 && < 5.0
                    , bytestring       >= 0.2 && < 0.11
                    , deepseq          >= 1.3 && < 1.5
                    , megaparsec       >= 6.0 && < 7.0
                    , modern-uri
                    , text             >= 0.2  && < 1.3
                    , weigh            >= 0.0.4
  if flag(dev)
    ghc-options:      -O2 -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:   Haskell2010