Skip to content
Snippets Groups Projects
tahoe-ssk.cabal 4 KiB
Newer Older
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.

-- Initial package description 'tahoe-ssk' generated by
-- 'cabal init'. For further documentation, see:
--   http://haskell.org/cabal/users-guide/
--
-- The name of the package.
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary:     +-+------- breaking API changes
--                  | | +----- non-breaking API additions
--                  | | | +--- code changes with no API change
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- A short (one-line) description of the package.
synopsis:
  An implementation of the Tahoe-LAFS SSK cryptographic protocols

-- A longer description of the package.
-- description:

-- URL for the project homepage or repository.
homepage:           https://whetstone.private.storage/PrivateStorage/tahoe-ssk
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- The license under which the package is released.
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- The file containing the license text.
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- The package author(s).
author:             Jean-Paul Calderone
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- An email address to which users can send suggestions, bug reports, and patches.
maintainer:         jean-paul@private.storage
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- A copyright notice.
-- copyright:
category:           Cryptography,Library,Parsers,Security
build-type:         Simple
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files:    CHANGELOG.md
-- Extra source files to be distributed with the package, such as examples, or
-- a tutorial module.  In our case, test data.
extra-source-files: test/data/*
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

common warnings
  ghc-options: -Wall

library
  hs-source-dirs:     src
  exposed-modules:
    Tahoe.SDMF
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed
    Tahoe.SDMF.Internal.Capability
    Tahoe.SDMF.Internal.Share
    , asn1-encoding
    , asn1-types
    , memory
    , text

  -- This dependency isn't ideal.  Move common bits out to
  -- another library.
  build-depends:      tahoe-chk
  default-extensions:
    DerivingStrategies
    GeneralizedNewtypeDeriving
    OverloadedStrings
    RecordWildCards

  default-language:   Haskell2010
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed
test-suite tahoe-ssk-test
  -- Import common warning flags.
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

  -- Base language which the package is written in.
  default-language:   Haskell2010
  default-extensions: OverloadedStrings
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

  -- Modules included in this executable, other than Main.
  -- other-modules:

  -- LANGUAGE extensions used by modules in this package.
  -- other-extensions:

  -- The interface type and version of the test suite.
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

  -- Directories containing source files.
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

  -- The entrypoint to the test suite.
Jean-Paul Calderone's avatar
Jean-Paul Calderone committed

  -- Test dependencies.
    , asn1-encoding
    , asn1-types
    , base            ^>=4.14.3.0
    , binary
    , bytestring
    , cryptonite
    , hedgehog
    , tahoe-chk
    , tasty
    , tasty-hedgehog

-- A helper for generating RSA key pairs for use by the test suite.
executable make-keypairs
  import:           warnings
  default-language: Haskell2010
  main-is:          Main.hs
  hs-source-dirs:   make-keypairs
  build-depends:
    , asn1-encoding
    , asn1-types
    , base
    , bytestring
    , cryptonite