Allow building this package during Python bootstrap
This package needs to be available when Python is built for the second time, because it is required by systemtap. Hence it needs to be built before the tests and doc dependencies are ready and before Python gains the requirement on python3-rpm-generators. * Add a tests bcond. * Add a doc bcond. * Add a manual BuildRequires on python3-rpm-generators. [skip changelog]
This commit is contained in:
parent
1892cdd603
commit
7aa63dd033
@ -9,9 +9,24 @@ Source0: https://github.com/%{name}/%{name}/archive/%{name}_%{version}/%{
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: dos2unix
|
||||
|
||||
# python3 bootstrap: this is built before the final build of python3, which
|
||||
# adds the dependency on python3-rpm-generators, so we require it manually
|
||||
# (python BuildRequires systemtap-sdt-devel which requires python3-pyparsing)
|
||||
BuildRequires: python3-rpm-generators
|
||||
# We need those for the same reason:
|
||||
%bcond doc 1
|
||||
%bcond tests 1
|
||||
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
|
||||
%if %{with doc}
|
||||
BuildRequires: python%{python3_pkgversion}-sphinx
|
||||
%endif
|
||||
%if %{with tests}
|
||||
BuildRequires: python%{python3_pkgversion}-pytest
|
||||
%endif
|
||||
|
||||
|
||||
%description
|
||||
pyparsing is a module that can be used to easily and directly configure syntax
|
||||
@ -26,6 +41,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}
|
||||
%package doc
|
||||
Summary: Documentation for %{name}
|
||||
|
||||
@ -39,6 +55,7 @@ License: MIT and GPLv2+ and GPLv3+ and BSD
|
||||
|
||||
%description doc
|
||||
The package contains documentation for pyparsing.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
@ -49,18 +66,19 @@ dos2unix -k examples/*
|
||||
|
||||
%generate_buildrequires
|
||||
# tox lists only the [diagrams] extra and coverage as deps, so we bypass it
|
||||
%pyproject_buildrequires -x diagrams
|
||||
%pyproject_buildrequires %{?with_tests:-x diagrams}
|
||||
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
# build docs
|
||||
%if %{with doc}
|
||||
pushd docs
|
||||
# Theme is not available
|
||||
sed -i '/alabaster/d' conf.py
|
||||
sphinx-build -b html . html
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
@ -69,16 +87,21 @@ popd
|
||||
|
||||
|
||||
%check
|
||||
%pyproject_check_import %{!?with_tests:-e pyparsing.diagram}
|
||||
%if %{with tests}
|
||||
%pytest -v
|
||||
%endif
|
||||
|
||||
|
||||
%files -n python%{python3_pkgversion}-pyparsing -f %{pyproject_files}
|
||||
%license LICENSE
|
||||
%doc CHANGES README.rst
|
||||
|
||||
%if %{with doc}
|
||||
%files doc
|
||||
%license LICENSE
|
||||
%doc CHANGES README.rst docs/html examples
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user