Skip to content
Snippets Groups Projects
Select Git revision
  • a906ab7da4bac2b6e6a0601d5904f33dea7899f7
  • main default protected
  • polymorphic-capability-something-something-sketch
  • 0.1.0.0
4 results

tahoe-directory.cabal

Blame
  • tahoe-directory.cabal 4.71 KiB
    cabal-version:   2.4
    
    -- 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-directory' generated by
    -- 'cabal init'. For further documentation, see:
    --   http://haskell.org/cabal/users-guide/
    --
    -- The name of the package.
    name:            tahoe-directory
    
    -- 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
    version:         0.1.0.0
    
    -- A short (one-line) description of the package.
    synopsis:
      Tahoe-LAFS directory-like abstraction for collections of data objects.
    
    -- A longer description of the package.
    description:
      Tahoe-Directory is an implementation of the Tahoe-LAFS filesystem directory-like abstraction for managing collections of data objects.
      This includes a parser and serializer for the persisted form of these collections.
      It also includes Haskell-friendly abstract representations of and operations on the data.
      It aims for bit-for-bit compatibility with the original Python implementation.
      It will not include an implementation of any network protocol for transferring directories.
      However, its APIs are intended to be easy to integrate with such an implementation.
    
    -- URL for the project homepage or repository.
    homepage:
      https://whetstone.private.storage/PrivateStorage/tahoe-directory
    
    -- The license under which the package is released.
    license:         BSD-3-Clause
    
    -- The file containing the license text.
    license-file:    LICENSE
    
    -- The package author(s).
    author:          Jean-Paul Calderone and others
    
    -- An email address to which users can send suggestions, bug reports, and patches.
    maintainer:      exarkun@twistedmatrix.com
    
    -- A copyright notice.
    copyright:       2023 The Authors
    category:        Cryptography,Library,Parsers,Security
    build-type:      Simple
    
    -- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
    extra-doc-files:
      CHANGELOG.md
      README.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:
    
    common warnings
      ghc-options: -Wall
    
    common language
      default-extensions:
        DerivingStrategies
        GeneralizedNewtypeDeriving
        NamedFieldPuns
        OverloadedStrings
        PackageImports
        RecordWildCards
        TypeApplications
    
      default-language:   Haskell2010
    
    source-repository head
      type:     git
      location:
        https://whetstone.private.storage/PrivateStorage/tahoe-directory.git
    
    library
      import:          warnings
      import:          language
      hs-source-dirs:  src
      exposed-modules:
        Tahoe.Directory
        Tahoe.Directory.Internal.Capability
        Tahoe.Directory.Internal.Parsing
        Tahoe.Directory.Internal.Types
    
      build-depends:
        , base                >=4        && <5.0
        , bytestring          >=0.10.8.2 && <0.11
        , megaparsec          >=8.0      && <9.3
        , tahoe-capabilities  >=0.1      && <0.2
        , tahoe-chk           >=0.1      && <0.3
        , tahoe-ssk           >=0.2.1.0  && <0.4
        , text                >=1.2.3.1  && <1.3
    
    test-suite tahoe-directory-test
      -- Import common warning flags.
      import:             warnings
      import:             language
    
      -- Base language which the package is written in.
      default-language:   Haskell2010
      default-extensions: OverloadedStrings
    
      -- 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.
      type:               exitcode-stdio-1.0
    
      -- Directories containing source files.
      hs-source-dirs:     test
    
      -- The entrypoint to the test suite.
      main-is:            Main.hs
      other-modules:
        Generators
        Spec
    
      -- Test dependencies.
      build-depends:
        , base                >=4        && <5.0
        , bytestring          >=0.10.8.2 && <0.11
        , hedgehog            >=1.0.3    && <1.1
        , megaparsec          >=8.0      && <9.3
        , tahoe-capabilities  >=0.1      && <0.2
        , tahoe-directory
        , tasty               >=1.2.3    && <1.5
        , tasty-hedgehog      >=1.0.0.2  && <1.2
        , tasty-hunit         >=0.10.0.2 && <0.11
        , text                >=1.2.3.1  && <1.3