summaryrefslogtreecommitdiff
path: root/http-api-data.cabal
blob: 50ab1a66bfd6017e1c08ba47d1c6afe49c86fd80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
cabal-version:   >= 1.10
name:            http-api-data
version:         0.5
x-revision:      1

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==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.2,
  GHC==9.2.3,
  GHC==9.4.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.9      && < 4.18
                   , bytestring            >= 0.10.8.1 && < 0.12
                   , containers            >= 0.5.7.1  && < 0.7
                   , text                  >= 1.2.3.0  && < 1.3 || >=2.0 && <2.1
                   , transformers          >= 0.5.2.0  && < 0.7

    -- other-dependencies
    build-depends:
                     attoparsec            >= 0.13.2.2 && < 0.15
                   , attoparsec-iso8601    >= 1.1.0.0  && < 1.2
                   , 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 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.11
    -- 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.11
                   , 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