From f03705f840fd2028ff7563c5eaf41a9446939246 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 30 Oct 2023 08:51:25 +0000 Subject: automatic import of ghc-unicode-data --- unicode-data.cabal | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100755 unicode-data.cabal (limited to 'unicode-data.cabal') diff --git a/unicode-data.cabal b/unicode-data.cabal new file mode 100755 index 0000000..1fee486 --- /dev/null +++ b/unicode-data.cabal @@ -0,0 +1,170 @@ +cabal-version: 2.2 +name: unicode-data +version: 0.4.0.1 +x-revision: 1 +synopsis: Access Unicode Character Database (UCD) +description: + @unicode-data@ provides Haskell APIs to efficiently access the + (UCD). + Performance is the primary goal in the design of this package. + . + The Haskell data structures are generated programmatically from the UCD files. + The latest Unicode version supported by this library is + @@. +homepage: http://github.com/composewell/unicode-data +bug-reports: https://github.com/composewell/unicode-data/issues +license: Apache-2.0 +license-file: LICENSE +author: Composewell Technologies and Contributors +maintainer: streamly@composewell.com +copyright: 2020 Composewell Technologies and Contributors +category: Data,Text,Unicode +stability: Experimental +build-type: Simple +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.1 + , GHC==9.2.1 + , GHC==9.4.2 + , GHC==9.6.0 + +extra-source-files: + Changelog.md + README.md + NOTICE + +source-repository head + type: git + location: https://github.com/composewell/unicode-data + +flag ucd2haskell + description: Build the ucd2haskell executable + manual: True + default: False + +common default-extensions + default-extensions: + BangPatterns + DeriveGeneric + MagicHash + RecordWildCards + ScopedTypeVariables + TupleSections + FlexibleContexts + + -- Experimental, may lead to issues + DeriveAnyClass + TemplateHaskell + UnboxedTuples + +common compile-options + ghc-options: -Wall + -fwarn-identities + -fwarn-incomplete-record-updates + -fwarn-incomplete-uni-patterns + -fwarn-tabs + default-language: Haskell2010 + +library + import: default-extensions, compile-options + default-language: Haskell2010 + exposed-modules: + Unicode.Char + -- The module structure is derived from + -- https://www.unicode.org/reports/tr44/#Property_Index_Table + Unicode.Char.Case + Unicode.Char.Case.Compat + Unicode.Char.General + Unicode.Char.General.Blocks + Unicode.Char.General.Compat + Unicode.Char.Identifiers + Unicode.Char.Normalization + Unicode.Char.Numeric + Unicode.Char.Numeric.Compat + + -- Internal files + Unicode.Internal.Bits + Unicode.Internal.Division + Unicode.Internal.Unfold + + -- Generated files + -- This module structure is largely based on the UCD file names from which + -- the properties are generated. + Unicode.Internal.Char.Blocks + Unicode.Internal.Char.CaseFolding + Unicode.Internal.Char.DerivedCoreProperties + Unicode.Internal.Char.DerivedNumericValues + Unicode.Internal.Char.PropList + Unicode.Internal.Char.SpecialCasing.LowerCaseMapping + Unicode.Internal.Char.SpecialCasing.TitleCaseMapping + Unicode.Internal.Char.SpecialCasing.UpperCaseMapping + Unicode.Internal.Char.UnicodeData.CombiningClass + Unicode.Internal.Char.UnicodeData.Compositions + Unicode.Internal.Char.UnicodeData.Decomposable + Unicode.Internal.Char.UnicodeData.DecomposableK + Unicode.Internal.Char.UnicodeData.Decompositions + Unicode.Internal.Char.UnicodeData.DecompositionsK + Unicode.Internal.Char.UnicodeData.DecompositionsK2 + Unicode.Internal.Char.UnicodeData.GeneralCategory + Unicode.Internal.Char.UnicodeData.SimpleLowerCaseMapping + Unicode.Internal.Char.UnicodeData.SimpleTitleCaseMapping + Unicode.Internal.Char.UnicodeData.SimpleUpperCaseMapping + + hs-source-dirs: lib + ghc-options: -O2 + build-depends: + base >=4.7 && <4.19 + +executable ucd2haskell + import: default-extensions, compile-options + default-language: Haskell2010 + ghc-options: -O2 + hs-source-dirs: exe + main-is: UCD2Haskell.hs + other-modules: Parser.Text + if flag(ucd2haskell) + buildable: True + build-depends: + base >= 4.7 && < 4.19 + , containers >= 0.5 && < 0.7 + , directory >= 1.3.6 && < 1.3.9 + , filepath >= 1.4.100 && < 1.5 + , getopt-generics >= 0.13 && < 0.14 + , streamly >= 0.8.0 && < 0.8.1 + else + buildable: False + +test-suite test + import: default-extensions, compile-options + type: exitcode-stdio-1.0 + main-is: Main.hs + hs-source-dirs: + test + other-modules: + Unicode.CharSpec + build-depends: + base >= 4.7 && < 4.19 + , hspec >= 2.0 && < 2.11 + , unicode-data + -- We need to match a GHC version with the same Unicode version. + -- See: test/Unicode/CharSpec.hs for compatibility table. + if impl(ghc >= 9.5.1) + cpp-options: -DCOMPATIBLE_GHC_UNICODE + default-language: Haskell2010 + +benchmark bench + import: default-extensions, compile-options + type: exitcode-stdio-1.0 + hs-source-dirs: bench + main-is: Main.hs + build-depends: + base >= 4.7 && < 4.19, + deepseq >= 1.1 && < 1.5, + tasty-bench >= 0.2.5 && < 0.4, + tasty >= 1.4.1, + unicode-data + ghc-options: -O2 -fdicts-strict -rtsopts -- cgit v1.2.3