summaryrefslogtreecommitdiff
path: root/network-bittorrent.cabal
blob: 6a14b3e92be6df24492931f76603b69b6b0a804d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
name:                  network-bittorrent
version:               0.1.0.0
license:               MIT
license-file:          LICENSE
author:                Sam T.
maintainer:            Sam T. <pxqr.sta@gmail.com>
copyright:             (c) 2013, Sam T.
category:              Network, Data
build-type:            Simple
cabal-version:         >= 1.8
homepage:              https://github.com/pxqr/network-bittorrent
bug-reports:           https://github.com/pxqr/network-bittorrent/issues
synopsis:              Bittorrent protocol implementation.
description:
  Straightforward and incomplete implementation of bittorrent protocol.


source-repository head
  type:                git
  location:            https://github.com/pxqr/network-bittorrent.git


library
  exposed-modules:     Data.Torrent
                     , Data.Torrent.InfoHash

                     , Network.BitTorrent

                     , Network.BitTorrent.Peer
                     , Network.BitTorrent.Peer.Addr
                     , Network.BitTorrent.Peer.ID
                     , Network.BitTorrent.Peer.ClientInfo

                     , Network.BitTorrent.Tracker
                     , Network.BitTorrent.Tracker.Protocol
                     , Network.BitTorrent.Tracker.Scrape

                     , Network.BitTorrent.PeerWire
                     , Network.BitTorrent.PeerWire.Bitfield
                     , Network.BitTorrent.PeerWire.Block
                     , Network.BitTorrent.PeerWire.Message
                     , Network.BitTorrent.PeerWire.Handshake

  other-modules:


  build-depends:
                       base       == 4.*
                     , stm        >= 2.4

                       -- Data packages
                     , bytestring >= 0.10.2
                     , containers >= 0.4
                     , text       >= 0.11.0

                       -- encoding/serialization packages
                     , bencoding  >= 0.1
                     , cereal     >= 0.3
                     , urlencoded >= 0.4

                       -- time packages
                     , time       >= 0.1
                     , old-locale >= 1.0

                       -- network related packages
                     , network    >= 2.4
                     , HTTP       >= 4000.2
                     , cryptohash

                     , filepath   == 1.*


  extensions:          PatternGuards
  hs-source-dirs:      src
  ghc-options:         -Wall


test-suite info-hash
  type:                exitcode-stdio-1.0
  main-is:             info-hash.hs
  hs-source-dirs:      tests

  build-depends:       base       == 4.*
                     , bytestring >= 0.10.2.0
                     , containers >= 0.4.2.1
                     , bencoding  >= 0.1.0.0
                     , network-bittorrent >= 0.1.0.0
                     , Diff

  ghc-options:         -Wall



test-suite encoding
  type:                exitcode-stdio-1.0
  main-is:             encoding.hs
  hs-source-dirs:      tests

  build-depends:       base       == 4.*
                     , bytestring >= 0.10.2
                     , cereal     >= 0.3.5.2
                     , test-framework
                     , test-framework-quickcheck2
                     , QuickCheck
                     , network    >= 2.4.0.13
                     , network-bittorrent >= 0.1.0.0

  ghc-options:         -Wall -fno-warn-orphans



benchmark serialization
  type:                exitcode-stdio-1.0
  main-is:             serialization.hs
  hs-source-dirs:      bench

  build-depends:       base == 4.*
                     , bytestring >= 0.10.2.0
                     , criterion
                     , cereal
                     , network-bittorrent >= 0.1.0.0
                     , deepseq

  ghc-options:         -O2 -Wall -fno-warn-orphans