cabal-version: 1.18

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

name:           NaCl
version:        0.0.4.0
synopsis:       Easy-and-safe-to-use high-level Haskell bindings to NaCl
description:    This library uses <https://libsodium.org Sodium> under the hood,
                but only exposes the primitives that are part of the “classic” NaCl
                interface. We believe, it is better to be paranoid than sorry.
                .
                __Note: this package is experimental and WIP.__
                .
                Sodium is more portable, but some people prefer to stick to NaCl.
                We agree that it is better to be paranoid than sorry.
                That is why, even though this library uses
                Sodium under the hood, it only exposes the primitives that
                are part of the “classic” NaCl interface.
                .
                Sodium provides useful algorithms, that are not part of NaCl,
                for example key derivation or random number generation.
                If you need them too (you probably do), you should use
                </package/crypto-sodium crypto-sodium> instead.
                .
                = Public-key cryptography
                .
                  * Authenticated encryption: "NaCl.Box"
                  * Scalar multiplication: "NaCl.Scalarmult"
                  * Public-key signatures: "NaCl.Sign"
                .
                = Secret-key cryptography
                .
                  * Authenticated encryption: "NaCl.Secretbox"
                  * Unauthenticated streaming encryption: "NaCl.Stream"
                  * Authentication: "NaCl.Auth"
                .
                = Low-level functions
                .
                  * Hashing: "NaCl.Hash"
                  * String comparison: "NaCl.Verify"
category:       Cryptography
homepage:       https://github.com/serokell/haskell-crypto#readme
bug-reports:    https://github.com/serokell/haskell-crypto/issues
author:         Kirill Elagin <kirelagin@serokell.io>
maintainer:     Serokell <libraries@serokell.io>
copyright:      2021 Serokell
license:        MPL-2.0
license-file:   LICENSES/MPL-2.0.txt
build-type:     Simple
extra-doc-files:
    CHANGELOG.md
    README.md

source-repository head
  type: git
  location: https://github.com/serokell/haskell-crypto

library
  exposed-modules:
      NaCl.Auth
      NaCl.Auth.Internal
      NaCl.Box
      NaCl.Box.Internal
      NaCl.Hash
      NaCl.Hash.Internal
      NaCl.Scalarmult
      NaCl.Secretbox
      NaCl.Secretbox.Internal
      NaCl.Sign
      NaCl.Sign.Internal
      NaCl.Stream
      NaCl.Stream.Internal
      NaCl.Verify
  other-modules:
      Paths_NaCl
  hs-source-dirs:
      lib
  default-extensions:
      DataKinds
      FlexibleContexts
      FlexibleInstances
      GeneralizedNewtypeDeriving
      KindSignatures
      LambdaCase
      MultiParamTypeClasses
      NamedFieldPuns
      NumericUnderscores
      OverloadedStrings
      PolyKinds
      ScopedTypeVariables
      TypeApplications
  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
  build-depends:
      base >=4.10 && <4.15
    , bytestring >=0.9 && <0.11
    , libsodium >=1.0.11 && <2
    , memory >=0.14.15 && <0.16
    , safe-exceptions ==0.1.*
  default-language: Haskell2010

test-suite test
  type: exitcode-stdio-1.0
  main-is: Test.hs
  other-modules:
      Test.NaCl.Auth
      Test.NaCl.Box
      Test.NaCl.Hash
      Test.NaCl.Scalarmult
      Test.NaCl.Secretbox
      Test.NaCl.Sign
      Test.NaCl.Stream
      Test.NaCl.Verify
      Paths_NaCl
  hs-source-dirs:
      test
  default-extensions:
      DataKinds
      FlexibleContexts
      FlexibleInstances
      GeneralizedNewtypeDeriving
      KindSignatures
      LambdaCase
      MultiParamTypeClasses
      NamedFieldPuns
      NumericUnderscores
      OverloadedStrings
      PolyKinds
      ScopedTypeVariables
      TypeApplications
  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
  build-tool-depends:
      tasty-discover:tasty-discover
  build-depends:
      HUnit
    , NaCl
    , base >=4.10 && <4.15
    , base16 >=0.1.1 && <0.4
    , bytestring >=0.9 && <0.11
    , hedgehog
    , libsodium >=1.0.11 && <2
    , memory >=0.14.15 && <0.16
    , safe-exceptions ==0.1.*
    , tasty
    , tasty-hedgehog
    , tasty-hunit
  default-language: Haskell2010