ghc-generic-deriving/ghc-generic-deriving.spec

238 lines
7.8 KiB
RPMSpec
Raw Normal View History

2021-07-07 16:30:11 +00:00
# generated by cabal-rpm-2.0.9
2020-06-04 11:26:25 +00:00
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
2017-08-28 23:50:01 +00:00
%global pkg_name generic-deriving
%global pkgver %{pkg_name}-%{version}
2020-02-20 14:18:01 +00:00
%bcond_without tests
2017-08-28 23:50:01 +00:00
Name: ghc-%{pkg_name}
2022-06-07 05:26:32 +00:00
Version: 1.14.1
Release: 2%{?dist}
2017-08-28 23:50:01 +00:00
Summary: Generic programming library for generalised deriving
License: BSD
Url: https://hackage.haskell.org/package/%{pkg_name}
2019-02-17 14:44:43 +00:00
# Begin cabal-rpm sources:
2017-08-28 23:50:01 +00:00
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
2019-02-17 14:44:43 +00:00
# End cabal-rpm sources
2017-08-28 23:50:01 +00:00
2019-02-17 14:44:43 +00:00
# Begin cabal-rpm deps:
2017-08-28 23:50:01 +00:00
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-base-prof
BuildRequires: ghc-containers-prof
BuildRequires: ghc-template-haskell-prof
BuildRequires: ghc-th-abstraction-prof
2017-08-28 23:50:01 +00:00
%if %{with tests}
BuildRequires: ghc-hspec-devel
2020-06-19 08:55:02 +00:00
BuildRequires: ghc-hspec-discover-devel
2017-08-28 23:50:01 +00:00
%endif
# End cabal-rpm deps
%description
This package provides functionality for generalising the deriving mechanism in
Haskell to arbitrary classes. It was first described in the paper:
* /A generic deriving mechanism for Haskell/. Jose Pedro Magalhaes, Atze
Dijkstra, Johan Jeuring, and Andres Loeh. Haskell'10.
The current implementation integrates with the new GHC Generics. See
<http://www.haskell.org/haskellwiki/GHC.Generics> for more information.
Template Haskell code is provided for supporting older GHCs.
2021-08-05 04:12:55 +00:00
This library is organized as follows:
* "Generics.Deriving.Base" defines the core functionality for GHC generics,
including the 'Generic(1)' classes and representation data types. On modern
versions of GHC, this simply re-exports "GHC.Generics" from 'base'. On older
versions of GHC, this module backports parts of "GHC.Generics" that were not
included at the time, including 'Generic(1)' instances.
* "Generics.Deriving.TH" implements Template Haskell functionality for deriving
instances of 'Generic(1)'.
* Educational code: in order to provide examples of how to define and use
"GHC.Generics"-based defaults, this library offers a number of modules which
define examples of type classes along with default implementations for the
classes' methods. Currently, the following modules are provided:
"Generics.Deriving.Copoint", "Generics.Deriving.ConNames",
"Generics.Deriving.Enum", "Generics.Deriving.Eq", "Generics.Deriving.Foldable",
"Generics.Deriving.Functor", "Generics.Deriving.Monoid",
"Generics.Deriving.Semigroup", "Generics.Deriving.Show",
"Generics.Deriving.Traversable", and "Generics.Deriving.Uniplate".
It is worth emphasizing that these modules are primarly intended for
educational purposes. Many of the classes in these modules resemble other
commonly used classes—for example, 'GShow' from "Generics.Deriving.Show"
resembles 'Show' from 'base'—but in general, the classes that
'generic-deriving' defines are not drop-in replacements. Moreover, the generic
defaults that 'generic-deriving' provide often make simplifying assumptions
that may violate expectations of how these classes might work elsewhere.
For example, the generic default for 'GShow' does not behave exactly like
'deriving Show' would.
If you are seeking "GHC.Generics"-based defaults for type classes in 'base',
consider using the '<http://hackage.haskell.org/package/generic-data
generic-data>' library.
* "Generics.Deriving.Default" provides newtypes that allow leveraging the
generic defaults in this library using the 'DerivingVia' GHC language
extension.
* "Generics.Deriving" re-exports "Generics.Deriving.Base",
"Generics.Deriving.Default", and a selection of educational modules.
2017-08-28 23:50:01 +00:00
%package devel
Summary: Haskell %{pkg_name} library development files
Provides: %{name}-static = %{version}-%{release}
Provides: %{name}-static%{?_isa} = %{version}-%{release}
2018-01-24 13:11:09 +00:00
%if %{defined ghc_version}
2017-08-28 23:50:01 +00:00
Requires: ghc-compiler = %{ghc_version}
2018-01-24 13:11:09 +00:00
%endif
2017-08-28 23:50:01 +00:00
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package provides the Haskell %{pkg_name} library development
files.
2017-08-28 23:50:01 +00:00
%if %{with haddock}
%package doc
Summary: Haskell %{pkg_name} library documentation
2020-02-08 14:50:15 +00:00
BuildArch: noarch
2021-07-07 16:30:11 +00:00
Requires: ghc-filesystem
2017-08-28 23:50:01 +00:00
%description doc
This package provides the Haskell %{pkg_name} library documentation.
%endif
2017-08-28 23:50:01 +00:00
%if %{with ghc_prof}
%package prof
Summary: Haskell %{pkg_name} profiling library
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
2020-02-08 14:50:15 +00:00
Supplements: (%{name}-devel and ghc-prof)
%description prof
This package provides the Haskell %{pkg_name} profiling library.
%endif
2017-08-28 23:50:01 +00:00
%prep
2019-02-17 14:44:43 +00:00
# Begin cabal-rpm setup:
2017-08-28 23:50:01 +00:00
%setup -q -n %{pkgver}
2019-02-17 14:44:43 +00:00
# End cabal-rpm setup
2017-08-28 23:50:01 +00:00
%build
2019-02-17 14:44:43 +00:00
# Begin cabal-rpm build:
2017-08-28 23:50:01 +00:00
%ghc_lib_build
2019-02-17 14:44:43 +00:00
# End cabal-rpm build
2017-08-28 23:50:01 +00:00
%install
2019-02-17 14:44:43 +00:00
# Begin cabal-rpm install
2017-08-28 23:50:01 +00:00
%ghc_lib_install
2019-02-17 14:44:43 +00:00
# End cabal-rpm install
2017-08-28 23:50:01 +00:00
%check
2021-07-07 16:30:11 +00:00
%if %{with tests}
2017-08-28 23:50:01 +00:00
%cabal_test
2021-07-07 16:30:11 +00:00
%endif
2017-08-28 23:50:01 +00:00
%files -f %{name}.files
2019-02-17 14:44:43 +00:00
# Begin cabal-rpm files:
2017-08-28 23:50:01 +00:00
%license LICENSE
2019-02-17 14:44:43 +00:00
# End cabal-rpm files
2017-08-28 23:50:01 +00:00
%files devel -f %{name}-devel.files
2017-08-28 23:50:01 +00:00
%doc CHANGELOG.md README.md
%if %{with haddock}
%files doc -f %{name}-doc.files
2020-02-08 14:50:15 +00:00
%license LICENSE
%endif
%if %{with ghc_prof}
%files prof -f %{name}-prof.files
2018-09-13 09:46:04 +00:00
%endif
2017-08-28 23:50:01 +00:00
%changelog
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
2022-06-07 05:26:32 +00:00
* Tue Jun 07 2022 Jens Petersen <petersen@redhat.com> - 1.14.1-1
- https://hackage.haskell.org/package/generic-deriving-1.14.1/changelog
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
2021-08-05 04:12:55 +00:00
* Thu Aug 5 2021 Jens Petersen <petersen@redhat.com> - 1.14-1
- update to 1.14
2021-08-05 03:55:47 +00:00
* Thu Aug 5 2021 Jens Petersen <petersen@redhat.com> - 1.13.1-5
- revised .cabal
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-06-07 18:02:43 +00:00
* Sun Jun 07 2020 Jens Petersen <petersen@redhat.com> - 1.13.1-1
- update to 1.13.1
2020-02-20 14:18:01 +00:00
* Thu Feb 20 2020 Jens Petersen <petersen@redhat.com> - 1.12.4-4
- enable tests
2020-02-08 14:50:15 +00:00
* Wed Feb 19 2020 Jens Petersen <petersen@redhat.com> - 1.12.4-3
- refresh to cabal-rpm-2.0.2
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2019-07-25 15:43:04 +00:00
* Thu Jul 25 2019 Jens Petersen <petersen@redhat.com> - 1.12.4-1
- update to 1.12.4
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2019-02-17 14:44:43 +00:00
* Sun Feb 17 2019 Jens Petersen <petersen@redhat.com> - 1.12.2-4
- refresh to cabal-rpm-0.13
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
2018-07-09 05:06:22 +00:00
* Mon Jul 09 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.12.2-1
- update to 1.12.2
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
2018-01-24 14:31:20 +00:00
* Wed Jan 24 2018 Jens Petersen <petersen@redhat.com> - 1.12-1
- update to 1.12
2017-08-28 23:50:01 +00:00
* Sat Aug 26 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> 1.11.2-3
- Minor fixes to devel-doc subpackage.
* Sat Aug 26 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> 1.11.2-2
- Split documentation into separate subpackage.
- Update to latest spec template.
* Sat Jul 22 2017 Fedora Haskell SIG <haskell@lists.fedoraproject.org> - 1.11.2-1
- spec file generated by cabal-rpm-0.11