Skip to content
Snippets Groups Projects
tahoe-ssk.cabal 4.27 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 -Werror=missing-fields
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
    
    
    common language
      default-extensions:
        DerivingStrategies
        GeneralizedNewtypeDeriving
        NamedFieldPuns
        OverloadedStrings
        PackageImports
        RecordWildCards
    
      -- Base language which the package is written in.
    
      default-language:   Haskell2010
    
    
      hs-source-dirs:  src
    
      exposed-modules:
        Tahoe.SDMF
    
        Tahoe.SDMF.Internal.Converting
    
        Tahoe.SDMF.Internal.Encrypting
    
        Tahoe.SDMF.Internal.Keys
    
        Tahoe.SDMF.Internal.Share
    
        , asn1-encoding
        , asn1-types
    
        , base32
    
        , memory
    
    
      -- This dependency isn't ideal.  Move common bits out to
      -- another library.
    
      build-depends:   tahoe-chk
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
    test-suite tahoe-ssk-test
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
    
      -- LANGUAGE extensions used by modules in this package.
      -- other-extensions:
    
      -- The interface type and version of the test suite.
    
      type:           exitcode-stdio-1.0
    
    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
        , language
    
      main-is:        Main.hs
      hs-source-dirs: make-keypairs
    
    Jean-Paul Calderone's avatar
    Jean-Paul Calderone committed
      build-depends:
        , asn1-encoding
        , asn1-types
        , base
        , bytestring
    
        , cryptonite
    
    
    executable encode-ssk
      import:
        warnings
        , language
    
      main-is:        Main.hs
      hs-source-dirs: encode-ssk
      build-depends:
        , base
        , base32
        , binary
        , bytestring
        , cryptonite
        , tahoe-ssk
        , text