File: json.cabal

package info (click to toggle)
haskell-json 0.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 308 kB
  • sloc: haskell: 1,517; makefile: 15
file content (121 lines) | stat: -rw-r--r-- 3,250 bytes parent folder | download
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
113
114
115
116
117
118
119
120
121
cabal-version:      2.4
name:               json
version:            0.11
synopsis:           Support for serialising Haskell to and from JSON
description:
    JSON (JavaScript Object Notation) is a lightweight data-interchange
    format. It is easy for humans to read and write. It is easy for
    machines to parse and generate.  It is based on a subset of the
    JavaScript Programming Language, Standard ECMA-262 3rd Edition -
    December 1999.
    .
    This library provides a parser and pretty printer for converting
    between Haskell values and JSON.
category:           Web
license:            BSD-3-Clause
license-file:       LICENSE
author:             Galois Inc.
maintainer:         Iavor S. Diatchki (iavor.diatchki@gmail.com)
Copyright:          (c) 2007-2018 Galois Inc.
build-type: Simple
extra-doc-files:
    CHANGES
extra-source-files:
    tests/GenericTest.hs
    tests/HUnit.hs
    tests/Makefile
    tests/Parallel.hs
    tests/QC.hs
    tests/QuickCheckUtils.hs
    tests/Unit.hs
    tests/unit/fail1.json
    tests/unit/fail10.json
    tests/unit/fail11.json
    tests/unit/fail12.json
    tests/unit/fail13.json
    tests/unit/fail14.json
    tests/unit/fail15.json
    tests/unit/fail16.json
    tests/unit/fail17.json
    tests/unit/fail18.json
    tests/unit/fail19.json
    tests/unit/fail2.json
    tests/unit/fail20.json
    tests/unit/fail21.json
    tests/unit/fail22.json
    tests/unit/fail23.json
    tests/unit/fail24.json
    tests/unit/fail25.json
    tests/unit/fail26.json
    tests/unit/fail27.json
    tests/unit/fail28.json
    tests/unit/fail29.json
    tests/unit/fail3.json
    tests/unit/fail30.json
    tests/unit/fail31.json
    tests/unit/fail32.json
    tests/unit/fail33.json
    tests/unit/fail4.json
    tests/unit/fail5.json
    tests/unit/fail6.json
    tests/unit/fail7.json
    tests/unit/fail8.json
    tests/unit/fail9.json
    tests/unit/pass1.json
    tests/unit/pass2.json
    tests/unit/pass3.json

source-repository head
    type:     git
    location: https://github.com/GaloisInc/json.git

flag split-base
  default: True
  description: Use the new split base package.
flag parsec
  default: True
  description: Add support for parsing with Parsec.
flag pretty
  default: True
  description: Add support for using pretty printing combinators.
flag generic
  default: True
  description: Add support for generic encoder.

flag mapdict
  default: False
  description: Encode Haskell maps as JSON dicts

library
  default-language: Haskell2010
  exposed-modules: Text.JSON,
                   Text.JSON.Types,
                   Text.JSON.String,
                   Text.JSON.ReadP
  ghc-options:     -Wall -O2

  if flag(split-base)
    if flag(generic)
      build-depends:    base >=4.9 && <5, syb >= 0.3.3

      exposed-modules:  Text.JSON.Generic
      Cpp-Options:      -DBASE_4
    else
      build-depends:    base >= 3 && <4

    build-depends:   array, containers, bytestring, mtl, text

    if flag(parsec)
      build-depends:    parsec
      exposed-modules:  Text.JSON.Parsec
    if flag(pretty)
      build-depends:    pretty
      exposed-modules:  Text.JSON.Pretty
  else
    build-depends:    base < 3

  if flag(mapdict)
     cpp-options:     -DMAP_AS_DICT