Bump version to 1.2.3.0 (and release notes)
[packages/text.git] / text.cabal
1 name:           text
2 version:        1.2.3.0
3 homepage:       https://github.com/bos/text
4 bug-reports:    https://github.com/bos/text/issues
5 synopsis:       An efficient packed Unicode text type.
6 description:
7     .
8     An efficient packed, immutable Unicode text type (both strict and
9     lazy), with a powerful loop fusion optimization framework.
10     .
11     The 'Text' type represents Unicode character strings, in a time and
12     space-efficient manner. This package provides text processing
13     capabilities that are optimized for performance critical use, both
14     in terms of large data quantities and high speed.
15     .
16     The 'Text' type provides character-encoding, type-safe case
17     conversion via whole-string case conversion functions. It also
18     provides a range of functions for converting 'Text' values to and from
19     'ByteStrings', using several standard encodings.
20     .
21     Efficient locale-sensitive support for text IO is also supported.
22     .
23     These modules are intended to be imported qualified, to avoid name
24     clashes with Prelude functions, e.g.
25     .
26     > import qualified Data.Text as T
27     .
28     To use an extended and very rich family of functions for working
29     with Unicode text (including normalization, regular expressions,
30     non-standard encodings, text breaking, and locales), see
31     the @text-icu@ package:
32     <http://hackage.haskell.org/package/text-icu>
33
34 license:        BSD2
35 license-file:   LICENSE
36 author:         Bryan O'Sullivan <bos@serpentine.com>
37 maintainer:     Bryan O'Sullivan <bos@serpentine.com>
38 copyright:      2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
39 category:       Data, Text
40 build-type:     Simple
41 cabal-version:  >= 1.8
42 extra-source-files:
43     -- scripts/CaseFolding.txt
44     -- scripts/SpecialCasing.txt
45     README.markdown
46     benchmarks/Setup.hs
47     benchmarks/cbits/*.c
48     benchmarks/haskell/*.hs
49     benchmarks/haskell/Benchmarks/*.hs
50     benchmarks/haskell/Benchmarks/Programs/*.hs
51     benchmarks/python/*.py
52     benchmarks/ruby/*.rb
53     benchmarks/text-benchmarks.cabal
54     changelog.md
55     include/*.h
56     scripts/*.hs
57     tests-and-benchmarks.markdown
58     tests/*.hs
59     tests/.ghci
60     tests/Makefile
61     tests/Tests/*.hs
62     tests/Tests/Properties/*.hs
63     tests/cabal.config
64     tests/scripts/*.sh
65     tests/text-tests.cabal
66
67 flag bytestring-builder
68   description: Depend on the bytestring-builder package for backwards compatibility.
69   default: False
70   manual: False
71
72 flag developer
73   description: operate in developer mode
74   default: False
75   manual: True
76
77 flag integer-simple
78   description: Use the simple integer library instead of GMP
79   default: False
80   manual: False
81
82 library
83   c-sources:    cbits/cbits.c
84   include-dirs: include
85
86   exposed-modules:
87     Data.Text
88     Data.Text.Array
89     Data.Text.Encoding
90     Data.Text.Encoding.Error
91     Data.Text.Foreign
92     Data.Text.IO
93     Data.Text.Internal
94     Data.Text.Internal.Builder
95     Data.Text.Internal.Builder.Functions
96     Data.Text.Internal.Builder.Int.Digits
97     Data.Text.Internal.Builder.RealFloat.Functions
98     Data.Text.Internal.Encoding.Fusion
99     Data.Text.Internal.Encoding.Fusion.Common
100     Data.Text.Internal.Encoding.Utf16
101     Data.Text.Internal.Encoding.Utf32
102     Data.Text.Internal.Encoding.Utf8
103     Data.Text.Internal.Functions
104     Data.Text.Internal.Fusion
105     Data.Text.Internal.Fusion.CaseMapping
106     Data.Text.Internal.Fusion.Common
107     Data.Text.Internal.Fusion.Size
108     Data.Text.Internal.Fusion.Types
109     Data.Text.Internal.IO
110     Data.Text.Internal.Lazy
111     Data.Text.Internal.Lazy.Encoding.Fusion
112     Data.Text.Internal.Lazy.Fusion
113     Data.Text.Internal.Lazy.Search
114     Data.Text.Internal.Private
115     Data.Text.Internal.Read
116     Data.Text.Internal.Search
117     Data.Text.Internal.Unsafe
118     Data.Text.Internal.Unsafe.Char
119     Data.Text.Internal.Unsafe.Shift
120     Data.Text.Lazy
121     Data.Text.Lazy.Builder
122     Data.Text.Lazy.Builder.Int
123     Data.Text.Lazy.Builder.RealFloat
124     Data.Text.Lazy.Encoding
125     Data.Text.Lazy.IO
126     Data.Text.Lazy.Internal
127     Data.Text.Lazy.Read
128     Data.Text.Read
129     Data.Text.Unsafe
130
131   other-modules:
132     Data.Text.Show
133
134   build-depends:
135     array      >= 0.3,
136     base       >= 4.2 && < 5,
137     binary,
138     deepseq    >= 1.1.0.0,
139     ghc-prim   >= 0.2
140
141   if flag(bytestring-builder)
142     build-depends: bytestring         >= 0.9    && < 0.10.4,
143                    bytestring-builder >= 0.10.4
144   else
145     build-depends: bytestring         >= 0.10.4
146
147   cpp-options: -DHAVE_DEEPSEQ
148   ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2
149   if flag(developer)
150     ghc-prof-options: -auto-all
151     ghc-options: -Werror
152     cpp-options: -DASSERTS
153
154   if flag(integer-simple)
155     cpp-options: -DINTEGER_SIMPLE
156     build-depends: integer-simple >= 0.1 && < 0.5
157   else
158     cpp-options: -DINTEGER_GMP
159     build-depends: integer-gmp >= 0.2
160
161 test-suite tests
162   type:           exitcode-stdio-1.0
163   hs-source-dirs: tests .
164   main-is:        Tests.hs
165   c-sources:      cbits/cbits.c
166   include-dirs:   include
167
168   ghc-options:
169     -Wall -threaded -O0 -rtsopts
170
171   cpp-options:
172     -DASSERTS -DHAVE_DEEPSEQ -DTEST_SUITE
173
174   build-depends:
175     HUnit >= 1.2,
176     QuickCheck >= 2.7,
177     array,
178     base,
179     binary,
180     deepseq,
181     directory,
182     ghc-prim,
183     quickcheck-unicode >= 1.0.1.0,
184     random,
185     test-framework >= 0.4,
186     test-framework-hunit >= 0.2,
187     test-framework-quickcheck2 >= 0.2
188
189   if flag(bytestring-builder)
190     build-depends: bytestring         >= 0.9    && < 0.10.4,
191                    bytestring-builder >= 0.10.4
192   else
193     build-depends: bytestring         >= 0.10.4
194
195   if flag(integer-simple)
196     cpp-options: -DINTEGER_SIMPLE
197     build-depends: integer-simple >= 0.1 && < 0.5
198   else
199     cpp-options: -DINTEGER_GMP
200     build-depends: integer-gmp >= 0.2
201
202 source-repository head
203   type:     git
204   location: https://github.com/bos/text
205
206 source-repository head
207   type:     mercurial
208   location: https://bitbucket.org/bos/text