ppad-sha256-0.3.2: ppad-sha256.cabal
cabal-version: 3.0
name: ppad-sha256
version: 0.3.2
synopsis: The SHA-256 and HMAC-SHA256 algorithms
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 pure implementation of SHA-256 and HMAC-SHA256 on strict and lazy
ByteStrings, as specified by RFC's 6234 and 2104.
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/sha256.git
library
default-language: Haskell2010
hs-source-dirs: lib
ghc-options:
-Wall
if flag(llvm)
ghc-options: -fllvm -O2
exposed-modules:
Crypto.Hash.SHA256
Crypto.Hash.SHA256.Arm
Crypto.Hash.SHA256.Internal
Crypto.Hash.SHA256.Lazy
build-depends:
base >= 4.9 && < 5
, bytestring >= 0.9 && < 0.13
c-sources:
cbits/sha256_arm.c
if arch(aarch64)
cc-options: -march=armv8-a+sha2
if flag(sanitize)
cc-options: -fsanitize=address,undefined -fno-omit-frame-pointer
ghc-options: -optl=-fsanitize=address,undefined
test-suite sha256-tests
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: test
main-is: Main.hs
other-modules:
Property
Wycheproof
ghc-options:
-rtsopts -Wall -O2
if flag(sanitize)
ghc-options: -optl=-fsanitize=address,undefined
build-depends:
aeson
, base
, bytestring
, ppad-base16
, ppad-sha256
, quickcheck-instances
, tasty
, tasty-hunit
, tasty-quickcheck
, text
benchmark sha256-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
, ppad-sha256
, SHA
benchmark sha256-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-sha256
, weigh