%global pkg_name uniplate %global pkgver %{pkg_name}-%{version} Name: ghc-%{pkg_name} Version: 1.6.13 Release: 1 Summary: Help writing simple, concise and fast generic operations 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/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-base-devel BuildRequires: ghc-base-prof BuildRequires: ghc-containers-devel BuildRequires: ghc-containers-prof BuildRequires: ghc-hashable-devel BuildRequires: ghc-hashable-prof BuildRequires: ghc-rpm-macros BuildRequires: ghc-syb-devel BuildRequires: ghc-syb-prof BuildRequires: ghc-unordered-containers-devel BuildRequires: ghc-unordered-containers-prof ExcludeArch: %{ix86} %description Uniplate is library for writing simple and concise generic operations. Uniplate has similar goals to the original Scrap Your Boilerplate work, but is substantially simpler and faster. To get started with Uniplate you should import one of the three following modules: * "Data.Generics.Uniplate.Data" - to quickly start writing generic functions. Most users should start by importing this module. * "Data.Generics.Uniplate.Direct" - a replacement for "Data.Generics.Uniplate.Data" with substantially higher performance (around 5 times), but requires writing instance declarations. * "Data.Generics.Uniplate.Operations" - definitions of all the operations defined by Uniplate. Both the above two modules re-export this module. In addition, some users may want to make use of the following modules: * "Data.Generics.Uniplate.Zipper" - a zipper built on top of Uniplate instances. * "Data.Generics.SYB" - users transitioning from the Scrap Your Boilerplate library. * "Data.Generics.Compos" - users transitioning from the Compos library. * "Data.Generics.Uniplate.DataOnly" - users making use of both 'Data' and 'Direct' to avoid getting instance conflicts. %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 %post devel %ghc_pkg_recache %postun devel %ghc_pkg_recache %files -f %{name}.files %license LICENSE %files devel -f %{name}-devel.files %doc CHANGES.txt 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 1.6.13-1 - Initial packaging (Version 1.6.13)