File canonical-json.cabal of Package ghc-canonical-json

name:                canonical-json
version:             0.6.0.0
x-revision: 1
synopsis:            Canonical JSON for signing and hashing JSON values
description:         An implementation of Canonical JSON.
                     .
                     <http://wiki.laptop.org/go/Canonical_JSON>
                     .
                     The \"canonical JSON\" format is designed to provide
                     repeatable hashes of JSON-encoded data. It is designed
                     for applications that need to hash, sign or authenitcate
                     JSON data structures, including embedded signatures.
                     .
                     Canonical JSON is parsable with any full JSON parser, and
                     it allows whitespace for pretty-printed human readable
                     presentation, but it can be put into a canonical form
                     which then has a stable serialised representation and
                     thus a stable hash.
license:             BSD3
license-file:        LICENSE
author:              Duncan Coutts, Edsko de Vries
maintainer:          duncan@well-typed.com, edsko@well-typed.com
copyright:           Copyright 2015-2018 Well-Typed LLP
homepage:            https://github.com/well-typed/canonical-json
category:            Text, JSON
build-type:          Simple
extra-source-files:  ChangeLog.md
cabal-version:       >=1.10

extra-source-files:  README.md

source-repository head
  type:     git
  location: https://github.com/well-typed/canonical-json.git

library
  exposed-modules:     Text.JSON.Canonical
                       Text.JSON.Canonical.Class
                       Text.JSON.Canonical.Parse
                       Text.JSON.Canonical.Types
  other-extensions:    CPP, GeneralizedNewtypeDeriving, DeriveDataTypeable,
                       MultiParamTypeClasses, FlexibleInstances,
                       ScopedTypeVariables, OverlappingInstances
  build-depends:       base              >= 4.8     && < 5,
                       bytestring        >= 0.10.4  && < 0.11,
                       containers        >= 0.4     && < 0.7,
                       deepseq           >= 1.2     && < 1.5,
                       parsec            >= 3.1     && < 3.2,
                       pretty            >= 1.0     && < 1.2
  default-language:    Haskell2010
  ghc-options:         -Wall

test-suite tests
  type:                exitcode-stdio-1.0
  main-is:             TestSuite.hs
  hs-source-dirs:      tests
  build-depends:       base,
                       bytestring,
                       canonical-json,
                       containers,
                       aeson             == 1.4.*,
                       vector,
                       unordered-containers,
                       QuickCheck        >= 2.11    && < 2.13,
                       tasty,
                       tasty-quickcheck
  default-language:    Haskell2010
  -- -K100k to check for stack overflow:
  ghc-options:         -Wall -with-rtsopts=-K100k

benchmark parse-bench
  type:                exitcode-stdio-1.0
  main-is:             Parse.hs
  hs-source-dirs:      benchmark
  build-depends:       base,
                       bytestring,
                       canonical-json,
                       containers,
                       criterion >= 1.1
  default-language:    Haskell2010
  ghc-options:         -Wall -rtsopts
openSUSE Build Service is sponsored by