ppad-poly1305-0.4.5: ppad-poly1305.cabal
cabal-version: 3.0
name: ppad-poly1305
version: 0.4.5
synopsis: A fast Poly1305 MAC
license: MIT
license-file: LICENSE
author: Jared Tobin
maintainer: jared@ppad.tech
category: Cryptography
build-type: Simple
tested-with: GHC == 9.10.3
extra-doc-files: CHANGELOG
description:
A fast Poly1305 message authentication code, per
[RFC8439](https://datatracker.ietf.org/doc/html/rfc8439).
flag llvm
description: Use GHC's LLVM backend.
default: False
manual: True
flag sanitize
description: Build with AddressSanitizer and UndefinedBehaviorSanitizer.
default: False
manual: True
source-repository head
type: git
location: git.ppad.tech/poly1305.git
library
default-language: Haskell2010
hs-source-dirs: lib
ghc-options:
-Wall
if flag(llvm)
ghc-options: -fllvm -O2
exposed-modules:
Crypto.MAC.Poly1305
Crypto.MAC.Poly1305.Arm
other-modules:
Data.Barrier
build-depends:
base >= 4.9 && < 5
, bytestring >= 0.9 && < 0.13
, ppad-fixed >= 0.1.3 && < 0.2
c-sources:
cbits/poly1305_arm.c
if arch(aarch64)
cc-options: -march=armv8-a
if flag(sanitize)
cc-options: -fsanitize=address,undefined -fno-omit-frame-pointer
ghc-options: -optl=-fsanitize=address,undefined
test-suite poly1305-tests
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: test
main-is: Main.hs
ghc-options:
-rtsopts -Wall -O2
if flag(sanitize)
ghc-options: -optl=-fsanitize=address,undefined
build-depends:
base
, bytestring
, ppad-base16
, ppad-poly1305
, primitive
, tasty
, tasty-hunit
benchmark poly1305-bench
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: bench
main-is: Main.hs
ghc-options:
-rtsopts -O2 -Wall
build-depends:
base
, bytestring
, criterion
, deepseq
, ppad-base16
, ppad-poly1305
benchmark poly1305-weigh
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: bench
main-is: Weight.hs
ghc-options:
-rtsopts -O2 -Wall
if flag(llvm)
ghc-options: -fllvm
build-depends:
base
, bytestring
, deepseq
, ppad-poly1305
, weigh