Convert to pyproject-rpm-macros

This commit is contained in:
Miro Hrončok 2021-12-15 19:20:12 +01:00
parent 7faf670b11
commit 2c2417a04b

View File

@ -30,20 +30,10 @@ Source0: %{pypi_source pytest %{base_version}%{?prerelease}}
%bcond_without docs %bcond_without docs
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-setuptools BuildRequires: pyproject-rpm-macros >= 0-51
BuildRequires: python3-setuptools_scm
# Those are also runtime deps, needed for tests and docs
# We keep them unconditionality, so we don't accidentally build pytest
# before them and get broken dependencies
BuildRequires: python3-attrs >= 19.2
BuildRequires: python3-iniconfig
BuildRequires: python3-packaging
BuildRequires: python3-pluggy >= 0.12
BuildRequires: python3-py >= 1.8.2
BuildRequires: python3-tomli >= 1
%if %{with tests} %if %{with tests}
# we avoid using %%pyproject_buildrequires -x testing as it mixes optional and non-optional deps
BuildRequires: python3-hypothesis >= 3.56 BuildRequires: python3-hypothesis >= 3.56
BuildRequires: python3-pygments >= 2.7.2 BuildRequires: python3-pygments >= 2.7.2
BuildRequires: python3-xmlschema BuildRequires: python3-xmlschema
@ -92,23 +82,32 @@ Provides: pytest = %{version}-%{release}
The pytest framework makes it easy to write small tests, yet scales to support The pytest framework makes it easy to write small tests, yet scales to support
complex functional testing for applications and libraries. complex functional testing for applications and libraries.
%prep %prep
%autosetup -p1 -n %{name}-%{base_version}%{?prerelease} %autosetup -p1 -n %{name}-%{base_version}%{?prerelease}
%generate_buildrequires
%pyproject_buildrequires -r
%build %build
%py3_build %pyproject_wheel
%if %{with docs} %if %{with docs}
for l in doc/* ; do for l in doc/* ; do
make -C $l html PYTHONPATH=$(pwd)/src SPHINXBUILD=%{_bindir}/sphinx-build-3 %make_build -C $l html PYTHONPATH=%{pyproject_build_lib}
done done
for f in README CHANGELOG CONTRIBUTING ; do for f in README CHANGELOG CONTRIBUTING ; do
rst2html ${f}.rst > ${f}.html rst2html ${f}.rst > ${f}.html
done done
%endif %endif
%install %install
%py3_install %pyproject_install
%pyproject_save_files _pytest pytest
mv %{buildroot}%{_bindir}/pytest %{buildroot}%{_bindir}/pytest-%{python3_version} mv %{buildroot}%{_bindir}/pytest %{buildroot}%{_bindir}/pytest-%{python3_version}
ln -snf pytest-%{python3_version} %{buildroot}%{_bindir}/pytest-3 ln -snf pytest-%{python3_version} %{buildroot}%{_bindir}/pytest-3
mv %{buildroot}%{_bindir}/py.test %{buildroot}%{_bindir}/py.test-%{python3_version} mv %{buildroot}%{_bindir}/py.test %{buildroot}%{_bindir}/py.test-%{python3_version}
@ -132,6 +131,7 @@ find %{buildroot}%{python3_sitelib} \
-name '*.py' \ -name '*.py' \
-exec sed -i -e '1{/^#!/d}' {} \; -exec sed -i -e '1{/^#!/d}' {} \;
%if %{with tests} %if %{with tests}
%check %check
%global __pytest %{buildroot}%{_bindir}/pytest %global __pytest %{buildroot}%{_bindir}/pytest
@ -139,23 +139,21 @@ find %{buildroot}%{python3_sitelib} \
%pytest testing %{?with_timeout:--timeout=30} -rs -k "not test_errors_in_xfail_skip_expressions" %pytest testing %{?with_timeout:--timeout=30} -rs -k "not test_errors_in_xfail_skip_expressions"
%endif %endif
%files -n python3-%{name}
%files -n python3-%{name} -f %{pyproject_files}
%if %{with docs} %if %{with docs}
%doc CHANGELOG.html %doc CHANGELOG.html
%doc README.html %doc README.html
%doc CONTRIBUTING.html %doc CONTRIBUTING.html
%doc _htmldocs/html %doc _htmldocs/html
%endif %endif
%license LICENSE
%{_bindir}/pytest %{_bindir}/pytest
%{_bindir}/pytest-3 %{_bindir}/pytest-3
%{_bindir}/pytest-%{python3_version} %{_bindir}/pytest-%{python3_version}
%{_bindir}/py.test %{_bindir}/py.test
%{_bindir}/py.test-3 %{_bindir}/py.test-3
%{_bindir}/py.test-%{python3_version} %{_bindir}/py.test-%{python3_version}
%{python3_sitelib}/pytest-*.egg-info/
%{python3_sitelib}/_pytest/
%{python3_sitelib}/pytest/
%changelog %changelog
* Fri Jan 21 2022 Miro Hrončok <mhroncok@redhat.com> - 7.0.0~rc1-1 * Fri Jan 21 2022 Miro Hrončok <mhroncok@redhat.com> - 7.0.0~rc1-1