ppad-sha256.cabal (2545B)
1 cabal-version: 3.0 2 name: ppad-sha256 3 version: 0.3.2 4 synopsis: The SHA-256 and HMAC-SHA256 algorithms 5 license: MIT 6 license-file: LICENSE 7 author: Jared Tobin 8 maintainer: jared@ppad.tech 9 category: Cryptography 10 build-type: Simple 11 tested-with: GHC == 9.10.3 12 extra-doc-files: CHANGELOG 13 description: 14 A pure implementation of SHA-256 and HMAC-SHA256 on strict and lazy 15 ByteStrings, as specified by RFC's 6234 and 2104. 16 17 flag llvm 18 description: Use GHC's LLVM backend. 19 default: False 20 manual: True 21 22 flag sanitize 23 description: Build with AddressSanitizer and UndefinedBehaviorSanitizer. 24 default: False 25 manual: True 26 27 source-repository head 28 type: git 29 location: git.ppad.tech/sha256.git 30 31 library 32 default-language: Haskell2010 33 hs-source-dirs: lib 34 ghc-options: 35 -Wall 36 if flag(llvm) 37 ghc-options: -fllvm -O2 38 exposed-modules: 39 Crypto.Hash.SHA256 40 Crypto.Hash.SHA256.Arm 41 Crypto.Hash.SHA256.Internal 42 Crypto.Hash.SHA256.Lazy 43 build-depends: 44 base >= 4.9 && < 5 45 , bytestring >= 0.9 && < 0.13 46 c-sources: 47 cbits/sha256_arm.c 48 if arch(aarch64) 49 cc-options: -march=armv8-a+sha2 50 if flag(sanitize) 51 cc-options: -fsanitize=address,undefined -fno-omit-frame-pointer 52 ghc-options: -optl=-fsanitize=address,undefined 53 54 test-suite sha256-tests 55 type: exitcode-stdio-1.0 56 default-language: Haskell2010 57 hs-source-dirs: test 58 main-is: Main.hs 59 other-modules: 60 Property 61 Wycheproof 62 63 ghc-options: 64 -rtsopts -Wall -O2 65 if flag(sanitize) 66 ghc-options: -optl=-fsanitize=address,undefined 67 68 build-depends: 69 aeson 70 , base 71 , bytestring 72 , ppad-base16 73 , ppad-sha256 74 , quickcheck-instances 75 , tasty 76 , tasty-hunit 77 , tasty-quickcheck 78 , text 79 80 benchmark sha256-bench 81 type: exitcode-stdio-1.0 82 default-language: Haskell2010 83 hs-source-dirs: bench 84 main-is: Main.hs 85 86 ghc-options: 87 -rtsopts -O2 -Wall 88 89 build-depends: 90 base 91 , bytestring 92 , criterion 93 , ppad-sha256 94 , SHA 95 96 benchmark sha256-weigh 97 type: exitcode-stdio-1.0 98 default-language: Haskell2010 99 hs-source-dirs: bench 100 main-is: Weight.hs 101 102 ghc-options: 103 -rtsopts -O2 -Wall -fno-warn-orphans 104 if flag(llvm) 105 ghc-options: -fllvm 106 107 build-depends: 108 base 109 , bytestring 110 , deepseq 111 , ppad-sha256 112 , weigh 113