name:                uri-bytestring
version:             0.3.3.1
synopsis:            Haskell URI parsing as ByteStrings
description: uri-bytestring aims to be an RFC3986 compliant URI parser that uses efficient ByteStrings for parsing and representing the URI data.
license:             BSD3
license-files:       LICENSE
                   , licenses/http-types/LICENSE
author:              Doug Beardsley, Michael Xavier
maintainer:          Michael Xavier <michael.xavier@soostone.com>
copyright:           Soostone Inc.
category:            Web
build-type:          Simple
cabal-version:       1.16
homepage:            https://github.com/Soostone/uri-bytestring
bug-reports:         https://github.com/Soostone/uri-bytestring/issues
Tested-With:         GHC == 7.8.4
                   , GHC == 7.10.1
                   , GHC == 8.0.2
                   , GHC == 8.2.1
                   , GHC == 8.4.1
extra-source-files:
  README.md
  CONTRIBUTING.md
  changelog.md
  bench/*.hs

flag lib-Werror
  default: False
  manual: True

library
  exposed-modules:
    URI.ByteString
    URI.ByteString.QQ
  other-modules:
    URI.ByteString.Lens
    URI.ByteString.Types
    URI.ByteString.Internal

  build-depends:

      attoparsec       >= 0.13.1.0
    , base             >= 4.6     && < 5
    , bytestring       >= 0.9.1
    , blaze-builder    >= 0.3.0.0
    , template-haskell >= 2.9
    , th-lift-instances >= 0.1.8
    , containers

  hs-source-dirs:      src
  default-language:    Haskell2010

  if impl(ghc >= 7.8)
    cpp-options: -DWITH_TYPEABLE

  if !impl(ghc >= 8)
    cpp-options: -DLIFT_COMPAT
    build-depends:
      fail >= 4.9 && < 5,
      th-lift >= 0.7.5 && < 0.8,
      semigroups >= 0.16.2.2 && <0.19

  if flag(lib-Werror)
    ghc-options: -Werror

  ghc-options: -Wall

test-suite test
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
    URI.ByteString.Generators
    URI.ByteStringTests
    URI.ByteStringQQTests
  hs-source-dirs: test
  build-depends:
      uri-bytestring
    , HUnit
    , tasty
    , tasty-hunit
    , hedgehog
    , tasty-hedgehog
    , attoparsec
    , base
    , base-compat >= 0.7.0
    , blaze-builder
    , bytestring
    , transformers
    , containers
    , safe

  if !impl(ghc >= 8)
    build-depends: semigroups

  default-language:    Haskell2010

  if flag(lib-Werror)
    ghc-options: -Werror

  ghc-options: -Wall


benchmark bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: bench
  default-language:    Haskell2010
  build-depends:
      base
    , uri-bytestring
    , criterion
    , deepseq
    , deepseq-generics
    , network-uri >= 2.6.0.3
    , bytestring
    , blaze-builder

source-repository head
  type:     git
  location: git://github.com/Soostone/uri-bytestring.git
