96 lines
2.5 KiB
RPMSpec
96 lines
2.5 KiB
RPMSpec
|
%global __python3 /usr/bin/python3.11
|
||
|
%global python3_pkgversion 3.11
|
||
|
|
||
|
%if 0%{?rhel}
|
||
|
%bcond_with tests
|
||
|
%else
|
||
|
%bcond_without tests
|
||
|
%endif
|
||
|
|
||
|
Name: python%{python3_pkgversion}-setuptools-rust
|
||
|
Version: 1.5.2
|
||
|
Release: 1%{?dist}
|
||
|
Summary: Setuptools Rust extension plugin
|
||
|
|
||
|
License: MIT
|
||
|
URL: https://github.com/PyO3/setuptools-rust
|
||
|
Source0: %{pypi_source setuptools-rust}
|
||
|
BuildArch: noarch
|
||
|
ExclusiveArch: %{rust_arches}
|
||
|
|
||
|
BuildRequires: python%{python3_pkgversion}-devel
|
||
|
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
||
|
BuildRequires: python%{python3_pkgversion}-setuptools > 46.1
|
||
|
BuildRequires: python%{python3_pkgversion}-semantic_version >= 2.8.2
|
||
|
BuildRequires: python%{python3_pkgversion}-wheel
|
||
|
|
||
|
Requires: python%{python3_pkgversion}-semantic_version >= 2.8.2
|
||
|
Requires: python%{python3_pkgversion}-setuptools >= 62.4
|
||
|
# RHEL: Dependency is missing
|
||
|
#BuildRequires: python3dist(typing-extensions) >= 3.7.4.4
|
||
|
%if 0%{?fedora}
|
||
|
BuildRequires: rust-packaging >= 1.45
|
||
|
%else
|
||
|
# RHEL has rust-toolset
|
||
|
BuildRequires: rust-toolset >= 1.45
|
||
|
Requires: rust-toolset >= 1.45
|
||
|
%endif
|
||
|
%if %{with tests}
|
||
|
BuildRequires: rust-pyo3+default-devel
|
||
|
%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 -n setuptools-rust-%{version}
|
||
|
# Remove bundled egg-info
|
||
|
rm -rf setuptools-rust.egg-info
|
||
|
|
||
|
%if ! 0%{?fedora}
|
||
|
# remove dependency on typing extensions and use
|
||
|
# stdlib instead
|
||
|
sed -i 's/typing_extensions.*$//g' setup.cfg
|
||
|
|
||
|
sed -i -e 's/typing_extensions/typing/' \
|
||
|
setuptools_rust/setuptools_ext.py \
|
||
|
setuptools_rust/build.py \
|
||
|
setuptools_rust/extension.py
|
||
|
|
||
|
%endif
|
||
|
|
||
|
|
||
|
%build
|
||
|
%py3_build
|
||
|
|
||
|
%install
|
||
|
%py3_install
|
||
|
|
||
|
%check
|
||
|
PYTHONPATH=%{buildroot}%{python3_sitelib} \
|
||
|
%{__python3} -c "from setuptools_rust import RustExtension, version"
|
||
|
|
||
|
%if %{with tests}
|
||
|
cd examples/hello-world
|
||
|
%cargo_prep
|
||
|
PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} setup.py build
|
||
|
cd ../..
|
||
|
%endif
|
||
|
|
||
|
|
||
|
%files -n python%{python3_pkgversion}-setuptools-rust
|
||
|
%doc README.md CHANGELOG.md
|
||
|
%license LICENSE
|
||
|
%{python3_sitelib}/setuptools_rust/
|
||
|
%{python3_sitelib}/setuptools_rust-%{version}-py%{python3_version}.egg-info/
|
||
|
|
||
|
%changelog
|
||
|
* Thu Nov 03 2022 Charalampos Stratakis <cstratak@redhat.com> - 1.5.2-1
|
||
|
- Initial import
|
||
|
- Fedora contributions by:
|
||
|
Christian Heimes <cheimes@redhat.com>
|
||
|
Gwyn Ciesla <limb@fedoraproject.org>
|
||
|
Tomáš Hrnčiar <thrnciar@redhat.com>
|