diff options
Diffstat (limited to 'ghc-indexed-traversable.spec')
-rw-r--r-- | ghc-indexed-traversable.spec | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/ghc-indexed-traversable.spec b/ghc-indexed-traversable.spec new file mode 100644 index 0000000..d1aa5af --- /dev/null +++ b/ghc-indexed-traversable.spec @@ -0,0 +1,97 @@ +%global pkg_name indexed-traversable +%global pkgver %{pkg_name}-%{version} +Name: ghc-%{pkg_name} +Version: 0.1.2.1 +Release: 1 +Summary: FunctorWithIndex, FoldableWithIndex, TraversableWithIndex +License: BSD-2-Clause +URL: https://hackage.haskell.org/package/%{pkg_name} +Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-array-devel +BuildRequires: ghc-array-prof +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof +BuildRequires: ghc-containers-devel +BuildRequires: ghc-containers-prof +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-transformers-devel +BuildRequires: ghc-transformers-prof +ExcludeArch: %{ix86} + +%description +This package provides three useful generalizations: + +' class Functor f => FunctorWithIndex i f | f -> i where imap :: (i -> a -> b) +-> f a -> f b ' + +' class Foldable f => FoldableWithIndex i f | f -> i where ifoldMap :: Monoid m +=> (i -> a -> m) -> f a -> m ' + +' class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) => +TraversableWithIndex i t | t -> i where itraverse :: Applicative f => (i -> a +-> f b) -> t a -> f (t b) ' + +This package contains instances for types in GHC boot libraries. For some +additional instances see +[indexed-traversable-instances](https://hackage.haskell.org/package/indexed-traversable-instances). + +The [keys](https://hackage.haskell.org/package/keys) package provides similar +functionality, but uses (associated) 'TypeFamilies' instead of +'FunctionalDependencies'. + +%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} + +%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 Changelog.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> 0.1.2.1-1 +- Initial packaging (Version 0.1.2.1) |