ppad-bolt8.cabal (2576B)
1 cabal-version: 3.0 2 name: ppad-bolt8 3 version: 0.1.1 4 synopsis: Encrypted and authenticated transport per BOLT #8 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 Encrypted and authenticated transport for the Lightning Network, per 15 [BOLT #8](https://github.com/lightning/bolts/blob/master/08-transport.md): 16 the Noise_XK_secp256k1_ChaChaPoly_SHA256 handshake and message 17 transport with key rotation. 18 19 source-repository head 20 type: git 21 location: git.ppad.tech/bolt8.git 22 23 flag llvm 24 description: Use GHC's LLVM backend. 25 default: False 26 manual: True 27 28 library 29 default-language: Haskell2010 30 hs-source-dirs: lib 31 ghc-options: 32 -Wall 33 if flag(llvm) 34 ghc-options: -fllvm -O2 35 -- LLVM's x86 backend rewrites a cmov whose operand is a load as a 36 -- branch (its cmov converter), which would make the borrow-masked 37 -- correction of ppad-fixed's sub_mod# (inlinable here) a branch on 38 -- the borrow; keep the cmov. 39 if flag(llvm) && arch(x86_64) 40 ghc-options: -optlc=-x86-cmov-converter=false 41 exposed-modules: 42 Lightning.Protocol.BOLT8 43 build-depends: 44 base >= 4.9 && < 5 45 , bytestring >= 0.9 && < 0.13 46 , deepseq >= 1.4 && < 1.6 47 , ppad-aead >= 0.3.7 && < 0.4 48 , ppad-hkdf >= 0.3.2 && < 0.4 49 , ppad-secp256k1 >= 0.5.9 && < 0.6 50 , ppad-sha256 >= 0.3.2 && < 0.4 51 52 test-suite bolt8-tests 53 type: exitcode-stdio-1.0 54 default-language: Haskell2010 55 hs-source-dirs: test 56 main-is: Main.hs 57 58 ghc-options: 59 -rtsopts -Wall 60 61 build-depends: 62 base 63 , bytestring 64 , ppad-aead 65 , ppad-base16 66 , ppad-bolt8 67 , ppad-hkdf 68 , ppad-sha256 69 , tasty 70 , tasty-hunit 71 , tasty-quickcheck 72 73 benchmark bolt8-bench 74 type: exitcode-stdio-1.0 75 default-language: Haskell2010 76 hs-source-dirs: bench 77 main-is: Main.hs 78 other-modules: Fixture 79 80 ghc-options: 81 -rtsopts -O2 -Wall 82 83 build-depends: 84 base 85 , bytestring 86 , criterion 87 , ppad-bolt8 88 89 benchmark bolt8-weigh 90 type: exitcode-stdio-1.0 91 default-language: Haskell2010 92 hs-source-dirs: bench 93 main-is: Weight.hs 94 other-modules: Fixture 95 96 ghc-options: 97 -rtsopts -O2 -Wall 98 99 build-depends: 100 base 101 , bytestring 102 , ppad-bolt8 103 , weigh 104