%define pypi_name mitmproxy_rs #define pypi_name mitmproxy_linux Name: python-mitmproxy-rs Version: 0.11.5 Release: %mkrel 1 Summary: An interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets Group: Development/Python License: MIT URL: https://pypi.org/project/mitmproxy-rs/ #Use this source as is more complete Source0: https://github.com/mitmproxy/mitmproxy_rs/archive/refs/tags/v%{version}.tar.gz?/%{pypi_name}-%{version}.tar.gz #Source0: %{pypi_source} #Source1: mitmproxy-rs-vendor.tar.xz #From the pypi mitmproxy_linux source not included in github sources Source2: pyproject.toml #Remove -Z flag #Source3: build.rs BuildRequires: python3-devel BuildRequires: gcc BuildRequires: cargo BuildRequires: cargo-rpm-macros BuildRequires: maturin BuildRequires: bpf-linker BuildRequires: git BuildRequires: rust-src %global _description %{expand: mitmproxy is an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets. This package contains Rust part of it} %description %_description %package -n python3-mitmproxy-rs Summary: %{summary} %description -n python3-mitmproxy-rs %_description %prep %autosetup -p1 -n %{pypi_name}-%{version} cp %{SOURCE2} ./ #cp -f %{SOURCE3} mitmproxy-linux/ cargo fetch --locked %generate_buildrequires %pyproject_buildrequires %build export RUSTFLAGS="%{build_rustflags}" #cargo_build #pushd mitmproxy-rs #maturin build --release --strip #popd #pushd mitmproxy-linux #maturin build --release --strip #popd %pyproject_wheel %install %pyproject_install %pyproject_save_files %{pypi_name} %check %pyproject_check_import %files -n python3-mitmproxy-rs -f %{pyproject_files}