File ed25519.cabal of Package ghc-ed25519

cabal-version:       >=1.10
name:                ed25519
version:             0.0.5.0
x-revision:          9
category:            Cryptography
license:             MIT
synopsis:            Ed25519 cryptographic signatures
homepage:            https://github.com/thoughtpolice/hs-ed25519/
bug-reports:         https://github.com/thoughtpolice/hs-ed25519/issues
license-file:        LICENSE.txt
copyright:           Copyright (c) Austin Seipp 2013-2017
author:              Austin Seipp
maintainer:          Austin Seipp <aseipp@pobox.com>
build-type:          Simple

description:
  This package provides a simple, fast, self-contained copy of the
  Ed25519 public-key signature system with a clean interface. It also
  includes support for detached signatures, and thorough documentation
  on the design and implementation, including usage guidelines.

tested-with:
  GHC == 9.12.1
  GHC == 9.10.1
  GHC == 9.8.4
  GHC == 9.6.6
  GHC == 9.4.8
  GHC == 9.2.8
  GHC == 9.0.2
  GHC == 8.10.7
  GHC == 8.8.4
  GHC == 8.6.5
  GHC == 8.4.4
  GHC == 8.2.2
  GHC == 8.0.2

extra-source-files:
  .travis.yml
  AUTHORS.txt
  README.md
  CONTRIBUTING.md
  CHANGELOG.md
  src/cbits/ref10/*.c
  src/cbits/ref10/include/*.h

source-repository head
  type: git
  location: https://github.com/thoughtpolice/hs-ed25519.git

-------------------------------------------------------------------------------
-- Flags

flag test-properties
  default: True
  manual: True

flag test-hlint
  default: True
  manual: True

flag test-doctests
  default: True
  manual: True

flag no-donna
  default: True
  manual: True

-------------------------------------------------------------------------------
-- Build pt 1: main project

library
  build-depends:
    ghc-prim    >= 0.1 && < 1,
    base        >= 4   && < 5,
    bytestring  >= 0.9 && < 0.13

  exposed-modules:
    Crypto.Sign.Ed25519

  ghc-options:        -Wall -fwarn-tabs
  default-language:   Haskell2010
  hs-source-dirs:     src

  -- Choose the underlying C implementation
  if flag(no-donna)
    -- ref10 implementation from SUPERCOP, about 2x slower than the AMD64
    -- SUPERCOP implementations, 15x faster than ronald3072 for signing.
    c-sources:          src/cbits/ref10/ed25519.c
    include-dirs:       src/cbits/ref10 src/cbits/ref10/include
  else
    -- TODO(aseipp): ed25519-donna import
    buildable: False

-------------------------------------------------------------------------------
-- Build pt 2: Tests

test-suite properties
  type: exitcode-stdio-1.0
  main-is: properties.hs
  ghc-options: -w
  hs-source-dirs: tests
  default-language:   Haskell2010

  if !flag(test-properties)
    buildable: False
  else
    build-depends:
      base        >= 4   && < 5,
      bytestring  >= 0.9 && < 0.13,
      QuickCheck  >= 2.4 && < 2.16,
      ed25519

--
-- Style/doc tests below
--

test-suite hlint
  type:             exitcode-stdio-1.0
  main-is:          hlint.hs
  hs-source-dirs:   tests
  default-language: Haskell2010

  if !flag(test-hlint)
    buildable: False
  else
    build-depends:
      base      >= 4   && < 5,
      hlint     >= 1.7 && < 4

test-suite doctests
  type:             exitcode-stdio-1.0
  main-is:          doctests.hs
  hs-source-dirs:   tests
  default-language: Haskell2010

  if !flag(test-doctests)
    buildable: False
  else
    build-depends:
      base      >= 4    && < 5,
      filepath  >= 1.0  && < 1.6,
      directory >= 1.0  && < 1.4,
      doctest   >= 0.10 && < 0.24

-------------------------------------------------------------------------------
-- Build pt 3: benchmarks

benchmark bench
  type:               exitcode-stdio-1.0
  build-depends:
      base        >= 4   && < 5,
      bytestring  >= 0.9 && < 0.13,
      criterion   >= 0.8 && < 1.8,
      deepseq     >= 1.3 && < 1.6,
      ed25519

  default-language:   Haskell2010
  hs-source-dirs:     benchmarks
  main-is:            bench.hs
openSUSE Build Service is sponsored by