diff options
Diffstat (limited to 'ghc-uniplate.spec')
-rw-r--r-- | ghc-uniplate.spec | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/ghc-uniplate.spec b/ghc-uniplate.spec new file mode 100644 index 0000000..f5ce4d7 --- /dev/null +++ b/ghc-uniplate.spec @@ -0,0 +1,111 @@ +%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 <lrzlin@163.com> 1.6.13-1 +- Initial packaging (Version 1.6.13) |