hbs2/hbs2-peer/hbs2-peer.cabal

307 lines
7.8 KiB
Plaintext

cabal-version: 3.0
name: hbs2-peer
version: 0.24.1.2
-- synopsis:
-- description:
license: BSD-3-Clause
license-file: LICENSE
-- author:
-- maintainer:
-- copyright:
category: Network
build-type: Simple
-- extra-doc-files: CHANGELOG.md
-- extra-source-files:
common warnings
ghc-options: -Wall
common common-deps
build-depends:
base, hbs2-core, hbs2-storage-simple, db-pipe
, aeson
, async
, bytestring
, cache
, containers
, data-default
, deepseq
, directory
, dns
, filepath
, generic-lens
, generic-data
, hashable
, microlens-platform
, mtl
, mwc-random
, network
, network-multicast
, optparse-applicative
, prettyprinter
, prettyprinter-ansi-terminal
, random
, random-shuffle
, resourcet
-- , resolv
, safe
, saltine >=0.2.0.1
, suckless-conf
, serialise
, split
, stm
, streaming
, sqlite-simple
, time
, temporary
, text
, time
, timeit
, transformers
, typed-process
, uniplate
, unordered-containers
, vector
, interpolatedstring-perl6
, filelock
, ekg-core
, scotty
, string-conversions
, warp
, http-conduit
, http-types
, wai
, wai-extra
, unliftio
, unliftio-core
, unix
, heaps
, psqueues
, string-conversions
, template-haskell
common shared-properties
ghc-options:
-Wall
-O2
-fno-warn-type-defaults
-- -fno-warn-unused-matches
-- -fno-warn-unused-do-bind
-- -Werror=missing-methods
-- -Werror=incomplete-patterns
-- -fno-warn-unused-binds
-threaded
-rtsopts
-- "-with-rtsopts=-N -A64m -AL256m -I0 -T"
"-with-rtsopts=-N -A4m -AL16m -Iw60 -T"
default-language: Haskell2010
default-extensions:
ApplicativeDo
, BangPatterns
, BlockArguments
, ConstraintKinds
, DataKinds
, DeriveDataTypeable
, DeriveGeneric
, DerivingStrategies
, DerivingVia
, ExtendedDefaultRules
, FlexibleContexts
, FlexibleInstances
, GADTs
, GeneralizedNewtypeDeriving
, ImportQualifiedPost
, LambdaCase
, MultiParamTypeClasses
, OverloadedStrings
, OverloadedLabels
, QuasiQuotes
, RankNTypes
, RecordWildCards
, RecursiveDo
, ScopedTypeVariables
, StandaloneDeriving
, TemplateHaskell
, TupleSections
, TypeApplications
, TypeFamilies
, TypeOperators
library
import: shared-properties
import: common-deps
hs-source-dirs: lib
default-language: Haskell2010
exposed-modules:
HBS2.Peer.Prelude
HBS2.Peer.Brains
HBS2.Peer.Notify
HBS2.Peer.RefChanNotifyLog
HBS2.Peer.Proto
HBS2.Peer.Proto.Peer
HBS2.Peer.Proto.PeerAnnounce
HBS2.Peer.Proto.PeerMeta
HBS2.Peer.Proto.BlockAnnounce
HBS2.Peer.Proto.BlockChunks
HBS2.Peer.Proto.BlockInfo
HBS2.Peer.Proto.PeerExchange
HBS2.Peer.Proto.RefLog
HBS2.Peer.Proto.RefChan
HBS2.Peer.Proto.RefChan.Types
HBS2.Peer.Proto.RefChan.RefChanHead
HBS2.Peer.Proto.RefChan.RefChanNotify
HBS2.Peer.Proto.RefChan.RefChanUpdate
HBS2.Peer.Proto.RefChan.Adapter
HBS2.Peer.Proto.AnyRef
HBS2.Peer.Proto.LWWRef
HBS2.Peer.Proto.LWWRef.Internal
HBS2.Peer.Proto.Mailbox
HBS2.Peer.Proto.Mailbox.Types
HBS2.Peer.Proto.Mailbox.Message
HBS2.Peer.Proto.Mailbox.Entry
HBS2.Peer.Proto.Mailbox.Ref
HBS2.Peer.Proto.Mailbox.Policy
HBS2.Peer.Proto.Mailbox.Policy.Basic
HBS2.Peer.Proto.BrowserPlugin
HBS2.Peer.RPC.Client
HBS2.Peer.RPC.Client.Internal
HBS2.Peer.RPC.Client.RefChan
HBS2.Peer.RPC.Class
HBS2.Peer.RPC.API.Peer
HBS2.Peer.RPC.API.RefLog
HBS2.Peer.RPC.API.RefChan
HBS2.Peer.RPC.API.LWWRef
HBS2.Peer.RPC.API.Mailbox
HBS2.Peer.RPC.API.Storage
HBS2.Peer.RPC.Client.Unix
HBS2.Peer.RPC.Client.StorageClient
HBS2.Peer.RPC.Internal.Storage
HBS2.Peer.RPC.Internal.Types
HBS2.Peer.CLI.Detect
other-modules:
-- HBS2.System.Logger.Simple
test-suite test
import: shared-properties
default-language: Haskell2010
other-modules:
-- other-extensions:
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: TestSuite.hs
build-depends:
base, hbs2-peer, hbs2-core
, async
, bytestring
, cache
, containers
, directory
, hashable
, microlens-platform
, mtl
, prettyprinter
, QuickCheck
, quickcheck-instances
, random
, safe
, serialise
, stm
, streaming
, tasty
, tasty-quickcheck
, tasty-hunit
, tasty-quickcheck
, transformers
, uniplate
, vector
, saltine
, simple-logger
, string-conversions
, filepath
, temporary
, unliftio
, resourcet
executable hbs2-peer
import: shared-properties
import: common-deps
main-is: PeerMain.hs
other-modules:
BlockDownloadNew
, BrainyPeerLocator
, ByPassWorker
, DownloadMon
, Bootstrap
, PeerInfo
, PeerMeta
, SendBlockAnnounce
, CheckBlockAnnounce
, CheckPeer
, Fetch
, Log
, RPC2
, RPC2.Peer
, RPC2.Poke
, RPC2.PerformGC
, RPC2.Announce
, RPC2.Fetch
, RPC2.Die
, RPC2.ByPassStat
, RPC2.Probes
, RPC2.LogLevel
, RPC2.Peers
, RPC2.PexInfo
, RPC2.Ping
, RPC2.Poll
, RPC2.Downloads
, RPC2.RefLog
, RPC2.RefChan
, RPC2.LWWRef
, RPC2.Mailbox
, PeerTypes
, PeerLogger
, PeerConfig
, RefLog
, RefChan
, RefChanNotifyLog
, LWWRef
, MailboxProtoWorker
, CheckMetrics
, HttpWorker
, Brains
, DispatchProxy
, CLI.Common
, CLI.RefChan
, CLI.LWWRef
, CLI.Mailbox
, Paths_hbs2_peer
-- other-extensions:
build-depends: base, hbs2-peer, hbs2-keyman-direct-lib, vty
, vty-unix
hs-source-dirs: app
default-language: Haskell2010