diff options
author | CoprDistGit <infra@openeuler.org> | 2023-10-26 23:13:13 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-10-26 23:13:13 +0000 |
commit | 22f8fb2e3cd0857ef841583cd0373d46dcb5bb05 (patch) | |
tree | ef7fe02e2dd02d764ac7d2dc994fa32743ec30b9 | |
parent | 431a20a2815e1279cd3c4ab2f18f38afe892f7dc (diff) |
automatic import of ghc-text-shortopeneuler23.09
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | ghc-text-short.spec | 107 | ||||
-rw-r--r-- | sources | 1 | ||||
-rwxr-xr-x | text-short.cabal | 122 |
4 files changed, 231 insertions, 0 deletions
@@ -0,0 +1 @@ +/text-short-0.1.5.tar.gz diff --git a/ghc-text-short.spec b/ghc-text-short.spec new file mode 100644 index 0000000..2604616 --- /dev/null +++ b/ghc-text-short.spec @@ -0,0 +1,107 @@ +%global pkg_name text-short +%global pkgver %{pkg_name}-%{version} +%bcond_with tests + +Name: ghc-%{pkg_name} +Version: 0.1.5 +Release: 1 +Summary: Memory-efficient representation of Unicode text strings +License: BSD-3-Clause +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/2.cabal#/%{pkg_name}.cabal +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof +BuildRequires: ghc-binary-devel +BuildRequires: ghc-binary-prof +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-bytestring-prof +BuildRequires: ghc-deepseq-devel +BuildRequires: ghc-deepseq-prof +BuildRequires: ghc-hashable-devel +BuildRequires: ghc-hashable-prof +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-template-haskell-devel +BuildRequires: ghc-template-haskell-prof +BuildRequires: ghc-text-devel +BuildRequires: ghc-text-prof +ExcludeArch: %{ix86} +%if %{with tests} +BuildRequires: ghc-tasty-devel +BuildRequires: ghc-tasty-hunit-devel +BuildRequires: ghc-tasty-hunit-prof +BuildRequires: ghc-tasty-prof +BuildRequires: ghc-tasty-quickcheck-devel +BuildRequires: ghc-tasty-quickcheck-prof +%endif + +%description +This package provides the 'ShortText' type which is suitable for keeping many +short strings in memory. This is similiar to how 'ShortByteString' relates to +'ByteString'. + +The main difference between 'Text' and 'ShortText' is that 'ShortText' doesn't +support zero-copy slicing (thereby saving 2 words), and, compared to text-1.*, +that it uses UTF-8 instead of UTF-16 internally. Consequently, the memory +footprint of a (boxed) 'ShortText' value is 4 words (2 words when unboxed) plus +the length of the UTF-8 encoded payload. + +%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 + +%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 <lrzlin@163.com> 0.1.5-1 +- Initial packaging (Version 0.1.5) @@ -0,0 +1 @@ +7226d4c880dec92a3fa3e8036ccd5f3a text-short-0.1.5.tar.gz diff --git a/text-short.cabal b/text-short.cabal new file mode 100755 index 0000000..3c9a3ff --- /dev/null +++ b/text-short.cabal @@ -0,0 +1,122 @@ +cabal-version: 1.18 +name: text-short +version: 0.1.5 +x-revision: 2 +synopsis: Memory-efficient representation of Unicode text strings +license: BSD3 +license-file: LICENSE +author: Herbert Valerio Riedel +maintainer: hvr@gnu.org +bug-reports: https://github.com/hvr/text-short/issues +category: Data +build-type: Simple +description: + This package provides the 'ShortText' type which is suitable for keeping many short strings in memory. This is similiar to how 'ShortByteString' relates to 'ByteString'. + . + The main difference between 'Text' and 'ShortText' is that 'ShortText' doesn't support zero-copy slicing (thereby saving 2 words), and, compared to text-1.*, that it uses UTF-8 instead of UTF-16 internally. Consequently, the memory footprint of a (boxed) 'ShortText' value is 4 words (2 words when unboxed) plus the length of the UTF-8 encoded payload. + +tested-with: + GHC ==7.8.4 + || ==7.10.3 + || ==8.0.2 + || ==8.2.2 + || ==8.4.4 + || ==8.6.5 + || ==8.8.3 + || ==8.10.7 + || ==9.0.2 + || ==9.2.7 + || ==9.4.4 + || ==9.6.1 + +extra-source-files: ChangeLog.md + +source-repository head + type: git + location: https://github.com/hvr/text-short.git + +flag asserts + description: Enable runtime-checks via @assert@ + default: False + manual: True + +library + exposed-modules: + Data.Text.Short + Data.Text.Short.Partial + Data.Text.Short.Unsafe + + other-modules: Data.Text.Short.Internal + build-depends: + base >=4.7 && <4.19 + , binary >=0.7.1 && <0.9 + , bytestring >=0.10.4 && <0.12 + , deepseq >=1.3 && <1.5 + , ghc-prim >=0.3.1 && <0.11 + , hashable >=1.2.6 && <1.5 + , template-haskell >=2.9.0.0 && <2.21 + , text >=1.0 && <1.3 || >=2.0 && <2.1 + + if impl(ghc >=8.0) + build-depends: bytestring >=0.10.8.0 + + if !impl(ghc >=8.0) + build-depends: semigroups >=0.18.2 && <0.21 + + -- GHC version specific PrimOps + if impl(ghc >=8.4) + hs-source-dirs: src-ghc804 + + else + c-sources: cbits/memcmp.c + hs-source-dirs: src-ghc708 + + other-modules: PrimOps + hs-source-dirs: src + default-language: Haskell2010 + other-extensions: + CPP + GeneralizedNewtypeDeriving + MagicHash + Trustworthy + UnliftedFFITypes + Unsafe + + if impl(ghc >=8) + other-extensions: TemplateHaskellQuotes + + else + other-extensions: TemplateHaskell + + c-sources: cbits/cbits.c + + if flag(asserts) + ghc-options: -fno-ignore-asserts + + else + cc-options: -DNDEBUG=1 + + ghc-options: -Wall + cc-options: -Wall + +test-suite tests + type: exitcode-stdio-1.0 + hs-source-dirs: src-test + main-is: Tests.hs + + -- bytestring dependency for cabal_macros.h + build-depends: + base + , binary + , bytestring + , template-haskell + , text + , text-short + + -- deps which don't inherit constraints from library stanza: + build-depends: + tasty >=1.4 && <1.5 + , tasty-hunit >=0.10.0 && <0.11 + , tasty-quickcheck >=0.10 && <0.11 + + default-language: Haskell2010 |