summaryrefslogtreecommitdiff
path: root/bencoding.cabal
blob: eddcd538adee4687b740370ab8208c90376206c5 (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
name:                  bencoding
version:               0.4.3.0
license:               BSD3
license-file:          LICENSE
author:                Sam Truzjan
maintainer:            Sam Truzjan <pxqr.sta@gmail.com>
copyright:             (c) 2013, Sam Truzjan
category:              Data
build-type:            Simple
stability:             Experimental
cabal-version:         >= 1.10
tested-with:           GHC == 7.6.3
homepage:              https://github.com/cobit/bencoding
bug-reports:           https://github.com/cobit/bencoding/issues
synopsis:              A library for encoding and decoding of BEncode data.
description:
  A library for fast and easy encoding and decoding of BEncode data.

extra-source-files:    README.md
                     , ChangeLog

flag builder
  description: Use older bytestring package and bytestring-builder.
  default: False

source-repository head
  type:                git
  location:            git://github.com/cobit/bencoding.git
  branch:              master

source-repository this
  type:                git
  location:            git://github.com/cobit/bencoding.git
  branch:              master
  tag:                 v0.4.3.0

library
  default-language:    Haskell2010
  default-extensions:  PatternGuards
  hs-source-dirs:      src
  exposed-modules:     Data.BEncode
                     , Data.BEncode.BDict
                     , Data.BEncode.Internal
                     , Data.BEncode.Types
  build-depends:       base       == 4.*
                     , ghc-prim
                     , integer-gmp
                     , deepseq    >= 1.3
                     , mtl
                     , attoparsec >= 0.10
                     , text       >= 0.11
                     , pretty
  ghc-options:         -Wall -O2 -fno-warn-unused-do-bind
  if flag(builder)
    build-depends: bytestring >= 0.9, bytestring-builder
  else
    build-depends: bytestring >= 0.10


test-suite properties
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      tests
  main-is:             properties.hs
  build-depends:       base       == 4.*
                     , ghc-prim

                     , containers >= 0.4
                     , attoparsec >= 0.10

                     , bencoding
                     , hspec
                     , QuickCheck
  if flag(builder)
    build-depends: bytestring >= 0.9, bytestring-builder
  else
    build-depends: bytestring >= 0.10

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


benchmark bench-comparison
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      bench
  main-is:             Main.hs
  build-depends:       base == 4.*
                     , ghc-prim
                     , deepseq

                     , attoparsec >= 0.10
                     , bytestring >= 0.9

                     , criterion

                     , bencoding
                     , bencode     >= 0.5
                     , AttoBencode >= 0.2
  ghc-options:         -O2 -Wall -fno-warn-orphans