%global pkg_name monad-control %global pkgver %{pkg_name}-%{version} Name: ghc-%{pkg_name} Version: 1.0.3.1 Release: 1 Summary: Lift control operations, like exception catching, through monad transformers 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 BuildRequires: ghc-Cabal-devel BuildRequires: ghc-base-devel BuildRequires: ghc-base-prof BuildRequires: ghc-rpm-macros BuildRequires: ghc-stm-devel BuildRequires: ghc-stm-prof BuildRequires: ghc-transformers-base-devel BuildRequires: ghc-transformers-base-prof BuildRequires: ghc-transformers-compat-devel BuildRequires: ghc-transformers-compat-prof BuildRequires: ghc-transformers-devel BuildRequires: ghc-transformers-prof ExcludeArch: %{ix86} %description This package defines the type class 'MonadBaseControl', a subset of 'MonadBase' into which generic control operations such as 'catch' can be lifted from 'IO' or any other base monad. Instances are based on monad transformers in 'MonadTransControl', which includes all standard monad transformers in the 'transformers' library except 'ContT'. See the package which uses 'monad-control' to lift 'IO' operations from the 'base' library (like 'catch' or 'bracket') into any monad that is an instance of 'MonadBase' or 'MonadBaseControl'. Note that this package is a rewrite of Anders Kaseorg's 'monad-peel' library. The main difference is that this package provides CPS style operators and exploits the 'RankNTypes' and 'TypeFamilies' language extensions to simplify and speedup most definitions. %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 README.markdown %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 * Thu Sep 28 2023 Lin Runze 1.0.3.1-1 - Initial packaging (Version 1.0.3.1)