File: streaming-commons.cabal

package info (click to toggle)
haskell-streaming-commons 0.2.2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 284 kB
  • sloc: haskell: 2,547; ansic: 297; makefile: 7
file content (154 lines) | stat: -rw-r--r-- 4,813 bytes parent folder | download
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
name:                streaming-commons
version:             0.2.2.6
synopsis:            Common lower-level functions needed by various streaming data libraries
description:         Provides low-dependency functionality commonly needed by various streaming data libraries, such as conduit and pipes.
homepage:            https://github.com/fpco/streaming-commons
license:             MIT
license-file:        LICENSE
author:              Michael Snoyman, Emanuel Borsboom
maintainer:          michael@snoyman.com
-- copyright:
category:            Data
build-type:          Simple
cabal-version:       >=1.10
extra-source-files:
    test/filesystem/*.txt
    test/filesystem/bin/*.txt
    include/*.h
    cbits/*.c
    test/LICENSE.gz
    ChangeLog.md
    README.md

flag use-bytestring-builder
  description: Use bytestring-builder package
  default: False

library
  default-language: Haskell2010
  exposed-modules:     Data.Streaming.ByteString.Builder
                       Data.Streaming.ByteString.Builder.Buffer
                       Data.Streaming.FileRead
                       Data.Streaming.Filesystem
                       Data.Streaming.Network
                       Data.Streaming.Network.Internal
                       Data.Streaming.Process
                       Data.Streaming.Process.Internal
                       Data.Streaming.Text
                       Data.Streaming.Zlib
                       Data.Streaming.Zlib.Lowlevel

  build-depends:       base >= 4.12 && < 5
                     , array
                     , async
                     , bytestring
                     , directory
                     , network >= 2.4.0.0
                     , random
                     , process
                     , stm
                     , text >= 1.2 && < 1.3 || >= 2.0 && < 2.1
                     , transformers
                     , zlib

  c-sources:           cbits/zlib-helper.c
                       cbits/text-helper.c
  include-dirs:        include

  if os(windows)
    build-depends:     Win32
                     , filepath
    cpp-options:       -DWINDOWS
    other-modules:     System.Win32File
  else
    build-depends:     unix

  if flag(use-bytestring-builder)
    build-depends:     bytestring < 0.10.2.0
                     , bytestring-builder
  else
    build-depends:     bytestring >= 0.10.2.0

test-suite test
    default-language: Haskell2010
    hs-source-dirs: test
    main-is:        Spec.hs
    type:           exitcode-stdio-1.0
    ghc-options:    -Wall -threaded
    other-modules:  Data.Streaming.ByteString.BuilderSpec
                    Data.Streaming.FileReadSpec
                    Data.Streaming.FilesystemSpec
                    Data.Streaming.NetworkSpec
                    Data.Streaming.ProcessSpec
                    Data.Streaming.TextSpec
                    Data.Streaming.ZlibSpec
    build-depends:  base
                  , streaming-commons
                  , hspec >= 1.8

                  , QuickCheck
                  , array
                  , async
                  , bytestring
                  , deepseq
                  , network >= 2.4.0.0
                  , text
                  , zlib
    build-tool-depends:
        hspec-discover:hspec-discover

  if flag(use-bytestring-builder)
    build-depends:     bytestring < 0.10.2.0
                     , bytestring-builder
  else
    build-depends:     bytestring >= 0.10.2.0

  if os(windows)
    cpp-options:       -DWINDOWS
  else
    build-depends:     unix

benchmark count-chars
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: bench
    build-depends:  base
                  , gauge
                  , bytestring
                  , text
                  , streaming-commons
    main-is:        count-chars.hs
    ghc-options:    -Wall -O2

benchmark decode-memory-usage
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: bench
    build-depends:  base
                  , bytestring
                  , text
                  , streaming-commons
    main-is:        decode-memory-usage.hs
    ghc-options:    -Wall -O2 -with-rtsopts=-s

benchmark builder-to-bytestring-io
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: bench
    main-is:        builder-to-bytestring-io.hs
    ghc-options:    -Wall -O2
    build-depends:  base
                  , bytestring >= 0.10.2
                  , gauge
                  , deepseq
                  , streaming-commons

  if flag(use-bytestring-builder)
    build-depends:     bytestring < 0.10.2.0
                     , bytestring-builder
  else
    build-depends:     bytestring >= 0.10.2.0

source-repository head
  type:     git
  location: git://github.com/fpco/streaming-commons.git