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,

Reply via email to