# generated by cabal-rpm-2.0.6 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name strict %global pkgver %{pkg_name}-%{version} Name: ghc-%{pkg_name} Version: 0.4.0.1 Release: 1%{?dist} Summary: Strict data types and String IO License: BSD 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-assoc-prof BuildRequires: ghc-base-prof BuildRequires: ghc-binary-prof BuildRequires: ghc-bytestring-prof BuildRequires: ghc-deepseq-prof BuildRequires: ghc-hashable-prof BuildRequires: ghc-text-prof BuildRequires: ghc-these-prof BuildRequires: ghc-transformers-prof # End cabal-rpm deps %description This package provides strict versions of some standard Haskell data types (pairs, Maybe and Either). It also contains strict IO operations. It is common knowledge that lazy datastructures can lead to space-leaks. This problem is particularly prominent, when using lazy datastructures to store the state of a long-running application in memory. One common solution to this problem is to use 'seq' and its variants in every piece of code that updates your state. However a much easier solution is to use fully strict types to store such state values. By "fully strict types" we mean types for whose values it holds that, if they are in weak-head normal form, then they are also in normal form. Intuitively, this means that values of fully strict types cannot contain unevaluated thunks. To define a fully strict datatype, one typically uses the following recipe. 1. Make all fields of every constructor strict; i.e., add a bang to all fields. 2. Use only strict types for the fields of the constructors. The second requirement is problematic as it rules out the use of the standard Haskell 'Maybe', 'Either', and pair types. This library solves this problem by providing strict variants of these types and their corresponding standard support functions and type-class instances. Note that this library does currently not provide fully strict lists. They can be added if they are really required. However, in many cases one probably wants to use unboxed or strict boxed vectors from the 'vector' library () instead of strict lists. Moreover, instead of 'String's one probably wants to use strict 'Text' values from the 'text' library (). This library comes with batteries included; i.e., mirror functions and instances of the lazy versions in 'base'. It also includes instances for type-classes from the 'deepseq', 'binary', and 'hashable' packages. %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 %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.md %if %{with haddock} %files doc -f %{name}-doc.files %license LICENSE %endif %if %{with ghc_prof} %files prof -f %{name}-prof.files %endif %changelog * Thu Aug 5 2021 Jens Petersen - 0.4.0.1-1 - update to 0.4.0.1 * Thu Jul 22 2021 Fedora Release Engineering - 0.3.2-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 0.3.2-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sat Aug 01 2020 Fedora Release Engineering - 0.3.2-29 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 0.3.2-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Fri Jul 17 2020 Jens Petersen - 0.3.2-27 - refresh to cabal-rpm-2.0.6 * Tue Jan 28 2020 Fedora Release Engineering - 0.3.2-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Fri Aug 02 2019 Jens Petersen - 0.3.2-25 - add doc and prof subpackages (cabal-rpm-1.0.0) * Thu Jul 25 2019 Fedora Release Engineering - 0.3.2-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Feb 17 2019 Jens Petersen - 0.3.2-23 - refresh to cabal-rpm-0.13 * Thu Jan 31 2019 Fedora Release Engineering - 0.3.2-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 0.3.2-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 0.3.2-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Jan 26 2018 Jens Petersen - 0.3.2-19 - rebuild * Wed Aug 02 2017 Fedora Release Engineering - 0.3.2-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 0.3.2-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 24 2017 Jens Petersen - 0.3.2-16 - refresh to cabal-rpm-0.11.1 * Fri Feb 10 2017 Fedora Release Engineering - 0.3.2-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Feb 03 2016 Fedora Release Engineering - 0.3.2-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 0.3.2-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Tue Jan 27 2015 Jens Petersen - 0.3.2-12 - cblrpm refresh * Sat Aug 16 2014 Fedora Release Engineering - 0.3.2-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 0.3.2-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Aug 03 2013 Fedora Release Engineering - 0.3.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jun 04 2013 Jens Petersen - 0.3.2-8 - update to new simplified Haskell Packaging Guidelines * Wed Feb 13 2013 Fedora Release Engineering - 0.3.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sat Nov 17 2012 Jens Petersen - 0.3.2-6 - update with cabal-rpm * Thu Jul 19 2012 Fedora Release Engineering - 0.3.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sun Mar 18 2012 Jens Petersen - 0.3.2-4 - update to cabal2spec-0.25 * Fri Jan 13 2012 Fedora Release Engineering - 0.3.2-3.3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Mon Oct 24 2011 Marcela Mašláňová - 0.3.2-2.3 - rebuild with new gmp without compat lib * Fri Oct 21 2011 Marcela Mašláňová - 0.3.2-2.2 - rebuild with new gmp without compat lib * Tue Oct 11 2011 Peter Schiffer - 0.3.2-2.1 - rebuild with new gmp * Tue Jun 14 2011 Lakshmi Narasimhan T V - 0.3.2-2 - Upgrade to cabal2spec-0.22.7 * Tue Apr 12 2011 Lakshmi Narasimhan T V - 0.3.2-1 - License is BSD. * Tue Apr 12 2011 Fedora Haskell SIG - 0.3.2-0 - initial packaging for Fedora automatically generated by cabal2spec-0.22.5