diff options
Diffstat (limited to 'ghc-cassava.spec')
-rw-r--r-- | ghc-cassava.spec | 142 |
1 files changed, 142 insertions, 0 deletions
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) |