packages feed

jose-jwt-botan-0.13.0: jose-jwt-botan.cabal

Name:               jose-jwt-botan
Version:            0.13.0
Synopsis:           JSON Object Signing and Encryption Library using Botan
Homepage:           https://github.com/PostgREST/jose-jwt-botan
Bug-Reports:        https://github.com/PostgREST/jose-jwt-botan/issues
Description:
    .
    An implementation of the JOSE suite of IETF standards
    and the closely related JWT (JSON web token) spec
    (<https://tools.ietf.org/html/rfc7519/>).
    .
    Both signed and encrypted JWTs are supported, as well as simple
    JWK keys.
    .
    It requires the botan C++ library, see more details on https://github.com/haskell-cryptography/botan#installation

Author:             Luke Taylor <tekul.hs@gmail.com>
Maintainer:         Steve Chavez <stevechavezast@gmail.com>
License:            BSD3
License-File:       LICENSE
Build-Type:         Simple
Cabal-Version:      1.16
Category:           JSON, Cryptography

Extra-Source-Files:
    README.md
    CHANGELOG.md
    tests/*.json

-- disable doctests with -f-doctest
Flag doctest
  default: False
  manual: True

Source-Repository head
  Type:             git
  Location:         https://github.com/PostgREST/jose-jwt-botan.git

Library
  Default-Language:   Haskell2010
  Exposed-modules:    Jose.Jwt
                    , Jose.Jws
                    , Jose.Jwe
                    , Jose.Jwa
                    , Jose.Jwk
                    , Jose.Internal.Base64
                    , Jose.Internal.Crypto
                    , Jose.Internal.Parser
  Other-Modules:      Jose.Types

  if impl(ghc < 8.0)
    Buildable: False
  else
    Build-depends:    base >= 4.9 && < 5
                    , aeson >= 2 && < 2.4
                    , attoparsec >= 0.12.0.0 && < 0.15
                    , botan-low >= 0.2 && < 0.3
                    , bytestring        >= 0.10.8 && < 0.13
                    , cereal >= 0.4 && < 0.6
                    , containers >= 0.4 && < 0.9
                    , crypton >= 1.0 && < 1.1
                    , memory >= 0.10 && < 0.19
                    , mtl                       >= 2.2 && < 3
                    , text                      >= 2 && < 3
                    , time                      >= 1.9 && < 2
                    , transformers              >= 0.6 && < 0.7
                    , transformers-compat >= 0.4 && < 0.8
                    , unordered-containers >= 0.2 && < 0.3
                    , vector                    >= 0.11 && < 0.14
  Ghc-Options:        -Wall

Test-suite tests
  Default-Language:   Haskell2010
  Type:               exitcode-stdio-1.0
  Other-Modules:      Tests.JwsSpec
                    , Tests.JweSpec
                    , Tests.JwkSpec
  Build-depends:      jose-jwt-botan
                    , base >= 4.9 && < 5
                    , aeson
                    , bytestring
                    , crypton >= 1.0 && < 1.1
                    , memory
                    , mtl
                    , text
                    , unordered-containers
                    , vector
                    , hspec >= 1.6
                    , HUnit >= 1.2
                    , QuickCheck >= 2.4
  Ghc-options:        -Wall -rtsopts -fno-warn-missing-signatures
  Hs-source-dirs:     tests
  Main-is:            tests.hs

Test-suite doctests
  Default-Language:   Haskell2010
  Type:               exitcode-stdio-1.0
  Main-is:            doctests.hs
  Default-Extensions: OverloadedStrings

  if !flag(doctest)
    Buildable: False
  else
    Build-depends:    base  >= 4.9 && < 5
                    , doctest >= 0.9.11
                    , crypton >= 1.0 && < 1.1

Benchmark bench-jwt
  Default-Language:   Haskell2010
  Hs-source-dirs:     benchmarks
  Main-is:            bench.hs
  Other-Modules:      Keys
  Type:               exitcode-stdio-1.0
  Build-depends:      jose-jwt-botan
                    , base >= 4.9 && < 5
                    , bytestring
                    , criterion
                    , crypton >= 1.0 && < 1.1

  Ghc-Options:        -Wall -fno-warn-missing-signatures

Benchmark loadtest-jwt
  Default-Language:   Haskell2010
  Hs-source-dirs:     benchmarks/loadtest-jwt
  Main-is:            Main.hs
  Type:               exitcode-stdio-1.0
  Build-depends:      jose-jwt-botan
                    , base >= 4.9 && < 5
                    , aeson
                    , bytestring
                    , deepseq
                    , jose >= 0.12 && < 0.13
                    , lens
                    , optparse-applicative
  Ghc-Options:        -Wall -threaded -rtsopts