packages feed

nettle-0.4: nettle.cabal

Cabal-Version:       2.0
Name:                nettle
Version:             0.4
Synopsis:            safe nettle binding
Description:
  safe binding for the nettle (<http://www.lysator.liu.se/~nisse/nettle/nettle.html>) library.
  Tested with 3.10.2, might work with 4.x.
License:             MIT
License-file:        COPYING
Copyright:           Stefan Bühler <stbuehler@web.de>
Author:              Stefan Bühler <stbuehler@web.de>
Maintainer:          Clint Adams <clint@debian.org>
Category:            Cryptography
Build-Type:          Simple
Homepage:            https://github.com/stbuehler/haskell-nettle
Bug-reports:         https://github.com/stbuehler/haskell-nettle/issues
Extra-source-files:  README.md
                   , src/nettle-ciphers.h
                   , src/nettle-hash.h
                   , src/Tests/*.hs
                   , src/Tests/KAT/*.hs
Tested-With:    GHC ==9.14.1 || ==9.12.4 || ==9.10.3 || ==9.8.1 || ==9.6.4 || ==9.4.8

Flag UsePkgConfig
  Description: Use pkg-config to check for library dependences
  Default: True

Library
  Default-Language:  Haskell2010
  hs-source-dirs:    src
  Build-Depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , crypton >= 1.1.0 && < 1.2
                   , ram >= 0.20.1 && < 0.23
                   , tagged >= 0.8.5 && < 0.9
  Exposed-modules:   Crypto.Nettle.ChaChaPoly1305
                     Crypto.Nettle.Ciphers
                     Crypto.Nettle.CCM
                     Crypto.Nettle.CMAC
                     Crypto.Nettle.EAX
                     Crypto.Nettle.Hash
                     Crypto.Nettle.KeyedHash
                     Crypto.Nettle.HMAC
                     Crypto.Nettle.OCB
                     Crypto.Nettle.Poly1305
                     Crypto.Nettle.SIV
                     Crypto.Nettle.UMAC
                     Crypto.Nettle.XOF
  Other-modules:     Crypto.Nettle.Ciphers.Internal
                     Crypto.Nettle.Ciphers.ForeignImports
                     Crypto.Nettle.Hash.ForeignImports
                     Crypto.Nettle.Hash.Types
                     Nettle.Utils
  ghc-options:       -Wall -optc-O3 -fno-cse -fno-warn-tabs
  include-dirs:      src
  C-sources:         src/nettle-ciphers.c
  if flag(UsePkgConfig)
    PkgConfig-Depends: nettle >= 3.9
  else
    Extra-libraries: nettle

Test-Suite test-ciphers
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           Ciphers.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , crypton >= 1.1.0 && < 1.2
                   , ram >= 0.20.1 && < 0.23
                   , HUnit >= 1.6.0 && < 1.7
                   , QuickCheck >= 2 && < 3
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , test-framework-quickcheck2 >= 0.2.9
                   , nettle
  Other-modules:
    Ciphers.KAT
    Ciphers.PropertyTests
    Ciphers.TestModes
    Ciphers.Utils
    HexUtils
    KAT.AES
    KAT.SM4
    KAT.Utils
  ghc-options: -fno-warn-tabs

Test-Suite test-hashes
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           Hash.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , tagged >= 0.8.5 && < 0.9
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , HUnit >= 1.6.0 && < 1.7
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , nettle
  Other-modules:
    HexUtils
    TestUtils
    VectorsHash
  ghc-options: -fno-warn-tabs

Test-Suite test-hmac
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           HMAC.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , tagged >= 0.8.5 && < 0.9
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , HUnit >= 1.6.0 && < 1.7
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , nettle
  Other-modules:
    HexUtils
    TestUtils
    VectorsHMAC
  ghc-options: -fno-warn-tabs

Test-Suite test-umac
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           UMAC.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , tagged >= 0.8.5 && < 0.9
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , HUnit >= 1.6.0 && < 1.7
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , nettle
  Other-modules:
    HexUtils
    TestUtils
    VectorsUMAC
  ghc-options: -fno-warn-tabs

Test-Suite test-shake
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           Shake.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , tagged >= 0.8.5 && < 0.9
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , HUnit >= 1.6.0 && < 1.7
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , nettle
  Other-modules:
    HexUtils
    Shake128
    TestUtils
  ghc-options: -fno-warn-tabs

Test-Suite test-mac
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           MAC.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , tagged >= 0.8.5 && < 0.9
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , HUnit >= 1.6.0 && < 1.7
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , nettle
  Other-modules:
    HexUtils
    TestUtils
  ghc-options: -fno-warn-tabs

Test-Suite test-aead
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           AEAD.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , tagged >= 0.8.5 && < 0.9
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , HUnit >= 1.6.0 && < 1.7
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , nettle
  Other-modules:
    HexUtils
    TestUtils
  ghc-options: -fno-warn-tabs

Test-Suite test-chacha-poly1305
  Default-Language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    src/Tests
  Main-Is:           ChaChaPoly1305.hs
  Build-depends:     base >= 4.9 && < 5
                   , bytestring >= 0.10.8 && < 0.13
                   , tagged >= 0.8.5 && < 0.9
                   , array >= 0.5.1 && < 0.6
                   , test-framework >= 0.3.3 && > 0.4
                   , HUnit >= 1.6.0 && < 1.7
                   , test-framework-hunit >= 0.3.0 && < 0.4
                   , nettle
  Other-modules:
    HexUtils
    TestUtils
  ghc-options: -fno-warn-tabs

source-repository head
  type:     git
  location: https://github.com/stbuehler/haskell-nettle