Add new bootstrapping bcond

The Python RPM dependency generators now require python3-packaging and hence
transitively python3-pyparsing.

In order to bootstrap a new Python version, we need to build this without the
generators first. The provides are added manually in that case.

At that point, we cannot build the wheel or docs either,
so this kinda swallowed the doc bcond.
This commit is contained in:
Miro Hrončok 2021-02-24 17:03:49 +01:00
parent c807be70d4
commit 68bce9f205

View File

@ -1,12 +1,13 @@
%global srcname pyparsing
%global _summary Python package with an object-oriented approach to text processing
# when bootstrapping Python 3, pyparsing needs to be rebuilt before depndency generator is available
%bcond_with bootstrap
%if %{without bootstrap}
%global build_wheel 1
%global python_wheelname %{srcname}-%{version}-py2.py3-none-any.whl
%endif
# when bootstrapping Python 3, pyparsing needs to be rebuilt before sphinx
%bcond_without doc
Summary: %{_summary}
Name: pyparsing
@ -22,11 +23,7 @@ BuildRequires: dos2unix
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
# python3 bootstrap: this is rebuilt before the final build of python3, which
# adds the dependency on python3-rpm-generators, so we require it manually
BuildRequires: python3-rpm-generators
%if %{with doc}
%if %{without bootstrap}
BuildRequires: python%{python3_pkgversion}-sphinx
%endif
@ -40,7 +37,7 @@ pyparsing is a module that can be used to easily and directly configure syntax
definitions for any number of text parsing applications.
%if %{with doc}
%if %{without bootstrap}
%package doc
Summary: Documentation for pyparsing python package
@ -51,6 +48,11 @@ The package contains documentation for pyparsing.
%package -n python%{python3_pkgversion}-pyparsing
Summary: %{_summary}
%if %{with bootstrap}
Provides: python%{python3_pkgversion}dist(pyparsing) = %{version}
Provides: python%{python3_version}dist(pyparsing) = %{version}
%endif
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
%description -n python%{python3_pkgversion}-pyparsing
@ -72,7 +74,7 @@ dos2unix -k CHANGES LICENSE
%py3_build
%endif
%if %{with doc}
%if %{without bootstrap}
# build docs
pushd docs
# Theme is not available
@ -101,7 +103,7 @@ popd
%{python3_sitelib}/__pycache__/*
%{python3_sitelib}/pyparsing-*-info/
%if %{with doc}
%if %{without bootstrap}
%files doc
%license LICENSE
%doc CHANGES README.rst docs/html examples