Blame aeson.cabal

Packit 9a2dfb
name:            aeson
Packit 9a2dfb
version:         1.2.3.0
Packit 9a2dfb
license:         BSD3
Packit 9a2dfb
license-file:    LICENSE
Packit 9a2dfb
category:        Text, Web, JSON
Packit 9a2dfb
copyright:       (c) 2011-2016 Bryan O'Sullivan
Packit 9a2dfb
                 (c) 2011 MailRank, Inc.
Packit 9a2dfb
author:          Bryan O'Sullivan <bos@serpentine.com>
Packit 9a2dfb
maintainer:      Adam Bergmark <adam@bergmark.nl>
Packit 9a2dfb
stability:       experimental
Packit 9a2dfb
tested-with:     GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
Packit 9a2dfb
synopsis:        Fast JSON parsing and encoding
Packit 9a2dfb
cabal-version:   >= 1.10
Packit 9a2dfb
homepage:        https://github.com/bos/aeson
Packit 9a2dfb
bug-reports:     https://github.com/bos/aeson/issues
Packit 9a2dfb
build-type:      Simple
Packit 9a2dfb
description:
Packit 9a2dfb
    A JSON parsing and encoding library optimized for ease of use
Packit 9a2dfb
    and high performance.
Packit 9a2dfb
    .
Packit 9a2dfb
    To get started, see the documentation for the @Data.Aeson@ module
Packit 9a2dfb
    below.
Packit 9a2dfb
    .
Packit 9a2dfb
    Parsing performance on a late 2013 MacBook Pro (2.6GHz Core i7),
Packit 9a2dfb
    running 64-bit GHC 7.10.1, for mostly-English tweets from Twitter's
Packit 9a2dfb
    JSON search API:
Packit 9a2dfb
    .
Packit 9a2dfb
    * 6.4 KB payloads, English: 7570 msg\/sec (47.6 MB\/sec)
Packit 9a2dfb
    .
Packit 9a2dfb
    * 14.6 KB payloads, Japanese: 3261 msg\/sec (46.6 MB\/sec)
Packit 9a2dfb
    .
Packit 9a2dfb
    Encoding performance on the same machine and data:
Packit 9a2dfb
    .
Packit 9a2dfb
    * 6.4 KB payloads, English: 22738 msg\/sec (142.9 MB\/sec)
Packit 9a2dfb
    .
Packit 9a2dfb
    * 14.6 KB payloads, Japanese: 15911 msg\/sec (227.4 MB\/sec)
Packit 9a2dfb
    .
Packit 9a2dfb
    (A note on naming: in Greek mythology, Aeson was the father of Jason.)
Packit 9a2dfb
Packit 9a2dfb
extra-source-files:
Packit 9a2dfb
    *.yaml
Packit 9a2dfb
    README.markdown
Packit 9a2dfb
    benchmarks/*.cabal
Packit 9a2dfb
    benchmarks/*.hs
Packit 9a2dfb
    benchmarks/*.py
Packit 9a2dfb
    benchmarks/Compare/*.hs
Packit 9a2dfb
    benchmarks/Makefile
Packit 9a2dfb
    benchmarks/Typed/*.hs
Packit 9a2dfb
    benchmarks/json-data/*.json
Packit 9a2dfb
    cbits/*.c
Packit 9a2dfb
    changelog.md
Packit 9a2dfb
    examples/*.cabal
Packit 9a2dfb
    examples/*.hs
Packit 9a2dfb
    examples/Twitter/*.hs
Packit 9a2dfb
    ffi/Data/Aeson/Parser/*.hs
Packit 9a2dfb
    include/*.h
Packit 9a2dfb
    tests/JSONTestSuite/test_parsing/*.json
Packit 9a2dfb
    tests/JSONTestSuite/test_transform/*.json
Packit 9a2dfb
    pure/Data/Aeson/Parser/*.hs
Packit 9a2dfb
Packit 9a2dfb
flag developer
Packit 9a2dfb
  description: operate in developer mode
Packit 9a2dfb
  default: False
Packit 9a2dfb
  manual: True
Packit 9a2dfb
Packit 9a2dfb
flag fast
Packit 9a2dfb
  description: compile without optimizations
Packit 9a2dfb
  default: False
Packit 9a2dfb
  manual: True
Packit 9a2dfb
Packit 9a2dfb
flag bytestring-builder
Packit 9a2dfb
  description: Depend on the bytestring-builder package for backwards compatibility.
Packit 9a2dfb
  default: False
Packit 9a2dfb
  manual: False
Packit 9a2dfb
Packit 9a2dfb
flag cffi
Packit 9a2dfb
  description: Controls whether to include c-ffi bits or pure haskell. Default to False for security.
Packit 9a2dfb
  default: False
Packit 9a2dfb
  manual: True
Packit 9a2dfb
Packit 9a2dfb
library
Packit 9a2dfb
  default-language: Haskell2010
Packit 9a2dfb
  hs-source-dirs: . attoparsec-iso8601/
Packit 9a2dfb
Packit 9a2dfb
  exposed-modules:
Packit 9a2dfb
    Data.Aeson
Packit 9a2dfb
    Data.Aeson.Encoding
Packit 9a2dfb
    Data.Aeson.Parser
Packit 9a2dfb
    Data.Aeson.Text
Packit 9a2dfb
    Data.Aeson.Types
Packit 9a2dfb
    Data.Aeson.TH
Packit 9a2dfb
Packit 9a2dfb
    Data.Aeson.Encoding.Internal
Packit 9a2dfb
    Data.Aeson.Internal
Packit 9a2dfb
    Data.Aeson.Internal.Time
Packit 9a2dfb
    Data.Aeson.Parser.Internal
Packit 9a2dfb
Packit 9a2dfb
  -- Deprecated modules
Packit 9a2dfb
  exposed-modules:
Packit 9a2dfb
    Data.Aeson.Encode
Packit 9a2dfb
Packit 9a2dfb
  other-modules:
Packit 9a2dfb
    Data.Aeson.Compat
Packit 9a2dfb
    Data.Aeson.Encoding.Builder
Packit 9a2dfb
    Data.Aeson.Internal.Functions
Packit 9a2dfb
    Data.Aeson.Parser.Unescape
Packit 9a2dfb
    Data.Aeson.Parser.Time
Packit 9a2dfb
    Data.Aeson.Types.FromJSON
Packit 9a2dfb
    Data.Aeson.Types.Generic
Packit 9a2dfb
    Data.Aeson.Types.ToJSON
Packit 9a2dfb
    Data.Aeson.Types.Class
Packit 9a2dfb
    Data.Aeson.Types.Internal
Packit 9a2dfb
    Data.Attoparsec.Time
Packit 9a2dfb
    Data.Attoparsec.Time.Internal
Packit 9a2dfb
Packit 9a2dfb
  build-depends:
Packit 9a2dfb
    attoparsec >= 0.13.0.1,
Packit 9a2dfb
    base >= 4.5 && < 5,
Packit 9a2dfb
    base-compat >= 0.9.1 && < 0.10,
Packit 9a2dfb
    containers >= 0.4.2,
Packit 9a2dfb
    deepseq >= 1.3 && < 1.5,
Packit 9a2dfb
    dlist >= 0.6,
Packit 9a2dfb
    ghc-prim >= 0.2,
Packit 9a2dfb
    hashable >= 1.1.2.0,
Packit 9a2dfb
    scientific >= 0.3.4.7 && < 0.4,
Packit 9a2dfb
    tagged >=0.8.3 && <0.9,
Packit 9a2dfb
    template-haskell >= 2.7,
Packit 9a2dfb
    text >= 1.1.1.0,
Packit 9a2dfb
    th-abstraction >= 0.2.2 && < 0.3,
Packit 9a2dfb
    time >= 1.1.1.4,
Packit 9a2dfb
    time-locale-compat >= 0.1.1 && < 0.2,
Packit 9a2dfb
    unordered-containers >= 0.2.5.0 && < 0.3,
Packit 9a2dfb
    uuid-types >= 1.0.3 && <1.1,
Packit 9a2dfb
    vector >= 0.8
Packit 9a2dfb
Packit 9a2dfb
  if flag(bytestring-builder)
Packit 9a2dfb
    build-depends: bytestring >= 0.9.2 && < 0.10.4,
Packit 9a2dfb
                   bytestring-builder >= 0.10.4 && < 1
Packit 9a2dfb
  else
Packit 9a2dfb
    build-depends: bytestring >= 0.10.4 && < 0.11
Packit 9a2dfb
Packit 9a2dfb
  if !impl(ghc >= 8.0)
Packit 9a2dfb
    -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
Packit 9a2dfb
    build-depends:
Packit 9a2dfb
      semigroups >= 0.18.2 && < 0.19,
Packit 9a2dfb
      transformers >= 0.2.2.0,
Packit 9a2dfb
      transformers-compat >= 0.3,
Packit 9a2dfb
      fail == 4.9.*
Packit 9a2dfb
Packit 9a2dfb
  if !impl(ghc >= 7.10)
Packit 9a2dfb
    -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
Packit 9a2dfb
    build-depends: nats >= 1 && < 1.2
Packit 9a2dfb
Packit 9a2dfb
  ghc-options: -Wall
Packit 9a2dfb
Packit 9a2dfb
  if flag(developer)
Packit 9a2dfb
    ghc-options: -Werror
Packit 9a2dfb
    ghc-prof-options: -auto-all
Packit 9a2dfb
Packit 9a2dfb
  if flag(fast)
Packit 9a2dfb
    ghc-options: -O0
Packit 9a2dfb
  else
Packit 9a2dfb
    ghc-options: -O2
Packit 9a2dfb
Packit 9a2dfb
  include-dirs: include
Packit 9a2dfb
  if impl(ghcjs) || !flag(cffi)
Packit 9a2dfb
    hs-source-dirs: pure
Packit 9a2dfb
    other-modules: Data.Aeson.Parser.UnescapePure
Packit 9a2dfb
  else
Packit 9a2dfb
    c-sources: cbits/unescape_string.c
Packit 9a2dfb
    cpp-options: -DCFFI
Packit 9a2dfb
    hs-source-dirs: ffi
Packit 9a2dfb
    other-modules: Data.Aeson.Parser.UnescapeFFI
Packit 9a2dfb
Packit 9a2dfb
test-suite tests
Packit 9a2dfb
  default-language: Haskell2010
Packit 9a2dfb
  type: exitcode-stdio-1.0
Packit 9a2dfb
  hs-source-dirs: tests ffi pure
Packit 9a2dfb
  main-is: Tests.hs
Packit 9a2dfb
  c-sources: cbits/unescape_string.c
Packit 9a2dfb
  ghc-options: -Wall -threaded -rtsopts
Packit 9a2dfb
Packit 9a2dfb
  other-modules:
Packit 9a2dfb
    Data.Aeson.Parser.UnescapeFFI
Packit 9a2dfb
    Data.Aeson.Parser.UnescapePure
Packit 9a2dfb
    DataFamilies.Properties
Packit 9a2dfb
    DataFamilies.Instances
Packit 9a2dfb
    DataFamilies.Encoders
Packit 9a2dfb
    DataFamilies.Types
Packit 9a2dfb
    Encoders
Packit 9a2dfb
    ErrorMessages
Packit 9a2dfb
    Functions
Packit 9a2dfb
    Instances
Packit 9a2dfb
    Options
Packit 9a2dfb
    Properties
Packit 9a2dfb
    SerializationFormatSpec
Packit 9a2dfb
    Types
Packit 9a2dfb
    UnitTests
Packit 9a2dfb
    UnitTests.NullaryConstructors
Packit 9a2dfb
Packit 9a2dfb
  build-depends:
Packit 9a2dfb
    HUnit,
Packit 9a2dfb
    QuickCheck >= 2.10.0.1 && < 2.11,
Packit 9a2dfb
    aeson,
Packit 9a2dfb
    integer-logarithms >= 1 && <1.1,
Packit 9a2dfb
    attoparsec,
Packit 9a2dfb
    base,
Packit 9a2dfb
    base-compat,
Packit 9a2dfb
    base-orphans >= 0.5.3 && <0.7,
Packit 9a2dfb
    base16-bytestring,
Packit 9a2dfb
    containers,
Packit 9a2dfb
    directory,
Packit 9a2dfb
    dlist,
Packit 9a2dfb
    filepath,
Packit 9a2dfb
    generic-deriving >= 1.10 && < 1.12,
Packit 9a2dfb
    ghc-prim >= 0.2,
Packit 9a2dfb
    hashable >= 1.2.4.0,
Packit 9a2dfb
    scientific,
Packit 9a2dfb
    tagged,
Packit 9a2dfb
    template-haskell,
Packit 9a2dfb
    test-framework,
Packit 9a2dfb
    test-framework-hunit,
Packit 9a2dfb
    test-framework-quickcheck2,
Packit 9a2dfb
    text,
Packit 9a2dfb
    time,
Packit 9a2dfb
    time-locale-compat,
Packit 9a2dfb
    unordered-containers,
Packit 9a2dfb
    uuid-types,
Packit 9a2dfb
    vector,
Packit 9a2dfb
    quickcheck-instances >= 0.3.16
Packit 9a2dfb
Packit 9a2dfb
  if flag(bytestring-builder)
Packit 9a2dfb
    build-depends: bytestring >= 0.9 && < 0.10.4,
Packit 9a2dfb
                   bytestring-builder >= 0.10.4 && < 1
Packit 9a2dfb
  else
Packit 9a2dfb
    build-depends: bytestring >= 0.10.4
Packit 9a2dfb
Packit 9a2dfb
  if !impl(ghc >= 8.0)
Packit 9a2dfb
    build-depends:
Packit 9a2dfb
      semigroups >= 0.18.2 && < 0.19,
Packit 9a2dfb
      transformers >= 0.2.2.0,
Packit 9a2dfb
      transformers-compat >= 0.3
Packit 9a2dfb
Packit 9a2dfb
  if !impl(ghc >= 7.10)
Packit 9a2dfb
    build-depends: nats >=1 && <1.2
Packit 9a2dfb
Packit 9a2dfb
  if impl(ghc >= 7.8)
Packit 9a2dfb
    build-depends: hashable-time >= 0.2 && <0.3
Packit 9a2dfb
Packit 9a2dfb
  if flag(fast)
Packit 9a2dfb
    ghc-options: -fno-enable-rewrite-rules
Packit 9a2dfb
Packit 9a2dfb
source-repository head
Packit 9a2dfb
  type:     git
Packit 9a2dfb
  location: git://github.com/bos/aeson.git