File cardano-crypto-praos.cabal of Package ghc-cardano-crypto-praos

name:                cardano-crypto-praos
version:             2.0.0
synopsis:            Crypto primitives from libsodium
description:         VRF (and KES, tba) primitives from libsodium.
license:             Apache-2.0
license-files:
  LICENSE
  NOTICE
author:              IOHK
maintainer:          operations@iohk.io
copyright:           2019 IOHK
category:            Currency
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

extra-source-files:    cbits/crypto_vrf.h
                       cbits/crypto_vrf_ietfdraft03.h
                       cbits/vrf_ietfdraft03.h

                       cbits/private/common.h
                       cbits/private/quirks.h
                       cbits/private/ed25519_ref10.h
                       cbits/private/ed25519_ref10_fe_25_5.h
                       cbits/private/ed25519_ref10_fe_51.h

                       cbits/private/fe_25_5/constants.h
                       cbits/private/fe_25_5/base.h
                       cbits/private/fe_25_5/base2.h
                       cbits/private/fe_25_5/fe.h
                       cbits/private/fe_51/constants.h
                       cbits/private/fe_51/base.h
                       cbits/private/fe_51/base2.h
                       cbits/private/fe_51/fe.h

flag development
    description: Disable `-Werror`
    default: False
    manual: True

flag external-libsodium-vrf
    description: Rely on a special libsodium fork containing the VRF code.
                 Otherwise expect a normal unaltered system libsodium, and
                 bundle the VRF code.
    default: True
    manual: True

library
  hs-source-dirs:      src
  exposed-modules:     Cardano.Crypto.VRF.Praos

  build-depends:       base
                     , bytestring
                     , cardano-binary
                     , cardano-crypto-class
                     , nothunks

  default-language:    Haskell2010

  ghc-options:         -Wall
                       -Wincomplete-record-updates
                       -Wincomplete-uni-patterns
                       -Wredundant-constraints
                       -Wpartial-fields
                       -Wcompat

  pkgconfig-depends: libsodium

  if (!flag(development))
    ghc-options:         -Werror

  if !flag(external-libsodium-vrf)
    c-sources:         cbits/crypto_vrf.c
                       cbits/convert.c
                       cbits/keypair.c
                       cbits/prove.c
                       cbits/verify.c
                       cbits/vrf.c
                       cbits/private/ed25519_ref10.c
openSUSE Build Service is sponsored by