1cabal-version: 2.2
2
3name:           unicode-transforms
4version:        0.3.7.1
5x-revision: 2
6synopsis:       Unicode normalization
7description:    Fast Unicode 13.0.0 normalization in Haskell (NFC, NFKC, NFD, NFKD).
8category:       Data,Text,Unicode
9stability:      Experimental
10homepage:       http://github.com/composewell/unicode-transforms
11bug-reports:    https://github.com/composewell/unicode-transforms/issues
12author:         Harendra Kumar
13maintainer:     harendra.kumar@gmail.com
14copyright:      2016-2017 Harendra Kumar,
15                2014–2015 Antonio Nikishaev
16license:        BSD-3-Clause
17license-file:   LICENSE
18tested-with:    GHC==7.10.3
19              , GHC==8.0.2
20              , GHC==8.2.2
21              , GHC==8.4.4
22              , GHC==8.6.5
23              , GHC==8.8.3
24              , GHC==8.10.1
25build-type:     Simple
26extra-source-files:
27    .gitignore
28    .travis.yml
29    appveyor.yml
30    Changelog.md
31    MAINTAINING.md
32    NOTES.md
33    README.md
34    benchmark/README.md
35    benchmark/NormalizeFile.hs
36    benchmark/data/AllChars.txt
37    benchmark/data/Deutsch.txt
38    benchmark/data/Devanagari.txt
39    benchmark/data/English.txt
40    benchmark/data/Japanese.txt
41    benchmark/data/Korean.txt
42    benchmark/data/Vietnamese.txt
43    stack.yaml
44    stack-7.10.yaml
45    stack-8.0.yaml
46    unicode-data/README.md
47    unicode-data/ucd/NormalizationTest.txt
48    unicode-data/extra/NormalizationTest.txt
49    unicode-data/stack.yaml
50    unicode-data/ucd2haskell.cabal
51    unicode-data/UCD2Haskell.hs
52
53source-repository head
54  type: git
55  location: https://github.com/composewell/unicode-transforms
56
57flag dev
58  description: Developer build
59  manual: True
60  default: False
61
62flag bench-show
63  description: Use bench-show to compare benchmarks
64  manual: True
65  default: False
66
67flag has-icu
68  description: Use text-icu for benchmark and test comparisons
69  manual: True
70  default: False
71
72flag has-llvm
73  description: Use llvm backend (faster) for compilation
74  manual: True
75  default: False
76
77library
78  exposed-modules:
79      Data.ByteString.UTF8.Normalize
80      Data.Text.Normalize
81      Data.Unicode.Types
82      Data.Unicode.Internal.Division
83  other-modules:
84      Data.Unicode.Internal.Bits
85      Data.Unicode.Internal.NormalizeStream
86      Data.Unicode.Properties.CombiningClass
87      Data.Unicode.Properties.Compositions
88      Data.Unicode.Properties.Decomposable
89      Data.Unicode.Properties.DecomposableK
90      Data.Unicode.Properties.Decompose
91      Data.Unicode.Properties.DecomposeHangul
92      Data.Unicode.Properties.Decompositions
93      Data.Unicode.Properties.DecompositionsK
94      Data.Unicode.Properties.DecompositionsK2
95  hs-source-dirs:
96      ./.
97  ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
98  build-depends:
99      base >=4.8 && <5
100    , bytestring >=0.9 && <0.12
101    , text >=1.1.1 && <1.3
102    , ghc-prim >= 0.2 && < 0.8
103  if flag(dev)
104    ghc-options: -O0
105  else
106    ghc-options: -O2 -funbox-strict-fields -fspec-constr-count=10
107  if flag(has-llvm)
108    ghc-options: -fllvm
109  default-language: Haskell2010
110
111test-suite extras
112  type: exitcode-stdio-1.0
113  main-is: Extra.hs
114  other-modules:
115      QuickCheckUtils
116  hs-source-dirs:
117      test
118  ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
119  build-depends:
120      QuickCheck >=2.1 && <2.15
121    , base >=4.7 && <5
122    , deepseq >=1.1 && <1.5
123    , text >=1.1.1 && <1.3
124    , unicode-transforms
125  if flag(dev)
126    ghc-options: -O0
127  else
128    ghc-options: -O2 -funbox-strict-fields
129  if flag(has-llvm)
130    ghc-options: -fllvm
131  default-language: Haskell2010
132
133test-suite quickcheck
134  type: exitcode-stdio-1.0
135  main-is: Properties.hs
136  other-modules:
137      QuickCheckUtils
138  hs-source-dirs:
139      test
140  ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
141  build-depends:
142      QuickCheck >=2.1 && <2.15
143    , base >=4.7 && <5
144    , deepseq >=1.1 && <1.5
145    , hspec >= 2.0 && < 3
146    , text >=1.1.1 && <1.3
147    , unicode-transforms
148  if flag(dev)
149    ghc-options: -O0
150  else
151    ghc-options: -O2 -funbox-strict-fields
152  if flag(has-llvm)
153    ghc-options: -fllvm
154  if flag(has-icu)
155    cpp-options: -DHAS_ICU
156    build-depends:
157        text-icu >=0.6.2.1
158  default-language: Haskell2010
159
160test-suite ucd
161  type: exitcode-stdio-1.0
162  main-is: NormalizationTest.hs
163  hs-source-dirs:
164      test
165  ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
166  build-depends:
167      base >=4.7 && <5
168    , getopt-generics >=0.11 && <0.14
169    , split >=0.1 && <0.3
170    , text >=1.1.1 && <1.3
171    , unicode-transforms
172  if flag(dev)
173    ghc-options: -O0
174  else
175    ghc-options: -O2 -funbox-strict-fields
176  if flag(has-llvm)
177    ghc-options: -fllvm
178  default-language: Haskell2010
179
180benchmark bench
181  type: exitcode-stdio-1.0
182  main-is: Benchmark.hs
183  hs-source-dirs:
184      benchmark
185  ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
186  build-depends:
187      base >=4.7 && <5
188    , deepseq >=1.1.0 && <1.5
189    , filepath >=1.0 && <2
190    , gauge >=0.2.0 && <0.3
191    , path >=0.0.0 && <0.9
192    , path-io >=0.1.0 && <1.7
193    , text >=1.1.1 && <1.3
194    , unicode-transforms
195  if flag(dev)
196    ghc-options: -O0
197  else
198    ghc-options: -O2 -funbox-strict-fields
199  if flag(has-llvm)
200    ghc-options: -fllvm
201  if flag(has-icu)
202    cpp-options: -DBENCH_ICU
203    build-depends:
204        text-icu >=0.6.2.1 && <0.8
205  if impl(ghc < 7.10)
206    build-depends:
207        path (<0.5.12 || >0.5.12)
208  default-language: Haskell2010
209
210executable chart
211  default-language: Haskell2010
212  hs-source-dirs: benchmark
213  main-is: Chart.hs
214  if flag(bench-show)
215    buildable: True
216    build-Depends:
217        base >= 4.8 && < 5
218      , bench-show >= 0.3 && < 0.4
219      , split >= 0.2 && < 0.3
220      , transformers >= 0.4   && < 0.6
221  else
222    buildable: False
223