Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-setuptools-rust for
openSUSE:Factory checked in at 2026-02-06 19:05:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-setuptools-rust (Old)
and /work/SRC/openSUSE:Factory/.python-setuptools-rust.new.1670 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-setuptools-rust"
Fri Feb 6 19:05:05 2026 rev:14 rq:1330812 version:1.12.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-setuptools-rust/python-setuptools-rust.changes
2025-04-24 17:25:03.672195560 +0200
+++
/work/SRC/openSUSE:Factory/.python-setuptools-rust.new.1670/python-setuptools-rust.changes
2026-02-06 19:07:10.908107373 +0100
@@ -1,0 +2,7 @@
+Tue Jan 27 16:04:37 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 1.12.0:
+ * Set `PYO3_BUILD_EXTENSION_MODULE` environment variable when
+ building PyO3 extensions. #540
+
+-------------------------------------------------------------------
Old:
----
setuptools_rust-1.11.1.tar.gz
New:
----
setuptools_rust-1.12.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-setuptools-rust.spec ++++++
--- /var/tmp/diff_new_pack.HfmYKT/_old 2026-02-06 19:07:11.700140660 +0100
+++ /var/tmp/diff_new_pack.HfmYKT/_new 2026-02-06 19:07:11.704140829 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-setuptools-rust
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-setuptools-rust
-Version: 1.11.1
+Version: 1.12.0
Release: 0
Summary: Setuptools plugin for Rust extensions
License: MIT
++++++ setuptools_rust-1.11.1.tar.gz -> setuptools_rust-1.12.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/.bumpversion.cfg
new/setuptools_rust-1.12.0/.bumpversion.cfg
--- old/setuptools_rust-1.11.1/.bumpversion.cfg 2025-04-04 16:28:00.000000000
+0200
+++ new/setuptools_rust-1.12.0/.bumpversion.cfg 2025-08-29 20:24:17.000000000
+0200
@@ -1,7 +1,7 @@
[bumpversion]
commit = True
tag = False
-current_version = 1.11.1
+current_version = 1.12.0
message = release: {new_version}
[bumpversion:file:pyproject.toml]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/.github/workflows/ci.yml
new/setuptools_rust-1.12.0/.github/workflows/ci.yml
--- old/setuptools_rust-1.11.1/.github/workflows/ci.yml 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/.github/workflows/ci.yml 2025-08-29
20:24:17.000000000 +0200
@@ -250,50 +250,15 @@
- name: Setup python
uses: actions/setup-python@v5
with:
- python-version: "3.10" # must match the ubuntu version in the
install, and also the STANDALONE_PYTHON_VERSION below
+ python-version: "3.x"
- uses: dtolnay/rust-toolchain@stable
- name: Install cross
- uses: taiki-e/install-action@v2
- with:
- tool: cross
- - name: Build package
- run: pip install -e .
- - name: Build wheel using cross
- shell: bash
- env:
- CARGO: cross
- CARGO_BUILD_TARGET: aarch64-unknown-linux-gnu
- PYO3_CROSS_LIB_DIR: /opt/python/cp310-cp310/lib
- DIST_EXTRA_CONFIG: /tmp/build-opts.cfg
- run: |
- cd examples/namespace_package
- docker build \
- --build-arg STANDALONE_PYTHON_VERSION=3.10.15 \
- --build-arg STANDALONE_PYTHON_RELEASE=20241016 \
- -t cross-pyo3:aarch64-unknown-linux-gnu \
- .
- python -m pip install build wheel
- echo -e "[bdist_wheel]\nplat_name=manylinux2014_aarch64" >
$DIST_EXTRA_CONFIG
- python -m build --no-isolation
- ls -la dist/
- unzip -l dist/*.whl # debug all files inside wheel file
- - uses: uraimo/[email protected]
- name: Install built wheel
- with:
- arch: aarch64
- distro: ubuntu22.04
- dockerRunArgs: |
- --volume "${PWD}/examples/namespace_package:/io"
- install: |
- apt-get update
- apt-get install -y --no-install-recommends python3 python3-venv
python3-pip
- pip3 install -U pip
- run: |
- python3 -m venv .venv
- source .venv/bin/activate
- pip install namespace_package --no-index --find-links /io/dist/
--force-reinstall
- python -c "from namespace_package import rust; assert
rust.rust_func() == 14"
- python -c "from namespace_package import python; assert
python.python_func() == 15"
+ # need cross HEAD for https://github.com/cross-rs/cross/issues/1645
+ # will probably be ok to use released cross from 0.3
+ run: cargo install cross --git https://github.com/cross-rs/cross
+ - uses: docker/setup-qemu-action@v3
+ - run: pip install nox
+ - run: nox -s test-cross
test-zigbuild:
runs-on: ubuntu-latest
@@ -327,7 +292,7 @@
python -m build --no-isolation
ls -la dist/
unzip -l dist/*.whl # debug all files inside wheel file
- - uses: uraimo/[email protected]
+ - uses: uraimo/[email protected]
name: Install built wheel
with:
arch: aarch64
@@ -351,7 +316,7 @@
- uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin,x86_64-apple-darwin
- - uses: pypa/[email protected]
+ - uses: pypa/[email protected]
env:
CIBW_BUILD: cp39-*
CIBW_BEFORE_BUILD: >
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/CHANGELOG.md
new/setuptools_rust-1.12.0/CHANGELOG.md
--- old/setuptools_rust-1.11.1/CHANGELOG.md 2025-04-04 16:28:00.000000000
+0200
+++ new/setuptools_rust-1.12.0/CHANGELOG.md 2025-08-29 20:24:17.000000000
+0200
@@ -1,5 +1,8 @@
# Changelog
+## 1.12.0 (2025-08-29)
+- Set `PYO3_BUILD_EXTENSION_MODULE` environment variable when building PyO3
extensions. [#540](https://github.com/PyO3/setuptools-rust/pull/540)
+
## 1.11.1 (2025-04-04)
### Fixed
- Fix finding cargo artifacts when filenames are empty.
[#521](https://github.com/PyO3/setuptools-rust/pull/521)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/PKG-INFO
new/setuptools_rust-1.12.0/PKG-INFO
--- old/setuptools_rust-1.11.1/PKG-INFO 2025-04-04 16:28:06.806960300 +0200
+++ new/setuptools_rust-1.12.0/PKG-INFO 2025-08-29 20:24:25.477151600 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: setuptools-rust
-Version: 1.11.1
+Version: 1.12.0
Summary: Setuptools Rust extension plugin
Author-email: Nikolay Kim <[email protected]>
Project-URL: Homepage, https://github.com/PyO3/setuptools-rust
@@ -98,7 +98,7 @@
edition = "2021"
[dependencies]
-pyo3 = "0.24"
+pyo3 = "0.25"
[lib]
name = "_lib" # private module to be nested into Python package,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/README.md
new/setuptools_rust-1.12.0/README.md
--- old/setuptools_rust-1.11.1/README.md 2025-04-04 16:28:00.000000000
+0200
+++ new/setuptools_rust-1.12.0/README.md 2025-08-29 20:24:17.000000000
+0200
@@ -69,7 +69,7 @@
edition = "2021"
[dependencies]
-pyo3 = "0.24"
+pyo3 = "0.25"
[lib]
name = "_lib" # private module to be nested into Python package,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/docs/requirements.txt
new/setuptools_rust-1.12.0/docs/requirements.txt
--- old/setuptools_rust-1.11.1/docs/requirements.txt 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/docs/requirements.txt 2025-08-29
20:24:17.000000000 +0200
@@ -1,4 +1,4 @@
Sphinx==8.2.3
sphinx-autodoc-typehints==3.1.0
-furo==2024.8.6
+furo==2025.7.19
myst-parser==4.0.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/hello-world/Cargo.lock
new/setuptools_rust-1.12.0/examples/hello-world/Cargo.lock
--- old/setuptools_rust-1.11.1/examples/hello-world/Cargo.lock 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/hello-world/Cargo.lock 2025-08-29
20:24:17.000000000 +0200
@@ -9,12 +9,6 @@
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -71,11 +65,10 @@
[[package]]
name = "pyo3"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17da310086b068fbdcefbba30aeb3721d5bb9af8db4987d6735b2183ca567229"
+checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
dependencies = [
- "cfg-if",
"indoc",
"libc",
"memoffset",
@@ -89,9 +82,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e27165889bd793000a098bb966adc4300c312497ea25cf7a690a9f0ac5aa5fc1"
+checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
dependencies = [
"once_cell",
"target-lexicon",
@@ -99,9 +92,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05280526e1dbf6b420062f3ef228b78c0c54ba94e157f5cb724a609d0f2faabc"
+checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
dependencies = [
"libc",
"pyo3-build-config",
@@ -109,9 +102,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c3ce5686aa4d3f63359a5100c62a127c9f15e8398e5fdeb5deef1fed5cd5f44"
+checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -121,9 +114,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4cf6faa0cbfb0ed08e89beb8103ae9724eb4750e3a78084ba4017cbe94f3855"
+checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
dependencies = [
"heck",
"proc-macro2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/hello-world/Cargo.toml
new/setuptools_rust-1.12.0/examples/hello-world/Cargo.toml
--- old/setuptools_rust-1.11.1/examples/hello-world/Cargo.toml 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/hello-world/Cargo.toml 2025-08-29
20:24:17.000000000 +0200
@@ -6,7 +6,7 @@
# See more keys and their definitions at
https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-pyo3 = "0.24"
+pyo3 = "0.25"
[profile.release-lto]
inherits = "release"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/hello-world/rust/lib.rs
new/setuptools_rust-1.12.0/examples/hello-world/rust/lib.rs
--- old/setuptools_rust-1.11.1/examples/hello-world/rust/lib.rs 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/hello-world/rust/lib.rs 2025-08-29
20:24:17.000000000 +0200
@@ -23,7 +23,7 @@
let numbers: Vec<i32> = argv[2..].iter().map(|s|
s.parse().unwrap()).collect();
- let python_sum = PyModule::import_bound(py,
"builtins")?.getattr("sum")?;
+ let python_sum = PyModule::import(py, "builtins")?.getattr("sum")?;
let total: i32 = python_sum.call1((numbers,))?.extract()?;
println!("sum({}) = {:?}", argv[2..].join(", "), total);
Ok(())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/hello-world-setuppy/Cargo.lock
new/setuptools_rust-1.12.0/examples/hello-world-setuppy/Cargo.lock
--- old/setuptools_rust-1.11.1/examples/hello-world-setuppy/Cargo.lock
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/hello-world-setuppy/Cargo.lock
2025-08-29 20:24:17.000000000 +0200
@@ -9,12 +9,6 @@
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -71,11 +65,10 @@
[[package]]
name = "pyo3"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17da310086b068fbdcefbba30aeb3721d5bb9af8db4987d6735b2183ca567229"
+checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
dependencies = [
- "cfg-if",
"indoc",
"libc",
"memoffset",
@@ -89,9 +82,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e27165889bd793000a098bb966adc4300c312497ea25cf7a690a9f0ac5aa5fc1"
+checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
dependencies = [
"once_cell",
"target-lexicon",
@@ -99,9 +92,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05280526e1dbf6b420062f3ef228b78c0c54ba94e157f5cb724a609d0f2faabc"
+checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
dependencies = [
"libc",
"pyo3-build-config",
@@ -109,9 +102,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c3ce5686aa4d3f63359a5100c62a127c9f15e8398e5fdeb5deef1fed5cd5f44"
+checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -121,9 +114,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4cf6faa0cbfb0ed08e89beb8103ae9724eb4750e3a78084ba4017cbe94f3855"
+checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
dependencies = [
"heck",
"proc-macro2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/hello-world-setuppy/Cargo.toml
new/setuptools_rust-1.12.0/examples/hello-world-setuppy/Cargo.toml
--- old/setuptools_rust-1.11.1/examples/hello-world-setuppy/Cargo.toml
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/hello-world-setuppy/Cargo.toml
2025-08-29 20:24:17.000000000 +0200
@@ -4,7 +4,7 @@
edition = "2021"
[dependencies]
-pyo3 = "0.24.1"
+pyo3 = "0.25"
[lib]
# See https://github.com/PyO3/pyo3 for details
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/html-py-ever/Cargo.lock
new/setuptools_rust-1.12.0/examples/html-py-ever/Cargo.lock
--- old/setuptools_rust-1.11.1/examples/html-py-ever/Cargo.lock 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/html-py-ever/Cargo.lock 2025-08-29
20:24:17.000000000 +0200
@@ -393,11 +393,10 @@
[[package]]
name = "pyo3"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17da310086b068fbdcefbba30aeb3721d5bb9af8db4987d6735b2183ca567229"
+checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
dependencies = [
- "cfg-if",
"indoc",
"libc",
"memoffset",
@@ -411,9 +410,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e27165889bd793000a098bb966adc4300c312497ea25cf7a690a9f0ac5aa5fc1"
+checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
dependencies = [
"once_cell",
"target-lexicon",
@@ -421,9 +420,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05280526e1dbf6b420062f3ef228b78c0c54ba94e157f5cb724a609d0f2faabc"
+checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
dependencies = [
"libc",
"pyo3-build-config",
@@ -431,9 +430,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c3ce5686aa4d3f63359a5100c62a127c9f15e8398e5fdeb5deef1fed5cd5f44"
+checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -443,9 +442,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4cf6faa0cbfb0ed08e89beb8103ae9724eb4750e3a78084ba4017cbe94f3855"
+checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
dependencies = [
"heck",
"proc-macro2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/html-py-ever/Cargo.toml
new/setuptools_rust-1.12.0/examples/html-py-ever/Cargo.toml
--- old/setuptools_rust-1.11.1/examples/html-py-ever/Cargo.toml 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/html-py-ever/Cargo.toml 2025-08-29
20:24:17.000000000 +0200
@@ -6,7 +6,7 @@
[dependencies]
kuchiki = "0.8.0"
-pyo3 = "0.24"
+pyo3 = "0.25"
tendril = "0.4.3"
[lib]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/namespace_package/Cargo.lock
new/setuptools_rust-1.12.0/examples/namespace_package/Cargo.lock
--- old/setuptools_rust-1.11.1/examples/namespace_package/Cargo.lock
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/namespace_package/Cargo.lock
2025-08-29 20:24:17.000000000 +0200
@@ -9,12 +9,6 @@
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -71,11 +65,10 @@
[[package]]
name = "pyo3"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17da310086b068fbdcefbba30aeb3721d5bb9af8db4987d6735b2183ca567229"
+checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
dependencies = [
- "cfg-if",
"indoc",
"libc",
"memoffset",
@@ -89,9 +82,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e27165889bd793000a098bb966adc4300c312497ea25cf7a690a9f0ac5aa5fc1"
+checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
dependencies = [
"once_cell",
"target-lexicon",
@@ -99,9 +92,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05280526e1dbf6b420062f3ef228b78c0c54ba94e157f5cb724a609d0f2faabc"
+checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
dependencies = [
"libc",
"pyo3-build-config",
@@ -109,9 +102,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c3ce5686aa4d3f63359a5100c62a127c9f15e8398e5fdeb5deef1fed5cd5f44"
+checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -121,9 +114,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4cf6faa0cbfb0ed08e89beb8103ae9724eb4750e3a78084ba4017cbe94f3855"
+checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
dependencies = [
"heck",
"proc-macro2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/namespace_package/Cargo.toml
new/setuptools_rust-1.12.0/examples/namespace_package/Cargo.toml
--- old/setuptools_rust-1.11.1/examples/namespace_package/Cargo.toml
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/namespace_package/Cargo.toml
2025-08-29 20:24:17.000000000 +0200
@@ -18,4 +18,4 @@
# path = "src/lib.rs"
[dependencies]
-pyo3 = "0.24"
+pyo3 = "0.25"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/namespace_package/Cross.toml
new/setuptools_rust-1.12.0/examples/namespace_package/Cross.toml
--- old/setuptools_rust-1.11.1/examples/namespace_package/Cross.toml
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/namespace_package/Cross.toml
2025-08-29 20:24:17.000000000 +0200
@@ -1,7 +1,16 @@
[target.aarch64-unknown-linux-gnu]
image = "cross-pyo3:aarch64-unknown-linux-gnu"
env.passthrough = [
+ "PYO3_PRINT_CONFIG",
"RUST_BACKTRACE",
"RUST_LOG",
"PYO3_CROSS_LIB_DIR",
]
+
+# This avoids cross picking up custom linker from host ~/.cargo/config.toml
+# See: https://github.com/cross-rs/cross/issues/621
+[build.env]
+passthrough = [
+ "CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc",
+ "RUSTFLAGS",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/namespace_package/Dockerfile
new/setuptools_rust-1.12.0/examples/namespace_package/Dockerfile
--- old/setuptools_rust-1.11.1/examples/namespace_package/Dockerfile
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/namespace_package/Dockerfile
2025-08-29 20:24:17.000000000 +0200
@@ -2,13 +2,9 @@
FROM ghcr.io/cross-rs/aarch64-unknown-linux-gnu:edge
-ARG STANDALONE_PYTHON_RELEASE
-ARG STANDALONE_PYTHON_VERSION
-
-RUN test -n "$STANDALONE_PYTHON_RELEASE" || (echo "STANDALONE_PYTHON_RELEASE
not set" && false)
-RUN test -n "$STANDALONE_PYTHON_VERSION" || (echo "STANDALONE_PYTHON_VERSION
not set" && false)
-
-RUN curl -L
https://github.com/indygreg/python-build-standalone/releases/download/${STANDALONE_PYTHON_RELEASE}/cpython-${STANDALONE_PYTHON_VERSION}+${STANDALONE_PYTHON_RELEASE}-x86_64-unknown-linux-gnu-install_only.tar.gz
| tar -xz -C /usr/local
+# PyO3 needs a host Python interpreter to parse the sysconfigdata of the
+# cross-compile interpreter found in /opt/python
+RUN apt-get update && apt-get --assume-yes install python3
ENV PATH=/usr/local/python/bin:$PATH
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/rust_with_cffi/Cargo.lock
new/setuptools_rust-1.12.0/examples/rust_with_cffi/Cargo.lock
--- old/setuptools_rust-1.11.1/examples/rust_with_cffi/Cargo.lock
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/rust_with_cffi/Cargo.lock
2025-08-29 20:24:17.000000000 +0200
@@ -9,12 +9,6 @@
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -64,11 +58,10 @@
[[package]]
name = "pyo3"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17da310086b068fbdcefbba30aeb3721d5bb9af8db4987d6735b2183ca567229"
+checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
dependencies = [
- "cfg-if",
"indoc",
"libc",
"memoffset",
@@ -82,9 +75,9 @@
[[package]]
name = "pyo3-build-config"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e27165889bd793000a098bb966adc4300c312497ea25cf7a690a9f0ac5aa5fc1"
+checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
dependencies = [
"once_cell",
"target-lexicon",
@@ -92,9 +85,9 @@
[[package]]
name = "pyo3-ffi"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05280526e1dbf6b420062f3ef228b78c0c54ba94e157f5cb724a609d0f2faabc"
+checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
dependencies = [
"libc",
"pyo3-build-config",
@@ -102,9 +95,9 @@
[[package]]
name = "pyo3-macros"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c3ce5686aa4d3f63359a5100c62a127c9f15e8398e5fdeb5deef1fed5cd5f44"
+checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -114,9 +107,9 @@
[[package]]
name = "pyo3-macros-backend"
-version = "0.24.1"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4cf6faa0cbfb0ed08e89beb8103ae9724eb4750e3a78084ba4017cbe94f3855"
+checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
dependencies = [
"heck",
"proc-macro2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/examples/rust_with_cffi/Cargo.toml
new/setuptools_rust-1.12.0/examples/rust_with_cffi/Cargo.toml
--- old/setuptools_rust-1.11.1/examples/rust_with_cffi/Cargo.toml
2025-04-04 16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/examples/rust_with_cffi/Cargo.toml
2025-08-29 20:24:17.000000000 +0200
@@ -5,7 +5,7 @@
edition = "2021"
[dependencies]
-pyo3 = "0.24"
+pyo3 = "0.25"
[lib]
name = "rust_with_cffi"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/noxfile.py
new/setuptools_rust-1.12.0/noxfile.py
--- old/setuptools_rust-1.11.1/noxfile.py 2025-04-04 16:28:00.000000000
+0200
+++ new/setuptools_rust-1.12.0/noxfile.py 2025-08-29 20:24:17.000000000
+0200
@@ -2,6 +2,8 @@
from inspect import cleandoc as heredoc
from glob import glob
from pathlib import Path
+import shutil
+import sys
import nox
import nox.command
@@ -73,9 +75,8 @@
git config --global --add safe.directory /io
cd examples/rust_with_cffi/
-# Using crossenv master to workaround
https://github.com/benfogle/crossenv/issues/108, will need 1.5.0 when released
-python3.11 -m pip install
https://github.com/benfogle/crossenv/archive/refs/heads/master.zip
-python3.11 -m crossenv "/opt/python/cp311-cp311/bin/python3" --cc $TARGET_CC
--cxx $TARGET_CXX --sysroot $TARGET_SYSROOT --env LIBRARY_PATH= --manylinux
manylinux1 /venv
+python3.13 -m pip install crossenv
+python3.13 -m crossenv "/opt/python/cp313-cp313/bin/python3" --cc $TARGET_CC
--cxx $TARGET_CXX --sysroot $TARGET_SYSROOT --env LIBRARY_PATH= --manylinux
manylinux1 /venv
. /venv/bin/activate
build-pip install -U 'pip>=23.2.1' 'setuptools>=70.1' 'build>=1'
@@ -128,7 +129,78 @@
"/io",
"--platform",
docker_platform,
- "python:3.11",
+ "python:3.13",
+ "bash",
+ "-c",
+ script_check,
+ external=True,
+ )
+
+
[email protected](name="test-cross")
+def test_cross(session: nox.Session):
+ session.install(".")
+ session.install("-U", "setuptools", "build")
+
+ shutil.rmtree("examples/namespace_package/dist", ignore_errors=True)
+
+ namespace_package = Path(__file__).parent / "examples" /
"namespace_package"
+ os.chdir(namespace_package)
+ session.run(
+ "docker",
+ "build",
+ "-t",
+ "cross-pyo3:aarch64-unknown-linux-gnu",
+ ".",
+ external=True,
+ )
+
+ major_version = sys.version_info[0]
+ minor_version = sys.version_info[1]
+
+ cpXY = f"cp{major_version}{minor_version}"
+
+ tmp = Path(session.create_tmp())
+ extra_config = tmp / "build-opts.cfg"
+ build_config = """
+ [bdist_wheel]
+ plat_name = manylinux2014_aarch64
+ """
+ extra_config.write_text(heredoc(build_config), encoding="utf-8")
+
+ build_env = os.environ.copy()
+ build_env["DIST_EXTRA_CONFIG"] = str(extra_config.absolute())
+ build_env["CARGO"] = "cross"
+ build_env["CARGO_BUILD_TARGET"] = "aarch64-unknown-linux-gnu"
+ build_env["PYO3_CROSS_LIB_DIR"] = f"/opt/python/{cpXY}-{cpXY}/lib"
+
+ # build wheel using cross
+ #
+ # if this step fails, you may need to install cross:
+ # cargo install cross --git https://github.com/cross-rs/cross
+ session.run("python", "-m", "build", "--no-isolation", env=build_env)
+
+ script_check = """
+set -eux
+python3 --version
+python3 -m venv .venv
+source .venv/bin/activate
+pip install namespace_package --no-index --find-links /io/dist/
--force-reinstall
+python -c "from namespace_package import rust; assert rust.rust_func() == 14"
+python -c "from namespace_package import python; assert python.python_func()
== 15"
+"""
+
+ session.run(
+ "docker",
+ "run",
+ "--rm",
+ "-v",
+ f"{namespace_package}:/io",
+ "-w",
+ "/io",
+ "--platform",
+ "aarch64",
+ f"python:3.{minor_version}",
"bash",
"-c",
script_check,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/pyproject.toml
new/setuptools_rust-1.12.0/pyproject.toml
--- old/setuptools_rust-1.11.1/pyproject.toml 2025-04-04 16:28:00.000000000
+0200
+++ new/setuptools_rust-1.12.0/pyproject.toml 2025-08-29 20:24:17.000000000
+0200
@@ -1,6 +1,6 @@
[project]
name = "setuptools-rust"
-version = "1.11.1"
+version = "1.12.0"
description = "Setuptools Rust extension plugin"
readme = "README.md"
requires-python = ">=3.9"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/setuptools_rust/build.py
new/setuptools_rust-1.12.0/setuptools_rust/build.py
--- old/setuptools_rust-1.11.1/setuptools_rust/build.py 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/setuptools_rust/build.py 2025-08-29
20:24:17.000000000 +0200
@@ -147,7 +147,7 @@
target_triple = self._detect_rust_target(forced_target_triple, ext.env)
rustc_cfgs = get_rustc_cfgs(target_triple, ext.env)
- env = _prepare_build_environment(ext.env)
+ env = _prepare_build_environment(ext.env, ext)
if not os.path.exists(ext.path):
raise FileError(
@@ -609,7 +609,7 @@
return "-".join(components)
-def _prepare_build_environment(env: Env) -> Dict[str, str]:
+def _prepare_build_environment(env: Env, ext: RustExtension) -> Dict[str, str]:
"""Prepares environment variables to use when executing cargo build."""
base_executable = None
@@ -636,6 +636,10 @@
"PYO3_PYTHON": env_vars.get("PYO3_PYTHON", executable),
}
)
+
+ if ext.binding == Binding.PyO3:
+ env_vars.setdefault("PYO3_BUILD_EXTENSION_MODULE", "1")
+
return env_vars
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/setuptools_rust/extension.py
new/setuptools_rust-1.12.0/setuptools_rust/extension.py
--- old/setuptools_rust-1.11.1/setuptools_rust/extension.py 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/setuptools_rust/extension.py 2025-08-29
20:24:17.000000000 +0200
@@ -35,7 +35,7 @@
PyO3: This is an extension built using
`PyO3 <https://github.com/pyo3/pyo3>`_.
RustCPython: This is an extension built using
- `rust-cpython <https://github.com/dgrunwald/rust_cpython>`_.
+ `rust-cpython <https://github.com/dgrunwald/rust-cpython>`_.
NoBinding: Bring your own bindings for the extension.
Exec: Build an executable instead of an extension.
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools_rust-1.11.1/setuptools_rust/version.py
new/setuptools_rust-1.12.0/setuptools_rust/version.py
--- old/setuptools_rust-1.11.1/setuptools_rust/version.py 2025-04-04
16:28:00.000000000 +0200
+++ new/setuptools_rust-1.12.0/setuptools_rust/version.py 2025-08-29
20:24:17.000000000 +0200
@@ -1,4 +1,4 @@
-__version__ = version = "1.11.1"
+__version__ = version = "1.12.0"
__version_tuple__ = version_tuple = tuple(
map(lambda x: int(x[1]) if x[0] < 3 else x[1],
enumerate(__version__.split(".")))
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools_rust-1.11.1/setuptools_rust.egg-info/PKG-INFO
new/setuptools_rust-1.12.0/setuptools_rust.egg-info/PKG-INFO
--- old/setuptools_rust-1.11.1/setuptools_rust.egg-info/PKG-INFO
2025-04-04 16:28:06.000000000 +0200
+++ new/setuptools_rust-1.12.0/setuptools_rust.egg-info/PKG-INFO
2025-08-29 20:24:25.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: setuptools-rust
-Version: 1.11.1
+Version: 1.12.0
Summary: Setuptools Rust extension plugin
Author-email: Nikolay Kim <[email protected]>
Project-URL: Homepage, https://github.com/PyO3/setuptools-rust
@@ -98,7 +98,7 @@
edition = "2021"
[dependencies]
-pyo3 = "0.24"
+pyo3 = "0.25"
[lib]
name = "_lib" # private module to be nested into Python package,