diff options
author | CoprDistGit <infra@openeuler.org> | 2023-10-26 22:54:43 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-10-26 22:54:43 +0000 |
commit | f0d00d0531a621ee777cc2762d38b2447ae4451a (patch) | |
tree | 9aea26473d6dc2ed552de7a7302d08919b97a326 | |
parent | 6949723602cc46a7e01622628790e7e750b452a8 (diff) |
automatic import of ghc-cassavaopeneuler23.09
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | cassava.cabal | 207 | ||||
-rw-r--r-- | ghc-cassava.spec | 142 | ||||
-rw-r--r-- | sources | 1 |
4 files changed, 351 insertions, 0 deletions
@@ -0,0 +1 @@ +/cassava-0.5.3.0.tar.gz diff --git a/cassava.cabal b/cassava.cabal new file mode 100755 index 0000000..e9448dd --- /dev/null +++ b/cassava.cabal @@ -0,0 +1,207 @@ +cabal-version: 1.12 +Name: cassava +Version: 0.5.3.0 +x-revision: 4 +Synopsis: A CSV parsing and encoding library +Description: { + +@cassava@ is a library for parsing and encoding [RFC 4180](https://tools.ietf.org/html/rfc4180) +compliant [comma-separated values (CSV)](https://en.wikipedia.org/wiki/Comma-separated_values) data, +which is a textual line-oriented format commonly used for exchanging tabular data. +. +@cassava@'s API includes support for +. +- Index-based record-conversion +- Name-based record-conversion +- Typeclass directed conversion of fields and records +- Built-in field-conversion instances for standard types +- Customizable record-conversion instance derivation via GHC generics +- Low-level [bytestring](https://hackage.haskell.org/package/bytestring) builders (see "Data.Csv.Builder") +- Incremental decoding and encoding API (see "Data.Csv.Incremental") +- Streaming API for constant-space decoding (see "Data.Csv.Streaming") +. +Moreover, this library is designed to be easy to use; for instance, here's a +very simple example of encoding CSV data: +. +>>> Data.Csv.encode [("John",27),("Jane",28)] +"John,27\r\nJane,28\r\n" +. +Please refer to the documentation in "Data.Csv" and the included [README](#readme) for more usage examples. + +} +Homepage: https://github.com/haskell-hvr/cassava +License: BSD3 +License-file: LICENSE +Bug-reports: https://github.com/haskell-hvr/cassava/issues +Copyright: (c) 2012 Johan Tibell + (c) 2012 Bryan O'Sullivan + (c) 2011 MailRank, Inc. +Author: Johan Tibell +Maintainer: https://github.com/haskell-hvr/cassava +Category: Text, Web, CSV +Build-type: Simple +Extra-source-files: examples/*.hs, + CHANGES.md, + README.md +Tested-with: + GHC == 9.8.0 + GHC == 9.6.2 + GHC == 9.4.7 + GHC == 9.2.8 + GHC == 9.0.2 + GHC == 8.10.7 + GHC == 8.8.4 + GHC == 8.6.5 + GHC == 8.4.4 + GHC == 8.2.2 + GHC == 8.0.2 + GHC == 7.10.3 + GHC == 7.8.4 + GHC == 7.6.3 + GHC == 7.4.2 + +---------------------------------------------------------------------------- + +source-repository head + type: git + location: https://github.com/haskell-hvr/cassava.git + +flag bytestring--LT-0_10_4 + description: [bytestring](https://hackage.haskell.org/haskell/package/bytestring) < 0.10.4 + default: False + manual: False + +Library + default-language: Haskell2010 + other-extensions: + BangPatterns + CPP + DataKinds + DefaultSignatures + DeriveFunctor + FlexibleContexts + FlexibleInstances + KindSignatures + MultiParamTypeClasses + OverloadedStrings + PolyKinds + Rank2Types + ScopedTypeVariables + TypeOperators + UndecidableInstances + + if impl(ghc >= 8.0) + other-extensions: + DataKinds + PolyKinds + + hs-source-dirs: src + + Exposed-modules: + Data.Csv + Data.Csv.Builder + Data.Csv.Incremental + Data.Csv.Parser + Data.Csv.Streaming + + Other-modules: + Data.Csv.Conversion + Data.Csv.Conversion.Internal + Data.Csv.Encoding + Data.Csv.Types + Data.Csv.Util + + Build-depends: + base >= 4.5 && < 5 + , array >= 0.4 && < 0.6 + , attoparsec >= 0.11.3.0 && < 0.15 + , bytestring >= 0.9.2 && < 0.13 + , containers >= 0.4.2 && < 0.7 + , deepseq >= 1.1 && < 1.6 + , hashable < 1.5 + , scientific >= 0.3.4.7 && < 0.4 + , text < 2.2 + , transformers >= 0.2 && < 0.7 + , unordered-containers < 0.3 + , vector >= 0.8 && < 0.14 + , Only >= 0.1 && < 0.1.1 + + if flag(bytestring--LT-0_10_4) + build-depends: bytestring < 0.10.4 + , bytestring-builder >= 0.10.8 && < 0.11 + else + build-depends: bytestring >= 0.10.4 + , text-short == 0.1.* + + -- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only + if impl(ghc < 7.6) + build-depends: ghc-prim == 0.2.* + + -- For Numeric.Natural + if impl(ghc < 7.10) + build-depends: nats >= 1 && < 1.2 + + -- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility + if impl(ghc >= 8.0) + ghc-options: -Wcompat -Wnoncanonical-monad-instances + if impl(ghc >= 8.8) + ghc-options: -Wno-star-is-type + else + ghc-options: -Wnoncanonical-monadfail-instances + else + -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8 + build-depends: fail == 4.9.*, semigroups >= 0.18.2 && <0.20 + + if impl(ghc >= 8.2) + ghc-options: -Wcpp-undef + + ghc-options: -Wall + +---------------------------------------------------------------------------- + +Test-suite unit-tests + default-language: Haskell2010 + + Type: exitcode-stdio-1.0 + Main-is: UnitTests.hs + -- dependencies with version constraints inherited via lib:cassava + Build-depends: attoparsec + , base + , bytestring + , cassava + , hashable + , scientific + , text + , unordered-containers + , vector + -- extra dependencies not already used by lib:cassava + build-depends: HUnit < 1.7 + , QuickCheck == 2.14.* + , quickcheck-instances >= 0.3.12 && < 0.4 + , test-framework == 0.8.* + , test-framework-hunit == 0.3.* + , test-framework-quickcheck2 == 0.3.* + + hs-source-dirs: tests + + -- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only + if impl(ghc < 7.6) + build-depends: ghc-prim == 0.2.* + + -- For Numeric.Natural + if impl(ghc < 7.10) + build-depends: nats + + -- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility + if impl(ghc >= 8.0) + ghc-options: -Wcompat -Wnoncanonical-monad-instances + if impl(ghc < 8.8) + ghc-options: -Wnoncanonical-monadfail-instances + else + -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8 + build-depends: fail, semigroups + + if impl(ghc >= 8.2) + ghc-options: -Wcpp-undef + + ghc-options: -Wall diff --git a/ghc-cassava.spec b/ghc-cassava.spec new file mode 100644 index 0000000..8df753c --- /dev/null +++ b/ghc-cassava.spec @@ -0,0 +1,142 @@ +%global pkg_name cassava +%global pkgver %{pkg_name}-%{version} +%bcond_with tests + +Name: ghc-%{pkg_name} +Version: 0.5.3.0 +Release: 1 +Summary: A CSV parsing and encoding library +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/4.cabal#/%{pkg_name}.cabal +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-Only-devel +BuildRequires: ghc-Only-prof +BuildRequires: ghc-array-devel +BuildRequires: ghc-array-prof +BuildRequires: ghc-attoparsec-devel +BuildRequires: ghc-attoparsec-prof +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-bytestring-prof +BuildRequires: ghc-containers-devel +BuildRequires: ghc-containers-prof +BuildRequires: ghc-deepseq-devel +BuildRequires: ghc-deepseq-prof +BuildRequires: ghc-hashable-devel +BuildRequires: ghc-hashable-prof +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-scientific-devel +BuildRequires: ghc-scientific-prof +BuildRequires: ghc-text-devel +BuildRequires: ghc-text-prof +BuildRequires: ghc-text-short-devel +BuildRequires: ghc-text-short-prof +BuildRequires: ghc-transformers-devel +BuildRequires: ghc-transformers-prof +BuildRequires: ghc-unordered-containers-devel +BuildRequires: ghc-unordered-containers-prof +BuildRequires: ghc-vector-devel +BuildRequires: ghc-vector-prof +ExcludeArch: %{ix86} +%if %{with tests} +BuildRequires: ghc-HUnit-devel +BuildRequires: ghc-HUnit-prof +BuildRequires: ghc-QuickCheck-devel +BuildRequires: ghc-QuickCheck-prof +BuildRequires: ghc-quickcheck-instances-devel +BuildRequires: ghc-quickcheck-instances-prof +BuildRequires: ghc-test-framework-devel +BuildRequires: ghc-test-framework-hunit-devel +BuildRequires: ghc-test-framework-hunit-prof +BuildRequires: ghc-test-framework-prof +BuildRequires: ghc-test-framework-quickcheck2-devel +BuildRequires: ghc-test-framework-quickcheck2-prof +%endif + +%description +'cassava' is a library for parsing and encoding [RFC +4180](https://tools.ietf.org/html/rfc4180) compliant [comma-separated values +(CSV)](https://en.wikipedia.org/wiki/Comma-separated_values) data, which is a +textual line-oriented format commonly used for exchanging tabular data. + +'cassava''s API includes support for + +- Index-based record-conversion - Name-based record-conversion - Typeclass +directed conversion of fields and records - Built-in field-conversion instances +for standard types - Customizable record-conversion instance derivation via GHC +generics - Low-level +[bytestring](https://hackage.haskell.org/package/bytestring) builders (see +"Data.Csv.Builder") - Incremental decoding and encoding API (see +"Data.Csv.Incremental") - Streaming API for constant-space decoding (see +"Data.Csv.Streaming") + +Moreover, this library is designed to be easy to use; for instance, here's a +very simple example of encoding CSV data: + +>>> Data.Csv.encode [("John",27),("Jane",28)] "John,27rnJane,28rn" + +Please refer to the documentation in "Data.Csv" and the included +[README](#readme) for more usage examples. + +%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 +%define cabal_configure_options -f-bytestring--lt-0_10_4 +%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 CHANGES.md README.md examples + +%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.5.3.0-1 +- Initial packaging (Version 0.5.3.0) @@ -0,0 +1 @@ +8a020f101ae30c4004cea5ec5af72348 cassava-0.5.3.0.tar.gz |