## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global python3_pkgversion 3.14 # RHEL does not have packaged rust libraries %bcond packaged_rust_libraries %{undefined rhel} # The integration tests depend on the presence of these libraries %bcond integration_tests %{with packaged_rust_libraries} # Regex of integration tests to skip. # * html-py-ever requires unpackaged rust crates %global integration_tests_exc '^(html-py-ever)' Name: python%{python3_pkgversion}-setuptools-rust Version: 1.11.1 Release: %autorelease Summary: Setuptools Rust extension plugin License: MIT URL: https://github.com/PyO3/setuptools-rust Source0: %{pypi_source setuptools_rust} BuildArch: noarch BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-pytest %if 0%{?fedora} BuildRequires: cargo-rpm-macros >= 24 %else # RHEL has rust-toolset instead of cargo-rpm-macros BuildRequires: rust-toolset >= 1.45 %endif %if %{with integration_tests} BuildRequires: %{py3_dist cffi} %endif %description Setuptools helpers for Rust Python extensions. Compile and distribute Python extensions written in Rust as easily as if they were written in C.} %prep %autosetup -p1 -n setuptools_rust-%{version} %cargo_prep %if %{with integration_tests} for example in $(ls examples/ | grep -vE %{integration_tests_exc}); do cd "examples/${example}" %cargo_prep cd - done %endif %generate_buildrequires %pyproject_buildrequires %if %{with integration_tests} for example in $(ls examples/ | grep -vE %{integration_tests_exc}); do cd "examples/${example}" %cargo_generate_buildrequires cd - >&2 done %endif %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l setuptools_rust %check %pyproject_check_import # Disable tests that require internet access and/or test Windows functionality %global test_ignores %{shrink: not test_adjusted_local_rust_target_windows_msvc and not test_get_lib_name_namespace_package } %if %{without packaged_rust_libraries} %global test_ignores %{shrink:%{test_ignores} and not test_metadata_contents and not test_metadata_cargo_log } %endif %pytest tests/ setuptools_rust/ --import-mode importlib -k '%{test_ignores}' %if %{with integration_tests} export %{py3_test_envvars} %global _pyproject_wheeldir dist for example in $(ls examples/ | grep -vE %{integration_tests_exc}); do cd "examples/${example}" %pyproject_wheel if [ -d "tests/" ]; then %{python3} -m venv venv --system-site-packages ./venv/bin/pip install dist/*.whl ./venv/bin/python -Pm pytest tests/ fi cd - done %endif %files -n python%{python3_pkgversion}-setuptools-rust -f %{pyproject_files} %doc README.md CHANGELOG.md %changelog ## START: Generated by rpmautospec * Fri Sep 05 2025 Tomáš Hrnčiar - 1.11.1-1 - Uncommitted changes * Fri Jul 23 2021 Fedora Release Engineering - 0.12.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jun 02 2021 Python Maint - 0.12.1-2 - Rebuilt for Python 3.10 * Thu Mar 11 2021 Christian Heimes - 0.12.1-1 - Update to 0.12.1 * Tue Mar 09 2021 Christian Heimes - 0.12.0-1 - Update to 0.12.0 (#1936679) - Run tomlgen example as test case * Thu Feb 11 2021 Christian Heimes - 0.11.6-4 - Fix RHEL build: remove wheel build requirements, use rust-toolset * Thu Feb 11 2021 Christian Heimes - 0.11.6-3 - Add RHEL packaging support * Wed Jan 27 2021 Fedora Release Engineering - 0.11.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Thu Jan 14 2021 Christian Heimes - 0.11.6-1 - Initial package. - Resolves: rhbz#1906490 ## END: Generated by rpmautospec