Blob Blame History Raw
# generated by cabal-rpm-2.1.0 --stream hackage
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/

%global pkg_name rpmbuild-order
%global pkgver %{pkg_name}-%{version}

%bcond_without tests

Name:           %{pkg_name}
Version:        0.4.10
Release:        2%{?dist}
Summary:        Sort RPM packages in dependency order

License:        BSD-3-Clause
Url:            https://hackage.haskell.org/package/%{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-base-devel
BuildRequires:  ghc-case-insensitive-devel
BuildRequires:  ghc-directory-devel
BuildRequires:  ghc-extra-devel
BuildRequires:  ghc-fgl-devel
BuildRequires:  ghc-filepath-devel
BuildRequires:  ghc-graphviz-devel
BuildRequires:  ghc-optparse-applicative-devel
BuildRequires:  ghc-simple-cmd-devel
BuildRequires:  ghc-simple-cmd-args-devel
%if %{with ghc_prof}
BuildRequires:  ghc-base-prof
BuildRequires:  ghc-case-insensitive-prof
BuildRequires:  ghc-directory-prof
BuildRequires:  ghc-extra-prof
BuildRequires:  ghc-fgl-prof
BuildRequires:  ghc-filepath-prof
BuildRequires:  ghc-graphviz-prof
BuildRequires:  ghc-optparse-applicative-prof
BuildRequires:  ghc-simple-cmd-prof
BuildRequires:  ghc-simple-cmd-args-prof
%endif
%if %{with tests}
BuildRequires:  ghc-hspec-devel
BuildRequires:  ghc-unix-devel
%endif
# End cabal-rpm deps
# for rpmspec
Requires:       rpm-build

%description
The rpmbuild-order tool sorts source RPM packages by build dependencies, so
that they can be built in a correct order. It does this by reading RPM package
spec files and then topologically sorts them according to their build
dependencies. The code evolved from cabal-sort by Henning Thielemann.
It can also order the dependencies or reverse depends of one or more packages
among the packages checked out in neighboring directories (which can be useful
to see what packages are affected when a low-level package changes).
It also has support for setting RPM options for bcond etc, which can affect
dependencies. It can also output dependency graphs. Since version 0.4, a
library API is also provided.


%package -n ghc-%{name}
Summary:        Haskell %{name} library

%description -n ghc-%{name}
This package provides the Haskell %{name} shared library.


%package -n ghc-%{name}-devel
Summary:        Haskell %{name} library development files
Provides:       ghc-%{name}-static = %{version}-%{release}
Provides:       ghc-%{name}-static%{?_isa} = %{version}-%{release}
%if %{defined ghc_version}
Requires:       ghc-compiler = %{ghc_version}
%endif
Requires:       ghc-%{name}%{?_isa} = %{version}-%{release}

%description -n ghc-%{name}-devel
This package provides the Haskell %{name} library development files.


%if %{with haddock}
%package -n ghc-%{name}-doc
Summary:        Haskell %{name} library documentation
BuildArch:      noarch
Requires:       ghc-filesystem

%description -n ghc-%{name}-doc
This package provides the Haskell %{name} library documentation.
%endif


%if %{with ghc_prof}
%package -n ghc-%{name}-prof
Summary:        Haskell %{name} profiling library
Requires:       ghc-%{name}-devel%{?_isa} = %{version}-%{release}
Supplements:    (ghc-%{name}-devel and ghc-prof)

%description -n ghc-%{name}-prof
This package provides the Haskell %{name} profiling library.
%endif


%prep
# Begin cabal-rpm setup:
%setup -q
# End cabal-rpm setup


%build
# Begin cabal-rpm build:
%ghc_lib_build
# End cabal-rpm build


%install
# Begin cabal-rpm install
%ghc_lib_install
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/
%{buildroot}%{_bindir}/%{name} --bash-completion-script %{name} | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/%{name}
# End cabal-rpm install

install -p -m 0644 -D %{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1


%check
%if %{with tests}
# remove for next release
PATH=%{buildroot}%{_bindir}:$PATH
%cabal_test
%endif


%files
# Begin cabal-rpm files:
%license LICENSE
%doc ChangeLog.md README.md TODO
%{_bindir}/%{name}
%{_datadir}/bash-completion/completions/%{name}
# End cabal-rpm files
%{_mandir}/man1/%{name}.1*


%files -n ghc-%{name} -f ghc-%{name}.files
# Begin cabal-rpm files:
%license LICENSE
# End cabal-rpm files


%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%doc ChangeLog.md README.md TODO


%if %{with haddock}
%files -n ghc-%{name}-doc -f ghc-%{name}-doc.files
%license LICENSE
%endif


%if %{with ghc_prof}
%files -n ghc-%{name}-prof -f ghc-%{name}-prof.files
%endif


%changelog
* Thu Feb 16 2023 Jens Petersen <petersen@redhat.com> - 0.4.10-2
- refresh to cabal-rpm-2.1.0 with SPDX migration

* Sat Nov 12 2022 Jens Petersen <petersen@redhat.com> - 0.4.10-1
- Order: add depsPackages and factor out depsGraph to Graph
- Graph: add depsGraphDeps which takes a list of possible deps
- Graph: add topsortGraph (factored out of sortGraph)
- Graph rpmspecDynBuildRequires: error if no srpm generated
- tests: add testcase for deps command

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Tue Jun 14 2022 Jens Petersen <petersen@redhat.com> - 0.4.8-1
- prepend spec name to any rpmspec stderr
- optimize by filtering out Provides ending in (x86-64)

* Tue May 31 2022 Jens Petersen <petersen@redhat.com> - 0.4.7-1
- handle Dynamic BuildRequires (#3)
  with special support for golang Provs and rust & ruby BRs
- library: new Graph function aliases

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Sat Jan 08 2022 Miro HronĨok <mhroncok@redhat.com> - 0.4.5-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34

* Fri Aug 06 2021 Jens Petersen <petersen@redhat.com> - 0.4.5-3
- rebuild

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Sat May 29 2021 Jens Petersen <petersen@redhat.com> - 0.4.5-1
- 'render': do not reverse arrows
- 'render': rename -o/--output option to -g/--gv-output

* Wed May 19 2021 Jens Petersen <petersen@redhat.com> - 0.4.4.1-1
- 'render': helpful error message if graphviz not installed

* Sun May 16 2021 Jens Petersen <petersen@redhat.com> - 0.4.4-1
- new render command to show graph
- fix subcycles algorithm and improve cycles text

* Wed May 12 2021 Jens Petersen <petersen@redhat.com> - 0.4.3.2-1
- intercalate newlines between cycles
- only list subcycles with over 2 packages

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Fri Sep 25 01:27:35 +08 2020 Jens Petersen <petersen@redhat.com> - 0.4.3.1-1
- 'deps','rdeps': --exclude option to ignore a "broken" neighboring package

* Fri Sep 18 19:29:07 +08 2020 Jens Petersen <petersen@redhat.com> - 0.4.3-1
- https://hackage.haskell.org/package/rpmbuild-order-0.4.3/changelog:
- 'deps' and 'rdeps': new --ignore-BR option
- 'sort' no longer outputs a leading newline

* Fri Sep 11 00:18:36 +08 2020 Jens Petersen <petersen@redhat.com> - 0.4.2.1-1
- update to 0.4.2.1 bugfix
- fixes reversed order of `rpmbuild-order sort` output

* Sun Aug 09 2020 Jens Petersen <petersen@redhat.com> - 0.4.2-2
- setup bash completions

* Tue Aug 04 17:03:39 GMT 2020 Jens Petersen <petersen@redhat.com> - 0.4.2-1
- https://hackage.haskell.org/package/rpmbuild-order-0.4.2/changelog
- major new version with a library and better performance and new features
- support for bcond options
- output any subcycles for cyclic dependencies
- new commands: layers, leaves, roots, chain
- a small testsuite has been added

* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.1-4
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Fri Jul 17 2020 Jens Petersen <petersen@redhat.com> - 0.3.1-2
- refresh to cabal-rpm-2.0.6

* Sat Jul 04 2020 Jens Petersen <petersen@redhat.com> - 0.3.1-1
- fix detection of circular dependencies

* Wed Feb 19 2020 Jens Petersen <petersen@redhat.com> - 0.3-3
- refresh to cabal-rpm-2.0.2

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Oct 10 2019 Jens Petersen <petersen@redhat.com> - 0.3-1
- check package provides instead of rpms
- --lenient for rpmspec failures
- https://hackage.haskell.org/package/rpmbuild-order-0.3/changelog

* Thu Aug 01 2019 Jens Petersen <petersen@redhat.com> - 0.2.1-5
- rebuild

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Oct 25 2018 Jens Petersen <petersen@redhat.com> - 0.2.1-2
- rebuild for static executable

* Fri Aug 17 2018 Jens Petersen <petersen@redhat.com> - 0.2.1-1
- update to 0.2
- add manpage

* Wed Jul 25 2018 Fedora Haskell SIG <haskell@lists.fedoraproject.org> - 0.1-1
- spec file generated by cabal-rpm-0.12.5