ppad-chacha-0.2.2: ppad-chacha.cabal
cabal-version: 3.0
name: ppad-chacha
version: 0.2.2
synopsis: A fast ChaCha20 stream cipher
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 ChaCha20 stream cipher and block function.
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/chacha.git
library
default-language: Haskell2010
hs-source-dirs: lib
ghc-options:
-Wall
if flag(llvm)
ghc-options: -fllvm -O2
exposed-modules:
Crypto.Cipher.ChaCha20
Crypto.Cipher.ChaCha20.Arm
build-depends:
base >= 4.9 && < 5
, bytestring >= 0.9 && < 0.13
, primitive >= 0.8 && < 0.10
c-sources:
cbits/chacha20_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 chacha-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-chacha
, primitive
, tasty
, tasty-hunit
benchmark chacha-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-chacha
benchmark chacha-weigh
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: bench
main-is: Weight.hs
ghc-options:
-rtsopts -O2 -Wall -fno-warn-orphans
if flag(llvm)
ghc-options: -fllvm
build-depends:
base
, bytestring
, deepseq
, ppad-chacha
, weigh