summaryrefslogtreecommitdiff
path: root/bittorrent/bittorrent.cabal
diff options
context:
space:
mode:
authorJames Crayne <jim.crayne@gmail.com>2019-09-28 13:43:29 -0400
committerJoe Crayne <joe@jerkface.net>2020-01-01 19:27:53 -0500
commit11987749fc6e6d3e53ea737d46d5ab13a16faeb8 (patch)
tree5716463275c2d3e902889db619908ded2a73971c /bittorrent/bittorrent.cabal
parentadd2c76bced51fde5e9917e7449ef52be70faf87 (diff)
Factor out some new libraries
word64-map: Data.Word64Map network-addr: Network.Address tox-crypto: Crypto.Tox lifted-concurrent: Control.Concurrent.Lifted.Instrument Control.Concurrent.Async.Lifted.Instrument psq-wrap: Data.Wrapper.PSQInt Data.Wrapper.PSQ minmax-psq: Data.MinMaxPSQ tasks: Control.Concurrent.Tasks kad: Network.Kademlia Network.Kademlia.Bootstrap Network.Kademlia.Routing Network.Kademlia.CommonAPI Network.Kademlia.Persistence Network.Kademlia.Search
Diffstat (limited to 'bittorrent/bittorrent.cabal')
-rw-r--r--bittorrent/bittorrent.cabal412
1 files changed, 0 insertions, 412 deletions
diff --git a/bittorrent/bittorrent.cabal b/bittorrent/bittorrent.cabal
deleted file mode 100644
index 8ec314e7..00000000
--- a/bittorrent/bittorrent.cabal
+++ /dev/null
@@ -1,412 +0,0 @@
1name: bittorrent
2version: 0.0.0.3
3license: BSD3
4license-file: LICENSE
5author: Sam Truzjan
6maintainer: Sam Truzjan <pxqr.sta@gmail.com>
7copyright: (c) 2013, Sam Truzjan
8category: Network
9build-type: Custom
10cabal-version: >= 1.10
11tested-with: GHC == 7.6.3
12homepage: https://github.com/cobit/bittorrent
13bug-reports: https://github.com/cobit/bittorrent/issues
14synopsis: BitTorrent protocol implementation.
15description:
16
17 A library for making Haskell bittorrent applications easy.
18 .
19 For more information see:
20 <https://github.com/cobit/bittorrent/blob/master/README.md>
21
22extra-source-files: res/dapper-dvd-amd64.iso.torrent
23 res/pkg.torrent
24 README.md
25 ChangeLog
26 cbits/*.h
27
28
29source-repository head
30 type: git
31 location: git://github.com/cobit/bittorrent.git
32
33source-repository this
34 type: git
35 location: git://github.com/cobit/bittorrent.git
36 branch: master
37 tag: v0.0.0.3
38
39flag testing
40 description: Whether to build tests.
41 default: False
42
43flag examples
44 description: Whether to build examples.
45 default: False
46
47flag network-uri
48 description: Use network-uri package.
49 default: True
50
51flag bits-extras
52 description: Use more-effecient bits-extras bitwise operations.
53 default: False
54
55flag dht-only
56 description: Build only DHT related modules.
57 default: True
58
59flag builder
60 description: Use older bytestring package and bytestring-builder.
61 default: False
62
63flag aeson
64 description: Use aeson for pretty-printing bencoded data.
65 default: True
66
67flag thread-debug
68 description: Add instrumentation to threads.
69 default: True
70
71library
72 default-language: Haskell2010
73 default-extensions: PatternGuards
74 , OverloadedStrings
75 , RecordWildCards
76 hs-source-dirs: src, cryptonite-backport, .
77 exposed-modules: Network.SocketLike
78 Data.Digest.CRC32C
79 Data.Bits.ByteString
80 Data.Wrapper.PSQ
81 Data.Wrapper.PSQInt
82 Data.MinMaxPSQ
83 Network.Address
84 Network.Kademlia.Routing
85 Data.Torrent
86 Network.BitTorrent.DHT.ContactInfo
87 Network.BitTorrent.DHT.Token
88 Network.Kademlia.Search
89 Network.QueryResponse
90 Network.StreamServer
91 Data.BEncode.Pretty
92 Control.Concurrent.Tasks
93 Network.Kademlia
94 Network.BitTorrent.MainlineDHT
95 System.Global6
96 Network.Tox
97 Network.Tox.Transport
98 Network.Tox.Crypto.Transport
99 Network.Tox.Onion.Handlers
100 Network.Tox.Onion.Transport
101 Network.Tox.DHT.Handlers
102 Network.Tox.DHT.Transport
103 Network.Tox.NodeId
104 Control.TriadCommittee
105 Crypto.Tox
106 Text.XXD
107
108 build-depends: base
109 , containers
110 , array
111 , hashable
112 , iproute
113 , stm
114 , base16-bytestring
115 , base32-bytestring
116 , base64-bytestring
117 , psqueues
118 , reflection
119 , deepseq
120 , text
121 , filepath
122 , directory
123 , bencoding
124 , contravariant
125
126 , cryptonite
127 , memory
128 , time
129 , random
130 , entropy
131 , cpu
132
133 , cereal
134 , http-types
135
136 , process
137 , split
138 , pretty
139 , convertible
140 , data-default
141
142 , bifunctors
143 , lens
144 , lifted-async
145 , lifted-base
146 , monad-control
147 , transformers-base
148 , mtl
149
150 if flag(network-uri)
151 Build-depends: network >= 2.6
152 , network-uri >= 2.6
153 else
154 Build-depends: network >= 2.4 && < 2.6
155
156
157 other-modules: Paths_bittorrent
158 Crypto.Cipher.Salsa
159 Crypto.Cipher.XSalsa
160 Crypto.ECC.Class
161 Crypto.ECC.Simple.Prim
162 Crypto.ECC.Simple.Types
163 Crypto.Error.Types
164 Crypto.Internal.ByteArray
165 Crypto.Internal.Compat
166 Crypto.Internal.DeepSeq
167 Crypto.Internal.Imports
168 Crypto.PubKey.Curve25519
169
170 C-sources: cbits/cryptonite_xsalsa.c, cbits/cryptonite_salsa.c
171
172 if !flag(dht-only)
173 exposed-modules: Network.BitTorrent
174 Network.BitTorrent.Client
175 Network.BitTorrent.Client.Types
176 Network.BitTorrent.Client.Handle
177 Network.BitTorrent.Exchange
178 Network.BitTorrent.Exchange.Bitfield
179 Network.BitTorrent.Exchange.Block
180 Network.BitTorrent.Exchange.Connection
181 Network.BitTorrent.Exchange.Download
182 Network.BitTorrent.Exchange.Manager
183 Network.BitTorrent.Exchange.Message
184 Network.BitTorrent.Exchange.Session
185 Network.BitTorrent.Tracker
186 Network.BitTorrent.Tracker.List
187 Network.BitTorrent.Tracker.Message
188 Network.BitTorrent.Tracker.RPC
189 Network.BitTorrent.Tracker.RPC.HTTP
190 Network.BitTorrent.Tracker.RPC.UDP
191 Network.BitTorrent.Tracker.Session
192 System.Torrent.Storage
193 if !flag(dht-only)
194 if flag(testing)
195 exposed-modules:
196 Network.BitTorrent.Internal.Cache
197 Network.BitTorrent.Internal.Progress
198 Network.BitTorrent.Internal.Types
199 System.Torrent.FileMap
200 System.Torrent.Tree
201 else
202 other-modules:
203 Network.BitTorrent.Internal.Cache
204 Network.BitTorrent.Internal.Progress
205 Network.BitTorrent.Internal.Types
206 System.Torrent.FileMap
207 System.Torrent.Tree
208 if flag(aeson)
209 build-depends: aeson, aeson-pretty, unordered-containers, vector
210 cpp-options: -DBENCODE_AESON
211 if flag(thread-debug)
212 exposed-modules: Control.Concurrent.Lifted.Instrument
213 Control.Concurrent.Async.Lifted.Instrument
214 cpp-options: -DTHREAD_DEBUG
215
216 if flag(builder)
217 build-depends: bytestring >= 0.9, bytestring-builder
218 else
219 build-depends: bytestring >= 0.10
220 if impl(ghc < 7.6)
221 build-depends: ghc-prim
222 ghc-options: -Wall -fdefer-typed-holes
223 ghc-prof-options:
224
225
226test-suite spec
227 if !flag(testing)
228 buildable: False
229 default-language: Haskell2010
230 default-extensions: OverloadedStrings
231 type: exitcode-stdio-1.0
232 hs-source-dirs: tests
233 main-is: Main.hs
234 other-modules: Spec
235 Config
236 Network.KRPCSpec
237 Network.KRPC.MethodSpec
238 Network.DatagramServer.MainlineSpec
239 Data.TorrentSpec
240 Network.BitTorrent.Client.HandleSpec
241 Network.BitTorrent.CoreSpec
242 Network.BitTorrent.DHTSpec
243 Network.BitTorrent.DHT.TestData
244 Network.BitTorrent.DHT.MessageSpec
245 Network.BitTorrent.DHT.QuerySpec
246 Network.Kademlia.RoutingSpec
247 Network.BitTorrent.DHT.SessionSpec
248 Network.BitTorrent.DHT.TokenSpec
249 Network.BitTorrent.Internal.CacheSpec
250 Network.BitTorrent.Internal.ProgressSpec
251 Network.BitTorrent.Tracker.TestData
252 Network.BitTorrent.Tracker.ListSpec
253 Network.BitTorrent.Tracker.MessageSpec
254 Network.BitTorrent.Tracker.RPCSpec
255 Network.BitTorrent.Tracker.RPC.HTTPSpec
256 Network.BitTorrent.Tracker.RPC.UDPSpec
257 Network.BitTorrent.Tracker.SessionSpec
258 Network.BitTorrent.Exchange.BitfieldSpec
259 Network.BitTorrent.Exchange.ConnectionSpec
260 Network.BitTorrent.Exchange.DownloadSpec
261 Network.BitTorrent.Exchange.MessageSpec
262 Network.BitTorrent.Exchange.SessionSpec
263 System.Torrent.StorageSpec
264 System.Torrent.FileMapSpec
265 build-depends: base == 4.*
266
267 -- * Concurrency
268 , async
269
270 -- * Data
271 , bytestring
272 , bytestring-arbitrary
273 , containers
274 , convertible
275 , data-default
276 , text
277 , time
278
279 -- * Serialization
280 , cereal
281
282 -- * Monads
283 , mtl
284 , resourcet
285 , conduit
286 , conduit-extra
287 , monad-loops
288 , monad-logger
289
290 -- * Network
291 , http-types
292 , iproute
293
294 -- * System
295 , optparse-applicative >= 0.8
296 , process
297 , directory
298 , filepath
299
300 -- * Testing
301 , hspec >= 1.8.2
302 , QuickCheck
303 , quickcheck-instances
304
305 -- * Bittorrent
306 , bittorrent
307 , temporary
308 , bencoding >= 0.4.3
309 if flag(network-uri)
310 Build-depends: network >= 2.6
311 , network-uri >= 2.6
312 else
313 Build-depends: network >= 2.4 && < 2.6
314 ghc-options: -Wall -fno-warn-orphans
315
316
317--benchmark bench
318-- default-language: Haskell2010
319-- default-extensions:
320-- type: exitcode-stdio-1.0
321-- hs-source-dirs: bench
322-- main-is: Main.hs
323-- build-depends: base
324-- , bytestring
325-- , cereal
326-- , network
327--
328-- , criterion
329-- , deepseq
330--
331-- , bittorrent
332-- ghc-options: -O2 -Wall -fno-warn-orphans
333benchmark bench
334 type: exitcode-stdio-1.0
335 default-language: Haskell2010
336 hs-source-dirs: bench
337 main-is: Main.hs
338 build-depends: base == 4.*
339 , bytestring
340 , mtl
341 , monad-logger
342 , criterion
343 ghc-options: -O2 -fforce-recomp
344
345executable dht
346 hs-source-dirs: examples
347 main-is: dht.hs
348 default-language: Haskell2010
349 build-depends: base, haskeline, network, bytestring, transformers
350
351executable dhtd
352 hs-source-dirs: examples
353 main-is: dhtd.hs
354 default-language: Haskell2010
355 build-depends: base, network, bytestring, hashable, deepseq
356 , aeson
357 , pretty
358 , bittorrent
359 , unix
360 , containers
361 , stm
362 , cereal
363 , bencoding
364 if flag(thread-debug)
365 build-depends: time
366 cpp-options: -DTHREAD_DEBUG
367
368-- Utility to work with torrent files.
369executable mktorrent
370 if !flag(examples)
371 buildable: False
372 default-language: Haskell2010
373 hs-source-dirs: examples
374 main-is: MkTorrent.hs
375 other-modules: Paths_bittorrent
376 build-depends: base == 4.*
377 , bytestring
378 , text
379 , pretty
380
381 , mtl
382 , conduit
383 , lens
384 , lifted-async
385 , parallel-io
386
387 , bittorrent
388
389 , filepath
390 , optparse-applicative
391 , hslogger
392-- if flag(network-uri)
393-- Build-depends:
394 , network >= 2.6
395 , network-uri >= 2.6
396-- else
397-- Build-depends: network >= 2.4 && < 2.6
398 ghc-options: -Wall -O2 -threaded
399
400-- nonfunctioning example of very basic bittorrent client
401executable client
402 if !flag(examples)
403 buildable: False
404 default-language: Haskell2010
405 hs-source-dirs: examples
406 main-is: Client.hs
407 build-depends: base == 4.*
408 , bittorrent
409 , mtl
410 , pretty
411 , data-default
412 , optparse-applicative