%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 0.5.3.0-1 - Initial packaging (Version 0.5.3.0)