%global pkg_name neither %global common_summary Either with monad and applicative instances %global common_description The standard Either datatype suffers from a lack of monad and \ applicative instances. To make matters worse, the mtl and \ transformers packages provide orphan instances which conflict \ with each other, as well as defining a transformer version \ which has an usually unnecessary superclass constraint. \ \ Besides these annoyances, there is another issue: there exist \ two reasonable definitions of the Applicative instance for \ Either: one the holds onto only the first Left value, or one \ that appends all Left values together via a Monoid instance. \ The former is compatible with the monad instance, while the \ latter is not. \ \ This package defines three datatypes, some helpers functions \ and instances. The data types are AEither, MEither and \ MEitherT. AEither provides an Applicative instance which \ appends Left values, MEither provides the monadic definition, \ and MEitherT is a monad transformer. %global ghc_pkg_deps ghc-failure-devel, ghc-transformers-devel %bcond_without shared %bcond_without hscolour # debuginfo is not useful for ghc %global debug_package %{nil} Name: ghc-%{pkg_name} Version: 0.1.0 Release: 1%{?dist} Summary: %{common_summary} Group: System Environment/Libraries License: BSD URL: http://hackage.haskell.org/package/%{pkg_name} Source0: http://hackage.haskell.org/packages/archive/%{pkg_name}/%{version}/%{pkg_name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # fedora ghc archs: ExclusiveArch: %{ix86} x86_64 ppc alpha BuildRequires: ghc, ghc-doc, ghc-prof BuildRequires: ghc-rpm-macros >= 0.7.0 %if %{with hscolour} BuildRequires: hscolour %endif %{?ghc_pkg_deps:BuildRequires: %{ghc_pkg_deps}, %(echo %{ghc_pkg_deps} | sed -e "s/\(ghc-[^, ]\+\)-devel/\1-doc,\1-prof/g")} %{?ghc_pkg_c_deps:BuildRequires: %{ghc_pkg_c_deps}} %description %{common_description} %if %{with shared} This package provides the shared library. %endif %prep %setup -q -n %{pkg_name}-%{version} %build %ghc_lib_build %install rm -rf %{buildroot} %ghc_lib_install %clean rm -rf %{buildroot} %{?ghc_lib_package} %changelog * Sat Oct 30 2010 Ben Boeckel <mathstuf@gmail.com> - 0.1.0-1 - Update to 0.1.0 * Sat Sep 04 2010 Ben Boeckel <mathstuf@gmail.com> - 0.0.2-1 - Initial package * Sat Sep 4 2010 Fedora Haskell SIG <haskell-devel@lists.fedoraproject.org> - 0.0.2-0 - initial packaging for Fedora automatically generated by cabal2spec-0.22.2