%global python3_pkgversion 3.11 %global pypi_name build Name: python-%{pypi_name} Version: 1.2.1 Release: 2.ac16.py3.11%{?dist} Summary: A simple, correct PEP517 package builder License: MIT URL: https://github.com/pypa/build Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz BuildArch: noarch BuildRequires: python%{python3_pkgversion}-devel BuildRequires: pyproject-rpm-macros >= 0-41 %description A simple, correct PEP517 package builder. %package -n python%{python3_pkgversion}-%{pypi_name} Summary: %{summary} %description -n python%{python3_pkgversion}-%{pypi_name} A simple, correct PEP517 package builder. %pyproject_extras_subpkg -n python%{python3_pkgversion}-%{pypi_name} virtualenv %prep %autosetup -p1 -n %{pypi_name}-%{version} # coverage is discouraged in Python packages # https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters sed -Ei '/\bpytest-cov\b/d' pyproject.toml sed -Ei 's/uv,//' pyproject.toml %generate_buildrequires %pyproject_buildrequires -x test,virtualenv %build %pyproject_wheel %install %pyproject_install %pyproject_save_files %{pypi_name} %check # The skipped tests require internet or uv %pytest -k "not (test_build_package or \ test_build_package_via_sdist or \ test_output[via-sdist-isolation] or \ test_output[wheel-direct-isolation] or \ test_wheel_metadata[True] or \ test_wheel_metadata_isolation or \ test_with_get_requires or \ test_build_sdist or \ test_build_wheel[from_sdist] or \ test_build_wheel[direct] or \ test_uv_impl_install_cmd_well_formed or \ test_venv_creation[uv-venv+uv-None] or \ test_requirement_installation or \ test_requirement_installation or \ test_external_uv_detection_success or \ test_output[False-via-sdist-isolation] or \ test_output[False-wheel-direct-isolation] or \ test_verbose_output or \ test_build_wheel[False-from_sdist] or \ test_build_wheel[False-direct] or \ test_wheel_metadata[False-True])" for b in $(find %{buildroot}%{_bindir}/ -type f) ; do mv "$b" $(sed -re "s|(.*)$|\1-%{python3_pkgversion}|"<<<"$b"); done for m in $(find %{buildroot}%{_mandir}/ -type f) ; do mv "$m" $(sed -re "s|(.*).([1-8])(.*)$|\1-%{python3_pkgversion}.\2\3|"<<<"$m"); done for m in $(find %{buildroot}%{_datadir}/locale/* -type f) ; do mv "$m" $(sed -re "s|(.*).mo$|\1-%{python3_pkgversion}.mo|"<<<"$m"); done for l in $(find %{buildroot}/usr/lib64/lib* -type f -o -type l) ; do mv "$l" $(sed -re "s|(.*).so(.*)$|\1-py%{python3_pkgversion}.so\2|"<<<"$l"); done for p in $(find %{buildroot}/usr/lib64/pkgconfig/* -type f) ; do mv "$p" $(sed -re "s|(.*).pc$|\1-py%{python3_pkgversion}.pc|"<<<"$p"); done %files -n python%{python3_pkgversion}-%{pypi_name} -f %{pyproject_files} %license LICENSE %doc README.md %{_bindir}/pyproject-build-%{python3_pkgversion} %changelog * Tue May 14 2024 Ding-Yi Chen - 1.2.1-2.ac16.py3.11 - Cut corner packaging