File: streaming-commons.cabal

package info (click to toggle)
haskell-streaming-commons 0.2.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 480 kB
  • sloc: haskell: 2,751; ansic: 1,288; makefile: 8
file content (155 lines) | stat: -rw-r--r-- 4,990 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
155
name:                streaming-commons
version:             0.2.1.0
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.8
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
  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

  -- Due to cabal bugs, not making inclusion of this dependent on text version.
  -- For more information, see: https://github.com/fpco/text-stream-decode/issues/1
  other-modules:       Data.Text.Internal.Unsafe.Char
                       Data.Text.Internal.Unsafe.Shift
                       Data.Text.Internal.Encoding.Utf8
                       Data.Text.Internal.Encoding.Utf16
                       Data.Text.Internal.Encoding.Utf32

  build-depends:       base >= 4.7 && < 5
                     , array
                     , async
                     , bytestring
                     , directory
                     , network >= 2.4.0.0
                     , random
                     , process
                     , stm
                     , text
                     , 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
    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

  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
    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
    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
    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