ghc-criterion/ghc-criterion.spec

308 lines
9.6 KiB
RPMSpec

# generated by cabal-rpm-2.1.0 --subpackage
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
%global pkg_name criterion
%global pkgver %{pkg_name}-%{version}
%global criterionmeasurement criterion-measurement-0.1.3.0
%global binaryorphans binary-orphans-1.0.1
%global jschart js-chart-2.9.4.1
%global subpkgs %{criterionmeasurement} %{binaryorphans} %{jschart}
# binary-orphans's testsuite bounds
%bcond_with tests
Name: ghc-%{pkg_name}
Version: 1.5.13.0
# can only be reset when all subpkgs bumped
Release: 14%{?dist}
Summary: Robust, reliable performance measurement and analysis
License: BSD-3-Clause
Url: https://hackage.haskell.org/package/%{pkg_name}
# Begin cabal-rpm sources:
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
Source1: https://hackage.haskell.org/package/%{criterionmeasurement}/%{criterionmeasurement}.tar.gz
Source2: https://hackage.haskell.org/package/%{binaryorphans}/%{binaryorphans}.tar.gz
Source3: https://hackage.haskell.org/package/%{jschart}/%{jschart}.tar.gz
Source4: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal
# End cabal-rpm sources
# Begin cabal-rpm deps:
BuildRequires: dos2unix
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros-extra
BuildRequires: ghc-Glob-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-ansi-wl-pprint-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-compat-batteries-devel
BuildRequires: ghc-binary-devel
#BuildRequires: ghc-binary-orphans-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-cassava-devel
BuildRequires: ghc-code-page-devel
BuildRequires: ghc-containers-devel
#BuildRequires: ghc-criterion-measurement-devel
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-exceptions-devel
BuildRequires: ghc-filepath-devel
#BuildRequires: ghc-js-chart-devel
BuildRequires: ghc-microstache-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-mwc-random-devel
BuildRequires: ghc-optparse-applicative-devel
BuildRequires: ghc-parsec-devel
BuildRequires: ghc-statistics-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-time-devel
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-transformers-compat-devel
BuildRequires: ghc-vector-devel
BuildRequires: ghc-vector-algorithms-devel
%if %{with ghc_prof}
BuildRequires: ghc-Glob-prof
BuildRequires: ghc-aeson-prof
BuildRequires: ghc-ansi-wl-pprint-prof
BuildRequires: ghc-base-prof
BuildRequires: ghc-base-compat-batteries-prof
BuildRequires: ghc-binary-prof
#BuildRequires: ghc-binary-orphans-prof
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-cassava-prof
BuildRequires: ghc-code-page-prof
BuildRequires: ghc-containers-prof
#BuildRequires: ghc-criterion-measurement-prof
BuildRequires: ghc-deepseq-prof
BuildRequires: ghc-directory-prof
BuildRequires: ghc-exceptions-prof
BuildRequires: ghc-filepath-prof
#BuildRequires: ghc-js-chart-prof
BuildRequires: ghc-microstache-prof
BuildRequires: ghc-mtl-prof
BuildRequires: ghc-mwc-random-prof
BuildRequires: ghc-optparse-applicative-prof
BuildRequires: ghc-parsec-prof
BuildRequires: ghc-statistics-prof
BuildRequires: ghc-text-prof
BuildRequires: ghc-time-prof
BuildRequires: ghc-transformers-prof
BuildRequires: ghc-transformers-compat-prof
BuildRequires: ghc-vector-prof
BuildRequires: ghc-vector-algorithms-prof
%endif
%if %{with tests}
BuildRequires: ghc-HUnit-devel
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-base-compat-devel
BuildRequires: ghc-tasty-devel
BuildRequires: ghc-tasty-hunit-devel
BuildRequires: ghc-tasty-quickcheck-devel
%endif
# for missing dep 'criterion-measurement':
BuildRequires: ghc-base-compat-devel
%if %{with ghc_prof}
BuildRequires: ghc-base-compat-prof
%endif
# End cabal-rpm deps
%description
This library provides a powerful but simple way to measure software
performance. It provides both a framework for executing and analysing
benchmarks and a set of driver functions that makes it easy to build and run
benchmarks, and to analyse their results.
The fastest way to get started is to read the
<http://www.serpentine.com/criterion/tutorial.html online tutorial>, followed
by the documentation and examples in the "Criterion.Main" module.
For examples of the kinds of reports that criterion generates, see
<http://www.serpentine.com/criterion the home page>.
%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
%global main_version %{version}
%if %{defined ghclibdir}
%ghc_lib_subpackage %{criterionmeasurement}
%ghc_lib_subpackage %{binaryorphans}
%ghc_lib_subpackage %{jschart}
%endif
%global version %{main_version}
%prep
# Begin cabal-rpm setup:
%setup -q -n %{pkgver} -a1 -a2 -a3
dos2unix -k -n %{SOURCE4} %{pkg_name}.cabal
# End cabal-rpm setup
(
cd %{binaryorphans}
cabal-tweak-dep-ver base '<4.14' '<4.17'
cabal-tweak-dep-ver binary '<0.8.7' '<0.9'
)
%build
# Begin cabal-rpm build:
%ghc_libs_build %{subpkgs}
%ghc_lib_build
# End cabal-rpm build
%install
# Begin cabal-rpm install
%ghc_libs_install %{subpkgs}
%ghc_lib_install
# End cabal-rpm install
echo "%{_datadir}/%{jschart}/Chart.*.*" >> %{jschart}/ghc-js-chart.files
%check
%if %{with tests}
%cabal_test
%endif
%files -f %{name}.files
# Begin cabal-rpm files:
%license LICENSE
%{_datadir}/%{pkgver}
# End cabal-rpm files
%files devel -f %{name}-devel.files
%doc README.markdown changelog.md examples
%{_bindir}/criterion-report
%if %{with haddock}
%files doc -f %{name}-doc.files
%license LICENSE
%endif
%if %{with ghc_prof}
%files prof -f %{name}-prof.files
%endif
%changelog
* Fri Feb 17 2023 Jens Petersen <petersen@redhat.com> - 1.5.13.0-14
- refresh to cabal-rpm-2.1.0 with SPDX migration
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.13.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 07 2022 Jens Petersen <petersen@redhat.com> - 1.5.13.0-12
- https://hackage.haskell.org/package/criterion-1.5.13.0/changelog
* Thu Mar 10 2022 Jens Petersen <petersen@redhat.com> - 1.5.9.0-11
- rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.9.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 1.5.9.0-9
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
* Sun Aug 8 2021 Jens Petersen <petersen@redhat.com> - 1.5.9.0-8
- update to 1.5.9.0
- subpackage js-chart
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.6.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.6.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.6.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun Jun 07 2020 Jens Petersen <petersen@redhat.com> - 1.5.6.2-4
- update to 1.5.6.2
* Fri Feb 14 2020 Jens Petersen <petersen@redhat.com> - 1.5.6.1-3
- update to 1.5.6.1
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Jens Petersen <petersen@redhat.com> - 1.5.5.0-1
- update to 1.5.5.0
- subpackage criterion-measurement
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Feb 21 2019 Jens Petersen <petersen@redhat.com> - 1.4.1.0-1
- update to 1.4.1.0
* Sun Feb 17 2019 Jens Petersen <petersen@redhat.com> - 1.3.0.0-7
- refresh to cabal-rpm-0.13
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 28 2018 Jens Petersen <petersen@redhat.com> - 1.3.0.0-5
- revise .cabal
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 26 2018 Jens Petersen <petersen@redhat.com> - 1.3.0.0-2
- rebuild
* Thu Jan 11 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.3.0.0-1
- Update to latest version.
* Fri Dec 15 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.2.6.0-2
- Split documentation into separate subpackage.
* Thu Dec 14 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.2.6.0-1
- Update to latest version.
* Fri Nov 17 2017 Fedora Haskell SIG <haskell@lists.fedoraproject.org> - 1.2.3.0-1
- spec file generated by cabal-rpm-0.11.2