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 --- .gitignore | 1 + ghc-unicode-data.spec | 89 ++++++++++++++++++++++++++ sources | 1 + unicode-data.cabal | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 261 insertions(+) create mode 100644 ghc-unicode-data.spec create mode 100644 sources create mode 100755 unicode-data.cabal diff --git a/.gitignore b/.gitignore index e69de29..3f45cf0 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/unicode-data-0.4.0.1.tar.gz diff --git a/ghc-unicode-data.spec b/ghc-unicode-data.spec new file mode 100644 index 0000000..d45b102 --- /dev/null +++ b/ghc-unicode-data.spec @@ -0,0 +1,89 @@ +%global pkg_name unicode-data +%global pkgver %{pkg_name}-%{version} +%bcond_with tests + +Name: ghc-%{pkg_name} +Version: 0.4.0.1 +Release: 1 +Summary: Access Unicode Character Database (UCD) +License: Apache-2.0 +URL: https://hackage.haskell.org/package/%{pkg_name} +Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof +BuildRequires: ghc-rpm-macros +ExcludeArch: %{ix86} +%if %{with tests} +BuildRequires: ghc-hspec-devel +BuildRequires: ghc-hspec-prof +%endif + +%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 +''. + +%package devel +Summary: Haskell %{pkg_name} library development files +Requires: %{name} = %{version}-%{release} +Requires: ghc-compiler = %{ghc_version} +Requires(post): ghc-compiler = %{ghc_version} +Requires(postun): ghc-compiler = %{ghc_version} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + +%package -n ghc-%{pkg_name}-help +Summary: Haskell %{pkg_name} library documentation +BuildArch: noarch + +%description -n ghc-%{pkg_name}-help +This package provides the Haskell %{pkg_name} library documentation. + +%package -n ghc-%{pkg_name}-prof +Summary: Haskell %{pkg_name} profiling library +Requires: ghc-%{pkg_name}-devel = %{version}-%{release} +Supplements: (ghc-%{pkg_name}-devel and ghc-prof) + +%description -n ghc-%{pkg_name}-prof +This package provides the Haskell %{pkg_name} profiling library. + +%prep +%autosetup -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal + +%build +%ghc_lib_build + +%install +%ghc_lib_install + +%check +%cabal_test + +%post devel +%ghc_pkg_recache + +%postun devel +%ghc_pkg_recache + +%files -f %{name}.files +%license LICENSE + +%files devel -f %{name}-devel.files +%doc Changelog.md README.md + +%files -n ghc-%{pkg_name}-help -f ghc-%{pkg_name}-help.files +%license LICENSE + +%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files + +%changelog +* Tue Aug 22 2023 Lin Runze 0.4.0.1-1 +- Initial packaging (Version 0.4.0.1) diff --git a/sources b/sources new file mode 100644 index 0000000..2382731 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +10e5b762643adf9d1a25a339825799bc unicode-data-0.4.0.1.tar.gz 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