packages feed

cacophony-0.10.0: cacophony.cabal

-- This file has been generated from package.yaml by hpack version 0.17.0.
--
-- see: https://github.com/sol/hpack

name:           cacophony
version:        0.10.0
synopsis:       A library implementing the Noise protocol.
description:    This library implements the <https://noiseprotocol.org Noise> protocol.
category:       Cryptography
homepage:       https://github.com/centromere/cacophony#readme
bug-reports:    https://github.com/centromere/cacophony/issues
maintainer:     John Galt <jgalt@centromere.net>
license:        PublicDomain
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10

extra-source-files:
    .travis.yml
    changelog.md
    LICENSE
    package.yaml
    README.md
    stack.yaml
    tests/.hlint
    tools/pretty-print/format-vectors.py
    tools/pretty-print/vector-template.jinja
    vectors/cacophony.txt

source-repository head
  type: git
  location: https://github.com/centromere/cacophony

flag build-tools
  description: Build tools
  manual: True
  default: False

library
  hs-source-dirs:
      src
  default-extensions: OverloadedStrings
  ghc-options: -Wall
  build-depends:
      base >= 4.9 && < 4.10
    , bytestring
    , cryptonite
    , exceptions
    , free
    , lens
    , memory
    , monad-coroutine
    , mtl
    , safe-exceptions
    , transformers
  exposed-modules:
      Crypto.Noise
      Crypto.Noise.Cipher
      Crypto.Noise.Cipher.AESGCM
      Crypto.Noise.Cipher.ChaChaPoly1305
      Crypto.Noise.DH
      Crypto.Noise.DH.Curve25519
      Crypto.Noise.DH.Curve448
      Crypto.Noise.Exception
      Crypto.Noise.HandshakePatterns
      Crypto.Noise.Hash
      Crypto.Noise.Hash.BLAKE2b
      Crypto.Noise.Hash.BLAKE2s
      Crypto.Noise.Hash.SHA256
      Crypto.Noise.Hash.SHA512
      Crypto.Noise.Internal.CipherState
      Crypto.Noise.Internal.Handshake.Interpreter
      Crypto.Noise.Internal.Handshake.Pattern
      Crypto.Noise.Internal.Handshake.State
      Crypto.Noise.Internal.Handshake.Validation
      Crypto.Noise.Internal.NoiseState
      Crypto.Noise.Internal.SymmetricState
      Crypto.Noise.Validation
  other-modules:
      Paths_cacophony
  default-language: Haskell2010

executable noise-repl
  main-is: Main.hs
  hs-source-dirs:
      tools/noise-repl
  default-extensions: OverloadedStrings
  ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
  if flag(build-tools)
    build-depends:
        attoparsec
      , base
      , base16-bytestring
      , base64-bytestring
      , bytestring
      , cacophony
      , haskeline
      , network
      , process
  else
    buildable: False
  other-modules:
      Client
      Options
      Pipe
      Socket
      Types
  default-language: Haskell2010

test-suite hlint
  type: exitcode-stdio-1.0
  main-is: hlint.hs
  hs-source-dirs:
      tests/hlint
  ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
  build-depends:
      base >= 4.9 && < 4.10
    , hlint
  default-language: Haskell2010

test-suite vectors
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs:
      tests/vectors
  default-extensions: OverloadedStrings
  ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
  build-depends:
      aeson
    , attoparsec
    , base >= 4.9 && < 4.10
    , base16-bytestring
    , bytestring
    , cacophony
    , directory
    , text
  other-modules:
      Generate
      Keys
      Types
      VectorFile
      Verify
  default-language: Haskell2010

benchmark bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs:
      benchmarks
  default-extensions: OverloadedStrings
  ghc-options: -Wall -O2 -rtsopts -threaded -with-rtsopts=-N
  build-depends:
      async
    , base >= 4.9 && < 4.10
    , base16-bytestring
    , bytestring
    , cacophony
    , criterion
    , deepseq
  other-modules:
      Keys
      Types
  default-language: Haskell2010