packages feed

botan-low-0.2.0.1: botan-low.cabal

cabal-version: 3.0
name: botan-low
version: 0.2.0.1
synopsis: Low-level Botan bindings
description:
  Welcome to botan-low

  Low-level bindings to the [Botan](https://botan.randombit.net/) cryptography library.

  > Botan's goal is to be the best option for cryptography in C++ by offering the
  > tools necessary to implement a range of practical systems, such as TLS protocol,
  > X.509 certificates, modern AEAD ciphers, PKCS#11 and TPM hardware support,
  > password hashing, and post quantum crypto schemes.

  For more information, see the [README on Github](https://github.com/haskell-cryptography/botan)

author: Leo D.
maintainer: joris@well-typed.com, leo@apotheca.io
license: BSD-3-Clause
license-file: LICENSE
copyright:
  Copyright (c) 2023-2024, Apotheca Labs
  Copyright (c) 2024-2025, Haskell Foundation

build-type: Simple
category: Cryptography
-- NOTE: Use data-files instead, if this is inappropriate
-- NOTE: This causes a soft error:
--      Ignoring trailing fields after sections: "extra-source-files"
-- unless placed here above source-repository and flag.
-- We can still use `extra-source-files` under `if flag(XFFI)` later without
-- causing problems
extra-source-files:
  test-data/*.der
  test-data/*.pem

extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:
  ghc ==9.2 || ==9.4 || ==9.6 || ==9.8 || ==9.10 || ==9.12

source-repository head
  type: git
  location: https://github.com/haskell-cryptography/botan
  subdir: botan-low

source-repository this
  type: git
  location: https://github.com/haskell-cryptography/botan
  subdir: botan-low
  tag: botan-low-0.2.0.1

common warnings
  ghc-options:
    -Wall
    -Wcompat
    -Wincomplete-uni-patterns
    -Wincomplete-record-updates
    -Wpartial-fields
    -Widentities
    -Wredundant-constraints
    -Wmissing-export-lists
    -Wno-unticked-promoted-constructors
    -Wunused-packages
    -Wmissing-deriving-strategies

common language
  default-language: GHC2021
  default-extensions:
    DerivingStrategies
    DuplicateRecordFields
    LambdaCase
    NoFieldSelectors
    OverloadedRecordDot
    PatternSynonyms
    RoleAnnotations
    ViewPatterns

library
  import: warnings, language
  hs-source-dirs: src
  exposed-modules:
    Botan.Low.Bcrypt
    Botan.Low.BlockCipher
    Botan.Low.Cipher
    Botan.Low.Error
    Botan.Low.FPE
    Botan.Low.HOTP
    Botan.Low.Hash
    Botan.Low.KDF
    Botan.Low.KeyWrap
    Botan.Low.MAC
    Botan.Low.MPI
    Botan.Low.PubKey
    Botan.Low.PubKey.DH
    Botan.Low.PubKey.DSA
    Botan.Low.PubKey.Decrypt
    Botan.Low.PubKey.ECDH
    Botan.Low.PubKey.ECDSA
    Botan.Low.PubKey.Ed25519
    Botan.Low.PubKey.ElGamal
    Botan.Low.PubKey.Encrypt
    Botan.Low.PubKey.KeyAgreement
    Botan.Low.PubKey.KeyEncapsulation
    Botan.Low.PubKey.RSA
    Botan.Low.PubKey.SM2
    Botan.Low.PubKey.Sign
    Botan.Low.PubKey.Verify
    Botan.Low.PubKey.X25519
    Botan.Low.PwdHash
    Botan.Low.RNG
    Botan.Low.SRP6
    Botan.Low.TOTP
    Botan.Low.Utility
    Botan.Low.Version
    Botan.Low.View
    Botan.Low.X509
    Botan.Low.ZFEC

  other-modules:
    Botan.Low.Error.Internal
    Botan.Low.Internal.ByteString
    Botan.Low.Internal.String
    Botan.Low.Make
    Botan.Low.Remake

  build-depends:
    base >=4.16 && <4.22,
    botan-bindings ^>=0.3,
    bytestring >=0.11 && <0.13,
    deepseq >=1.1 && <2,
    text >=1.2 && <1.3 || >=2.0 && <2.2,

test-suite test
  import: warnings, language
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: test/
  build-depends:
    QuickCheck,
    async,
    base,
    botan-bindings,
    botan-low,
    bytestring,
    containers,
    hspec,
    tasty,
    tasty-hspec,
    tasty-hunit,
    tasty-quickcheck,
    text,

  other-modules:
    Test.Botan.Low.Bcrypt
    Test.Botan.Low.BlockCipher
    Test.Botan.Low.Cipher
    Test.Botan.Low.FPE
    Test.Botan.Low.HOTP
    Test.Botan.Low.Hash
    Test.Botan.Low.KDF
    Test.Botan.Low.KeyWrap
    Test.Botan.Low.MAC
    Test.Botan.Low.MPI
    Test.Botan.Low.PubKey
    Test.Botan.Low.PubKey.DH
    Test.Botan.Low.PubKey.DSA
    Test.Botan.Low.PubKey.Decrypt
    Test.Botan.Low.PubKey.ECDH
    Test.Botan.Low.PubKey.ECDSA
    Test.Botan.Low.PubKey.Ed25519
    Test.Botan.Low.PubKey.ElGamal
    Test.Botan.Low.PubKey.Encrypt
    Test.Botan.Low.PubKey.KeyAgreement
    Test.Botan.Low.PubKey.KeyEncapsulation
    Test.Botan.Low.PubKey.RSA
    Test.Botan.Low.PubKey.SM2
    Test.Botan.Low.PubKey.Sign
    Test.Botan.Low.PubKey.Verify
    Test.Botan.Low.PubKey.X25519
    Test.Botan.Low.PwdHash
    Test.Botan.Low.RNG
    Test.Botan.Low.SRP6
    Test.Botan.Low.SRP6.Example
    Test.Botan.Low.TOTP
    Test.Botan.Low.Utility
    Test.Botan.Low.Version
    Test.Botan.Low.X509
    Test.Botan.Low.ZFEC
    Test.Util.ByteString
    Test.Util.Hspec

  other-modules: Paths_botan_low
  autogen-modules: Paths_botan_low