summaryrefslogtreecommitdiff
path: root/unicode-transforms.cabal
diff options
context:
space:
mode:
Diffstat (limited to 'unicode-transforms.cabal')
-rwxr-xr-xunicode-transforms.cabal220
1 files changed, 220 insertions, 0 deletions
diff --git a/unicode-transforms.cabal b/unicode-transforms.cabal
new file mode 100755
index 0000000..c017e9d
--- /dev/null
+++ b/unicode-transforms.cabal
@@ -0,0 +1,220 @@
+cabal-version: 2.2
+
+name: unicode-transforms
+version: 0.4.0.1
+x-revision: 3
+synopsis: Unicode normalization
+description: Fast Unicode 14.0.0 normalization in Haskell (NFC, NFKC, NFD, NFKD).
+category: Data,Text,Unicode
+stability: Experimental
+homepage: http://github.com/composewell/unicode-transforms
+bug-reports: https://github.com/composewell/unicode-transforms/issues
+author: Harendra Kumar
+maintainer: harendra.kumar@gmail.com
+copyright: 2016-2017 Harendra Kumar,
+ 2014–2015 Antonio Nikishaev
+license: BSD-3-Clause
+license-file: LICENSE
+tested-with: GHC==8.0.2
+ , GHC==8.2.2
+ , GHC==8.4.4
+ , GHC==8.6.5
+ , GHC==8.8.4
+ , GHC==8.10.7
+ , GHC==9.0.2
+ , GHC==9.2.7
+ , GHC==9.4.4
+ , GHC==9.6.1
+build-type: Simple
+extra-source-files:
+ Changelog.md
+ MAINTAINING.md
+ NOTES.md
+ README.md
+ download-ucd-files.sh
+ benchmark/README.md
+ benchmark/NormalizeFile.hs
+ benchmark/data/AllChars.txt
+ benchmark/data/Deutsch.txt
+ benchmark/data/Devanagari.txt
+ benchmark/data/English.txt
+ benchmark/data/Japanese.txt
+ benchmark/data/Korean.txt
+ benchmark/data/Vietnamese.txt
+ test/data/NormalizationTest.txt
+ test/data/extra/NormalizationTest.txt
+
+source-repository head
+ type: git
+ location: https://github.com/composewell/unicode-transforms
+
+flag dev
+ description: Developer build
+ manual: True
+ default: False
+
+flag bench-show
+ description: Use bench-show to compare benchmarks
+ manual: True
+ default: False
+
+flag has-icu
+ description: Use text-icu for benchmark and test comparisons
+ manual: True
+ default: False
+
+flag has-llvm
+ description: Use llvm backend (faster) for compilation
+ manual: True
+ default: False
+
+flag use-gauge
+ description: Use gauge instead of tasty-bench for benchmarking
+ manual: True
+ default: False
+
+library
+ exposed-modules:
+ Data.Unicode.Types
+ Data.Text.Normalize
+
+ -- Deprecated
+ Data.ByteString.UTF8.Normalize
+ other-modules:
+ Data.Unicode.Internal.NormalizeStream
+ hs-source-dirs: .
+ ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
+ build-depends:
+ base >= 4.8 && < 4.19
+ , unicode-data >= 0.2 && < 0.5
+ , bytestring >= 0.9 && < 0.12
+ , ghc-prim >= 0.2 && < 0.11
+
+ -- We depend on a lot of internal modules in text. We keep the upper bound
+ -- inclusive of the latest stable version.
+ , text >=1.1.1 && <=1.2.5.0 || >=2.0 && <2.1
+ if flag(dev)
+ ghc-options: -O0
+ else
+ ghc-options: -O2 -funbox-strict-fields -fspec-constr-count=10
+ if flag(has-llvm)
+ ghc-options: -fllvm
+ default-language: Haskell2010
+
+test-suite extras
+ type: exitcode-stdio-1.0
+ main-is: Extra.hs
+ other-modules:
+ QuickCheckUtils
+ hs-source-dirs:
+ test
+ ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
+ build-depends:
+ QuickCheck >=2.1 && <2.15
+ , base
+ , deepseq >=1.1 && <1.5
+ , text
+ , unicode-transforms
+ if flag(dev)
+ ghc-options: -O0
+ else
+ ghc-options: -O2 -funbox-strict-fields
+ if flag(has-llvm)
+ ghc-options: -fllvm
+ default-language: Haskell2010
+
+test-suite quickcheck
+ type: exitcode-stdio-1.0
+ main-is: Properties.hs
+ other-modules:
+ QuickCheckUtils
+ hs-source-dirs:
+ test
+ ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
+ build-depends:
+ QuickCheck
+ , unicode-data
+ , base
+ , deepseq
+ , hspec >= 2.0 && < 3
+ , text
+ , unicode-transforms
+ if flag(dev)
+ ghc-options: -O0
+ else
+ ghc-options: -O2 -funbox-strict-fields
+ if flag(has-llvm)
+ ghc-options: -fllvm
+ if flag(has-icu)
+ cpp-options: -DHAS_ICU
+ build-depends:
+ text-icu >=0.6.2.1 && <0.9
+ default-language: Haskell2010
+
+test-suite ucd
+ type: exitcode-stdio-1.0
+ main-is: NormalizationTest.hs
+ hs-source-dirs:
+ test
+ ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
+ build-depends:
+ base
+ , bytestring
+ , split >=0.2 && <0.3
+ , text
+ , unicode-transforms
+ if flag(dev)
+ ghc-options: -O0
+ else
+ ghc-options: -O2 -funbox-strict-fields
+ if flag(has-llvm)
+ ghc-options: -fllvm
+ default-language: Haskell2010
+
+benchmark bench
+ type: exitcode-stdio-1.0
+ main-is: Benchmark.hs
+ hs-source-dirs:
+ benchmark
+ ghc-options: -Wall -fwarn-identities -fwarn-incomplete-record-updates -fwarn-incomplete-uni-patterns -fwarn-tabs
+ build-depends:
+ base
+ , deepseq
+ , filepath >=1.0 && <2
+ , path >=0.0.0 && <0.9
+ , path-io >=0.1.0 && <1.7
+ , text
+ , unicode-transforms
+ if flag(use-gauge)
+ build-depends: gauge >=0.2.0 && <0.3
+ else
+ build-depends: tasty-bench>= 0.2.5 && <0.4
+ mixins: tasty-bench (Test.Tasty.Bench as Gauge.Main)
+ if flag(dev)
+ ghc-options: -O0
+ else
+ ghc-options: -O2 -funbox-strict-fields
+ if flag(has-llvm)
+ ghc-options: -fllvm
+ if flag(has-icu)
+ cpp-options: -DBENCH_ICU
+ build-depends:
+ text-icu
+ if impl(ghc < 7.10)
+ build-depends:
+ path (<0.5.12 || >0.5.12)
+ default-language: Haskell2010
+
+executable chart
+ default-language: Haskell2010
+ hs-source-dirs: benchmark
+ main-is: Chart.hs
+ if flag(bench-show)
+ buildable: True
+ build-Depends:
+ base
+ , bench-show >= 0.3 && < 0.4
+ , split
+ , transformers >= 0.4 && < 0.6
+ else
+ buildable: False