Skip to content
Snippets Groups Projects
tahoe-ssk.cabal 3.96 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
    
    
    -- 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
    
        Tahoe.SDMF.Internal.Share
    
        , asn1-encoding
        , asn1-types
    
        , base32
    
        , 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.
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
        , asn1-encoding
        , asn1-types
    
        , base            ^>=4.14.3.0
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
        , binary
        , bytestring
        , cryptonite
        , hedgehog
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
        , tahoe-chk
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
        , tasty
        , tasty-hedgehog
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
    
    -- 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