name: bittorrent version: 0.0.0.3 license: BSD3 license-file: LICENSE author: Sam Truzjan maintainer: Sam Truzjan copyright: (c) 2013, Sam Truzjan category: Network build-type: Simple cabal-version: >= 1.10 tested-with: GHC == 7.6.3 homepage: https://github.com/cobit/bittorrent bug-reports: https://github.com/cobit/bittorrent/issues synopsis: BitTorrent protocol implementation. description: A library for making Haskell bittorrent applications easy. . For more information see: extra-source-files: res/dapper-dvd-amd64.iso.torrent res/pkg.torrent , README.md , ChangeLog source-repository head type: git location: git://github.com/cobit/bittorrent.git source-repository this type: git location: git://github.com/cobit/bittorrent.git branch: master tag: v0.0.0.3 flag testing description: Whether to build tests. default: False flag examples description: Whether to build examples. default: False flag network-uri description: Use network-uri package. default: True flag bits-extras description: Use more-effecient bits-extras bitwise operations. default: False flag dht-only description: Build only DHT related modules. default: False library default-language: Haskell2010 default-extensions: PatternGuards , OverloadedStrings , RecordWildCards hs-source-dirs: src exposed-modules: Data.Torrent Data.Digest.CRC32C Network.BitTorrent.Address Network.BitTorrent.DHT Network.BitTorrent.DHT.ContactInfo Network.BitTorrent.DHT.Message Network.BitTorrent.DHT.Query Network.BitTorrent.DHT.Routing Network.BitTorrent.DHT.Session Network.BitTorrent.DHT.Token other-modules: Paths_bittorrent if !flag(dht-only) exposed-modules: Network.BitTorrent Network.BitTorrent.Client Network.BitTorrent.Client.Types Network.BitTorrent.Client.Handle Network.BitTorrent.Exchange Network.BitTorrent.Exchange.Bitfield Network.BitTorrent.Exchange.Block Network.BitTorrent.Exchange.Connection Network.BitTorrent.Exchange.Download Network.BitTorrent.Exchange.Manager Network.BitTorrent.Exchange.Message Network.BitTorrent.Exchange.Session Network.BitTorrent.Tracker Network.BitTorrent.Tracker.List Network.BitTorrent.Tracker.Message Network.BitTorrent.Tracker.RPC Network.BitTorrent.Tracker.RPC.HTTP Network.BitTorrent.Tracker.RPC.UDP Network.BitTorrent.Tracker.Session System.Torrent.Storage if !flag(dht-only) if flag(testing) exposed-modules: Network.BitTorrent.Internal.Cache Network.BitTorrent.Internal.Progress Network.BitTorrent.Internal.Types System.Torrent.FileMap System.Torrent.Tree else other-modules: Network.BitTorrent.Internal.Cache Network.BitTorrent.Internal.Progress Network.BitTorrent.Internal.Types System.Torrent.FileMap System.Torrent.Tree build-depends: lifted-base , convertible >= 1.0 , pretty >= 1.1 -- Control , deepseq >= 1.3 , lens >= 3.0 , resourcet >= 0.4 , mtl , monad-control , transformers-base -- Concurrency , SafeSemaphore , lifted-async -- , BoundedChan >= 1.0.1.0 , split-channel >= 0.2 , stm >= 2.4 -- Streaming , conduit >= 1.1 , conduit-extra >= 1.1 , cereal-conduit >= 0.5 -- * Logging , fast-logger >= 2.0 , monad-logger >= 0.3.4 -- Data & Data structures , bytestring >= 0.10 , array , containers >= 0.5 , data-default >= 0.5.2 -- , data-dword , intset >= 0.1 , PSQueue >= 1.1 , split >= 0.2 , text >= 0.11.0 , unordered-containers , vector >= 0.10 -- Hashing , cryptohash >= 0.10 , hashable >= 1.2 -- Codecs & Serialization , attoparsec >= 0.10 , base16-bytestring >= 0.1 , base32-bytestring >= 0.2 , base64-bytestring >= 1.0 , bencoding >= 0.4.3 , cereal >= 0.3.5 -- Time , old-locale >= 1.0 , time >= 1.0 -- Network , krpc >= 0.6.1 , http-types >= 0.8 , http-client >= 0.2 , http-conduit >= 2.0 , iproute >= 1.2.11 -- RNG/PRNG , entropy >= 0.2 , random >= 1.0.0.2 , random-shuffle >= 0.0.0.4 -- System , directory >= 1.2 , filepath >= 1.3 , mmap >= 0.5 if flag(network-uri) Build-depends: network >= 2.6 , network-uri >= 2.6 else Build-depends: network >= 2.4 && < 2.6 if flag(bits-extras) build-depends: base == 4.* , bits-extras >= 0.1.2 else build-depends: base >= 4.8 ghc-options: -Wall ghc-prof-options: test-suite spec if !flag(testing) buildable: False default-language: Haskell2010 default-extensions: OverloadedStrings type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: Main.hs other-modules: Spec Config Data.TorrentSpec Network.BitTorrent.Client.HandleSpec Network.BitTorrent.CoreSpec Network.BitTorrent.DHTSpec Network.BitTorrent.DHT.TestData Network.BitTorrent.DHT.MessageSpec Network.BitTorrent.DHT.QuerySpec Network.BitTorrent.DHT.RoutingSpec Network.BitTorrent.DHT.SessionSpec Network.BitTorrent.DHT.TokenSpec Network.BitTorrent.Internal.CacheSpec Network.BitTorrent.Internal.ProgressSpec Network.BitTorrent.Tracker.TestData Network.BitTorrent.Tracker.ListSpec Network.BitTorrent.Tracker.MessageSpec Network.BitTorrent.Tracker.RPCSpec Network.BitTorrent.Tracker.RPC.HTTPSpec Network.BitTorrent.Tracker.RPC.UDPSpec Network.BitTorrent.Tracker.SessionSpec Network.BitTorrent.Exchange.BitfieldSpec Network.BitTorrent.Exchange.ConnectionSpec Network.BitTorrent.Exchange.DownloadSpec Network.BitTorrent.Exchange.MessageSpec Network.BitTorrent.Exchange.SessionSpec System.Torrent.StorageSpec System.Torrent.FileMapSpec build-depends: base == 4.* -- * Concurrency , async -- * Data , bytestring , bytestring-arbitrary , containers , convertible , data-default , text , time -- * Serialization , cereal -- * Monads , mtl , resourcet , conduit , conduit-extra , monad-loops , monad-logger -- * Network , http-types , iproute -- * System , optparse-applicative >= 0.8 , process , directory , filepath -- * Testing , hspec >= 1.8.2 , QuickCheck , quickcheck-instances -- * Bittorrent , bencoding , krpc >= 0.6.1 , bittorrent , temporary if flag(network-uri) Build-depends: network >= 2.6 , network-uri >= 2.6 else Build-depends: network >= 2.4 && < 2.6 ghc-options: -Wall -fno-warn-orphans --benchmark bench -- default-language: Haskell2010 -- default-extensions: -- type: exitcode-stdio-1.0 -- hs-source-dirs: bench -- main-is: Main.hs -- build-depends: base -- , bytestring -- , cereal -- , network -- -- , criterion -- , deepseq -- -- , bittorrent -- ghc-options: -O2 -Wall -fno-warn-orphans -- Utility to work with torrent files. executable mktorrent if !flag(examples) buildable: False default-language: Haskell2010 hs-source-dirs: examples main-is: MkTorrent.hs other-modules: Paths_bittorrent build-depends: base == 4.* , bytestring , text , pretty , mtl , conduit , lens , lifted-async , parallel-io , bittorrent , filepath , optparse-applicative , hslogger if flag(network-uri) Build-depends: network >= 2.6 , network-uri >= 2.6 else Build-depends: network >= 2.4 && < 2.6 ghc-options: -Wall -O2 -threaded -- nonfunctioning example of very basic bittorrent client executable client if !flag(examples) buildable: False default-language: Haskell2010 hs-source-dirs: examples main-is: Client.hs build-depends: base == 4.* , bittorrent , mtl , pretty , data-default , optparse-applicative