# generated by cabal-rpm-2.1.0 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name semigroupoids %global pkgver %{pkg_name}-%{version} Name: ghc-%{pkg_name} Version: 5.3.7 Release: %autorelease Summary: Semigroupoids: Category sans id License: BSD-2-Clause Url: https://hackage.haskell.org/package/%{pkg_name} # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz # End cabal-rpm sources # Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-base-devel BuildRequires: ghc-base-orphans-devel BuildRequires: ghc-bifunctors-devel BuildRequires: ghc-comonad-devel BuildRequires: ghc-containers-devel BuildRequires: ghc-contravariant-devel BuildRequires: ghc-distributive-devel BuildRequires: ghc-hashable-devel BuildRequires: ghc-tagged-devel BuildRequires: ghc-template-haskell-devel BuildRequires: ghc-transformers-devel BuildRequires: ghc-transformers-compat-devel BuildRequires: ghc-unordered-containers-devel %if %{with ghc_prof} BuildRequires: ghc-base-prof BuildRequires: ghc-base-orphans-prof BuildRequires: ghc-bifunctors-prof BuildRequires: ghc-comonad-prof BuildRequires: ghc-containers-prof BuildRequires: ghc-contravariant-prof BuildRequires: ghc-distributive-prof BuildRequires: ghc-hashable-prof BuildRequires: ghc-tagged-prof BuildRequires: ghc-template-haskell-prof BuildRequires: ghc-transformers-prof BuildRequires: ghc-transformers-compat-prof BuildRequires: ghc-unordered-containers-prof %endif # End cabal-rpm deps %description Provides a wide array of (semi)groupoids and operations for working with them. A 'Semigroupoid' is a 'Category' without the requirement of identity arrows for every object in the category. A 'Category' is any 'Semigroupoid' for which the Yoneda lemma holds. When working with comonads you often have the '<*>' portion of an 'Applicative', but not the 'pure'. This was captured in Uustalu and Vene's "Essence of Dataflow Programming" in the form of the 'ComonadZip' class in the days before 'Applicative'. Apply provides a weaker invariant, but for the comonads used for data flow programming (found in the streams package), this invariant is preserved. Applicative function composition forms a semigroupoid. %package devel Summary: Haskell %{pkg_name} library development files Provides: %{name}-static = %{version}-%{release} Provides: %{name}-static%{?_isa} = %{version}-%{release} %if %{defined ghc_version} Requires: ghc-compiler = %{ghc_version} %endif Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package provides the Haskell %{pkg_name} library development files. %if %{with haddock} %package doc Summary: Haskell %{pkg_name} library documentation BuildArch: noarch Requires: ghc-filesystem %description doc This package provides the Haskell %{pkg_name} library documentation. %endif %if %{with ghc_prof} %package prof Summary: Haskell %{pkg_name} profiling library Requires: %{name}-devel%{?_isa} = %{version}-%{release} Supplements: (%{name}-devel and ghc-prof) %description prof This package provides the Haskell %{pkg_name} profiling library. %endif %prep # Begin cabal-rpm setup: %setup -q -n %{pkgver} # End cabal-rpm setup %build # Begin cabal-rpm build: %ghc_lib_build # End cabal-rpm build %install # Begin cabal-rpm install %ghc_lib_install # End cabal-rpm install %files -f %{name}.files # Begin cabal-rpm files: %license LICENSE # End cabal-rpm files %files devel -f %{name}-devel.files %doc CHANGELOG.markdown README.markdown %if %{with haddock} %files doc -f %{name}-doc.files %license LICENSE %endif %if %{with ghc_prof} %files prof -f %{name}-prof.files %endif %changelog %autochangelog