cabal-version: 2.4
name: tahoe-great-black-swamp
version: 0.3.1.0
build-type: Simple
synopsis: An implementation of the "Great Black Swamp" LAFS protocol.
description:
This package implements the recently proposed "Great Black Swamp" Least
Authority File Store protocol from the Tahoe-LAFS project. It also includes
pieces of a storage server and client implementation based on that protocol.
license: BSD-3-Clause
license-file: LICENSE
author: Jean-Paul Calderone and others
maintainer: exarkun@twistedmatrix.com
copyright: 2018-2023 The Authors
category:
Cryptography
, Distributed Computing
, Filesystem
, Network
, Network APIs
, Security
, Service
, Storage
, Web
extra-source-files:
ChangeLog.md
README.rst
homepage:
https://whetstone.private.storage/PrivateStorage/tahoe-great-black-swamp
bug-reports:
https://whetstone.private.storage/privatestorage/tahoe-great-black-swamp/-/issues
source-repository head
type: git
location:
gitlab@whetstone.private.storage:privatestorage/tahoe-great-black-swamp.git
common executable-opts
ghc-options:
common common-opts
default-extensions:
GADTs
InstanceSigs
LambdaCase
MultiWayIf
NamedFieldPuns
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StrictData
TupleSections
TypeApplications
ghc-options: -Wall
build-depends:
, aeson >=1.4.7 && <2.2
, async >=2.2.2 && <2.3
, base >=4.7 && <5
, binary >=0.8.6 && <0.9
, bytestring >=0.10.8.2 && <0.11
, containers >=0.6.0.1 && <0.7
, deriving-aeson >=0.2.6 && <0.3
, directory >=1.3.3 && <1.4
, filepath >=1.4.2 && <1.5
, foldl >=1.4.6 && <1.5
, http-types >=0.12.3 && <0.13
, primitive >=0.7.0.1 && <0.8
, safe-exceptions >=0.1.7.1 && <0.2
, text >=1.2.3.1 && <1.3
, unordered-containers >=0.2.10 && <0.3
, vector >=0.12.1.2 && <0.13
default-language: Haskell2010
common warp-workaround
-- Place an upper bound on http2 to get a solution that avoids a compile
-- error in warp 3.3.25 which for some reason includes < 5 as its
-- constraint.
build-depends: http2 <4
library
import:
common-opts
, warp-workaround
hs-source-dirs: src
exposed-modules:
TahoeLAFS.Internal.Client
TahoeLAFS.Internal.ServantUtil
TahoeLAFS.Storage.API
TahoeLAFS.Storage.APIDocs
TahoeLAFS.Storage.Backend
TahoeLAFS.Storage.Backend.Filesystem
TahoeLAFS.Storage.Backend.Memory
TahoeLAFS.Storage.Backend.Null
TahoeLAFS.Storage.Client
TahoeLAFS.Storage.Server
default-language: Haskell2010
build-depends:
, asn1-encoding >=0.9.6 && <0.10
, asn1-types >=0.3.4 && <0.4
, base >=4.7 && <5
, base64 >=0.2 && <0.5
, base64-bytestring >=1.0.0.3 && <1.3
, cborg >=0.2.4 && <0.3
, cborg-json >=0.2.2 && <0.3
, connection >=0.3.1 && <0.4
, cryptonite >=0.27 && <0.31
, data-default-class >=0.1 && <0.2
, http-api-data >=0.4.1.1 && <0.7
, http-client >=0.6.4.1 && <0.8
, http-client-tls >=0.3.5.3 && <0.4
, http-media >=0.8 && <0.9
, memory >=0.15 && <0.19
, network >=3.1.2 && <3.2
, network-uri >=2.6.3 && <2.7
, scientific >=0.3.6.2 && <0.4
, serialise >=0.2.3 && <0.3
, servant-client >=0.16.0.1 && <0.21
, servant-docs >=0.11.4 && <0.14
, servant-server >=0.16.2 && <0.21
, tls >=1.5 && <2
, utf8-string >=1.0.1.1 && <1.1
, wai >=3.2.2.1 && <3.3
, warp >=3.3.13 && <3.4
, warp-tls >=3.2.12 && <3.5
, x509 >=1.7 && <1.8
, x509-store >=1.6 && <1.7
, x509-validation >=1.6 && <1.7
-- executable gbs-generate-apidocs
-- hs-source-dirs: generate-apidocs
-- main-is: Main.hs
-- default-language: Haskell2010
-- build-depends: base
-- , servant-docs
-- , pandoc
-- , data-default
-- , blaze-html
-- , tahoe-great-black-swamp
-- , text
executable client-test
import: common-opts
hs-source-dirs: client-test
main-is: Main.hs
default-language: Haskell2010
build-depends:
, aeson >=1.4.7 && <2.2
, base >=4.7 && <5
, base32 >=0.2.1 && <0.3
, bytestring >=0.10.8.2 && <0.11
, cborg >=0.2.4 && <0.3
, connection >=0.3.1 && <0.4
, containers >=0.6.0.1 && <0.7
, http-client >=0.6.4.1 && <0.8
, http-client-tls >=0.3.5.3 && <0.4
, http-types >=0.12.3 && <0.13
, lens >=4.0 && <5.3
, megaparsec >=8.0 && <9.3
, serialise >=0.2.3 && <0.3
, servant >=0.16.2 && <0.21
, servant-client >=0.16.0.1 && <0.21
, tahoe-chk >=0.1 && <0.3
, tahoe-great-black-swamp
, text >=1.2.3.1 && <1.3
executable gbs-lafs-storage-server
hs-source-dirs: app
main-is: Main.hs
default-language: Haskell2010
build-depends:
, base >=4.7 && <5
, optparse-applicative >=0.15.1.0 && <0.19
, tahoe-great-black-swamp
, warp >=3.3.13 && <3.4
executable gbs-generate-clients
hs-source-dirs: generate-clients
main-is: Main.hs
default-language: Haskell2010
build-depends:
, base >=4.7 && <5
, filepath >=1.4.2 && <1.5
, servant-js >=0.9.4.2 && <0.10
, tahoe-great-black-swamp
test-suite http-tests
import: common-opts
import: executable-opts
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
other-modules:
CBORSpec
ClientSpec
HTTPSpec
Lib
MiscSpec
SemanticSpec
Spec
Vectors
default-language: Haskell2010
ghc-options: -Wall
build-depends:
, base >=4.7 && <5
, base32string >=0.9.1 && <0.10
, base64 >=0.2 && <0.5
, cborg >=0.2.4 && <0.3
, connection >=0.3 && <0.4
, data-default-class >=0.1 && <0.2
, hspec <2.12
, hspec-expectations <0.9
, hspec-wai <0.12
, http-client >=0.6.4.1 && <0.8
, network >=3.1 && <3.2
, network-simple-tls >=0.4 && <0.5
, QuickCheck <2.15
, quickcheck-instances <0.4
, serialise >=0.2.3 && <0.3
, servant >=0.16.2 && <0.21
, servant-client >=0.16.0.1 && <0.21
, tahoe-great-black-swamp
, temporary >=1.3 && <1.4
, tls >=1.5 && <2
, vector >=0.12.1.2 && <0.13
, wai-extra >=3.0.29.2 && <3.2
, warp >=3.3.13 && <3.4
, warp-tls >=3.2.12 && <3.5
, x509 >=1.7 && <1.8
, x509-store >=1.6 && <1.7
, yaml >=0.11.5.0 && <0.11.9.0 || >=0.11.9.0.0 && <0.12