File http-api-data.cabal of Package ghc-http-api-data

cabal-version:   >= 1.10
name:            http-api-data
version:         0.4.3
x-revision:      6

synopsis:        Converting to/from HTTP API data like URL pieces, headers and query parameters.
category:        Web
description:
  This package defines typeclasses used for converting Haskell data types to and from HTTP API data.
  .
  Please see README.md

license:         BSD3
license-file:    LICENSE
author:          Nickolay Kudasov <nickolay.kudasov@gmail.com>
maintainer:      Nickolay Kudasov <nickolay.kudasov@gmail.com>
homepage:        http://github.com/fizruk/http-api-data
stability:       unstable
build-type:      Simple

extra-source-files:
  include/overlapping-compat.h
  test/*.hs
  CHANGELOG.md
  README.md

tested-with:
  GHC==7.8.4,
  GHC==7.10.3,
  GHC==8.0.2,
  GHC==8.2.2,
  GHC==8.4.4,
  GHC==8.6.5,
  GHC==8.8.4,
  GHC==8.10.7,
  GHC==9.0.1,
  GHC==9.2.1

flag use-text-show
  description: Use text-show library for efficient ToHttpApiData implementations.
  default: False
  manual: True

library
    hs-source-dirs: src/
    include-dirs:   include/

    -- GHC bundled
    build-depends:   base                  >= 4.7      && < 4.17
                   , bytestring            >= 0.10.4.0 && < 0.12
                   , containers            >= 0.5.5.1  && < 0.7
                   , text                  >= 1.2.3.0  && < 1.3 || >=2.0 && <2.1
                   , transformers          >= 0.3      && < 0.7

    -- so Semigroup Builder exists
    if impl(ghc >= 8.0)
      build-depends: bytestring >= 0.10.8.1

    -- other-dependencies
    build-depends:
                     attoparsec            >= 0.13.2.2 && < 0.15
                   , attoparsec-iso8601    >= 1.0.2.0  && < 1.1
                   , base-compat           >= 0.10.5   && < 0.13
                   , cookie                >= 0.4.3    && < 0.5
                   , hashable              >= 1.2.7.0  && < 1.5
                   , http-types            >= 0.12.3   && < 0.13
                   , tagged                >= 0.8.5    && < 0.9
                   , time-compat           >= 1.9.5    && < 1.10
                   , unordered-containers  >= 0.2.10.0 && < 0.3
                   , uuid-types            >= 1.0.3    && < 1.1

    if !impl(ghc >= 7.10)
      build-depends:
        nats >= 1.1.2 && < 1.2,
        void >= 0.7.3 && < 0.8

    if !impl(ghc >= 8.0)
      build-depends: semigroups            >= 0.18.5   && < 0.21

    if flag(use-text-show)
      cpp-options: -DUSE_TEXT_SHOW
      build-depends: text-show        >= 3.8.2 && <3.10

    exposed-modules:
      Web.HttpApiData
      Web.FormUrlEncoded
      Web.Internal.FormUrlEncoded
      Web.Internal.HttpApiData
    ghc-options:     -Wall
    default-language: Haskell2010

test-suite spec
    type:          exitcode-stdio-1.0
    main-is:       Spec.hs
    other-modules:
      Web.Internal.FormUrlEncodedSpec
      Web.Internal.HttpApiDataSpec
      Web.Internal.TestInstances
    hs-source-dirs: test
    ghc-options:   -Wall
    default-language: Haskell2010
    build-tool-depends: hspec-discover:hspec-discover >= 2.7.1 && <2.10
    -- inherited  depndencies
    build-depends:
                     base
                   , base-compat
                   , bytestring
                   , cookie
                   , http-api-data
                   , text
                   , time-compat
                   , unordered-containers
                   , uuid-types

    if !impl(ghc >= 7.10)
      build-depends: nats

    build-depends:   HUnit                >= 1.6.0.0  && <1.7
                   , hspec                >= 2.7.1    && <2.10
                   , QuickCheck           >= 2.13.1   && <2.15
                   , quickcheck-instances >= 0.3.25.2 && <0.4

source-repository head
  type:     git
  location: https://github.com/fizruk/http-api-data
openSUSE Build Service is sponsored by