Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-maturin for openSUSE:Factory 
checked in at 2025-09-03 21:07:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-maturin (Old)
 and      /work/SRC/openSUSE:Factory/.python-maturin.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-maturin"

Wed Sep  3 21:07:07 2025 rev:53 rq:1302461 version:1.9.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-maturin/python-maturin.changes    
2025-08-22 17:47:18.714770580 +0200
+++ /work/SRC/openSUSE:Factory/.python-maturin.new.1977/python-maturin.changes  
2025-09-03 21:07:20.804422092 +0200
@@ -1,0 +2,14 @@
+Tue Sep  2 14:23:38 UTC 2025 - Nico Krapp <[email protected]>
+
+- Update to 1.9.4
+  * downgrade manylinux version for riscv64 by @ffgan in #2709
+  * Fix calculation of platform tag for FreeBSD by @michael-o in #2711
+  * Add builtin sysconfigs for GraalPy by @msimacek in #2716
+  * Add use-base-python option to pyproject.toml by @SquidDev in #2717
+  * fix clippy warnings by @alex in #2724
+  * Fix Target::get_python_arch comment (#2712) by @michael-o in #2726
+  * Set PYO3_BUILD_EXTENSION_MODULE env var when building pyo3 extension
+    modules by @alex in #2723
+- regenerate vendor tarball to fix CVE-2025-58160 (bsc#1249011)
+
+-------------------------------------------------------------------

Old:
----
  maturin-1.9.3.tar.gz

New:
----
  maturin-1.9.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-maturin.spec ++++++
--- /var/tmp/diff_new_pack.RZ9Nee/_old  2025-09-03 21:07:21.900468406 +0200
+++ /var/tmp/diff_new_pack.RZ9Nee/_new  2025-09-03 21:07:21.904468576 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-maturin
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 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
@@ -23,7 +23,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-maturin
-Version:        1.9.3
+Version:        1.9.4
 Release:        0
 Summary:        Rust/Python Interoperability
 License:        Apache-2.0 OR MIT

++++++ maturin-1.9.3.tar.gz -> maturin-1.9.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/.pre-commit-config.yaml 
new/maturin-1.9.4/.pre-commit-config.yaml
--- old/maturin-1.9.3/.pre-commit-config.yaml   2025-08-04 13:39:48.000000000 
+0200
+++ new/maturin-1.9.4/.pre-commit-config.yaml   2025-08-27 13:23:56.000000000 
+0200
@@ -38,7 +38,7 @@
         types: [rust]
         stages: [manual]  # because it's slow
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v5.0.0
+    rev: v6.0.0
     hooks:
       - id: check-yaml
       - id: check-toml
@@ -56,12 +56,12 @@
           )
       - id: mixed-line-ending
   - repo: https://github.com/astral-sh/ruff-pre-commit
-    rev: v0.12.5
+    rev: v0.12.10
     hooks:
       - id: ruff-format
       - id: ruff
   - repo: https://github.com/pre-commit/mirrors-mypy
-    rev: v1.17.0
+    rev: v1.17.1
     hooks:
       - id: mypy
         entry: mypy maturin/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/Cargo.lock new/maturin-1.9.4/Cargo.lock
--- old/maturin-1.9.3/Cargo.lock        2025-08-04 13:39:48.000000000 +0200
+++ new/maturin-1.9.4/Cargo.lock        2025-08-27 13:23:56.000000000 +0200
@@ -1436,7 +1436,7 @@
 
 [[package]]
 name = "maturin"
-version = "1.9.3"
+version = "1.9.4"
 dependencies = [
  "anyhow",
  "base64 0.21.7",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/Cargo.toml new/maturin-1.9.4/Cargo.toml
--- old/maturin-1.9.3/Cargo.toml        1970-01-01 01:00:00.000000000 +0100
+++ new/maturin-1.9.4/Cargo.toml        1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
 [package]
 authors = ["konstin <[email protected]>", "messense <[email protected]>"]
 name = "maturin"
-version = "1.9.3"
+version = "1.9.4"
 description = "Build and publish crates with pyo3, cffi and uniffi bindings as 
well as rust binaries as python packages"
 exclude = [
     "test-crates/**/*",
@@ -63,7 +63,7 @@
     "deflate",
     "time",
     "zstd",
-    "lzma"
+    "lzma",
 ] }
 thiserror = "2.0.3"
 fs-err = "3.0.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/Changelog.md 
new/maturin-1.9.4/Changelog.md
--- old/maturin-1.9.3/Changelog.md      2025-08-04 13:39:48.000000000 +0200
+++ new/maturin-1.9.4/Changelog.md      2025-08-27 13:23:56.000000000 +0200
@@ -1,6 +1,10 @@
 # Changelog
 
-## Unreleased
+## [1.9.4]
+
+* Add a `use-base-python` option to `pyproject.toml` with the same behaviour 
as `MATURIN_PEP517_USE_BASE_PYTHON`.
+* Add builtin sysconfigs for GraalPy
+* Fix calculation of platform tag for FreeBSD
 
 ## [1.9.3]
 
@@ -1094,7 +1098,10 @@
 
  * Initial Release
 
-[Unreleased]: https://github.com/pyo3/maturin/compare/v1.9.1...HEAD
+[Unreleased]: https://github.com/pyo3/maturin/compare/v1.9.4...HEAD
+[1.9.4]: https://github.com/pyo3/maturin/compare/v1.9.3...v1.9.4
+[1.9.3]: https://github.com/pyo3/maturin/compare/v1.9.2...v1.9.3
+[1.9.2]: https://github.com/pyo3/maturin/compare/v1.9.1...v1.9.2
 [1.9.1]: https://github.com/pyo3/maturin/compare/v1.9.0...v1.9.1
 [1.9.0]: https://github.com/pyo3/maturin/compare/v1.8.7...v1.9.0
 [1.8.7]: https://github.com/pyo3/maturin/compare/v1.8.6...v1.8.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/PKG-INFO new/maturin-1.9.4/PKG-INFO
--- old/maturin-1.9.3/PKG-INFO  1970-01-01 01:00:00.000000000 +0100
+++ new/maturin-1.9.4/PKG-INFO  1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +1,11 @@
 Metadata-Version: 2.4
 Name: maturin
-Version: 1.9.3
+Version: 1.9.4
 Classifier: Topic :: Software Development :: Build Tools
 Classifier: Programming Language :: Rust
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Programming Language :: Python :: Implementation :: GraalPy
 Requires-Dist: tomli>=1.1.0 ; python_full_version < '3.11'
 Requires-Dist: ziglang>=0.10.0,<0.13.0 ; extra == 'zig'
 Requires-Dist: patchelf ; extra == 'patchelf'
@@ -254,6 +255,7 @@
 
 ## Examples
 
+- [agg-python-bindings](https://pypi.org/project/agg-python-bindings) - A 
Python Library that binds to Asciinema Agg terminal record renderer and Avt 
terminal emulator
 - [ballista-python](https://github.com/apache/arrow-ballista-python) - A 
Python library that binds to Apache Arrow distributed query engine Ballista
 - [bleuscore](https://github.com/shenxiangzhuang/bleuscore) - A BLEU score 
calculation library, written in pure Rust
 - [chardetng-py](https://github.com/john-parton/chardetng-py) - Python binding 
for the chardetng character encoding detector.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/README.md new/maturin-1.9.4/README.md
--- old/maturin-1.9.3/README.md 2025-08-04 13:39:48.000000000 +0200
+++ new/maturin-1.9.4/README.md 2025-08-27 13:23:56.000000000 +0200
@@ -229,6 +229,7 @@
 
 ## Examples
 
+- [agg-python-bindings](https://pypi.org/project/agg-python-bindings) - A 
Python Library that binds to Asciinema Agg terminal record renderer and Avt 
terminal emulator
 - [ballista-python](https://github.com/apache/arrow-ballista-python) - A 
Python library that binds to Apache Arrow distributed query engine Ballista
 - [bleuscore](https://github.com/shenxiangzhuang/bleuscore) - A BLEU score 
calculation library, written in pure Rust
 - [chardetng-py](https://github.com/john-parton/chardetng-py) - Python binding 
for the chardetng character encoding detector.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/maturin/__init__.py 
new/maturin-1.9.4/maturin/__init__.py
--- old/maturin-1.9.3/maturin/__init__.py       2025-08-04 13:39:48.000000000 
+0200
+++ new/maturin-1.9.4/maturin/__init__.py       2025-08-27 13:23:56.000000000 
+0200
@@ -50,7 +50,7 @@
 
 def _get_sys_executable() -> str:
     executable = sys.executable
-    if os.getenv("MATURIN_PEP517_USE_BASE_PYTHON") in {"1", "true"}:
+    if os.getenv("MATURIN_PEP517_USE_BASE_PYTHON") in {"1", "true"} or 
get_config().get("use-base-python"):
         # Use the base interpreter path when running inside a venv to avoid 
recompilation
         # when switching between venvs
         base_executable = getattr(sys, "_base_executable")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/maturin.schema.json 
new/maturin-1.9.4/maturin.schema.json
--- old/maturin-1.9.3/maturin.schema.json       2025-08-04 13:39:48.000000000 
+0200
+++ new/maturin-1.9.4/maturin.schema.json       2025-08-27 13:23:56.000000000 
+0200
@@ -202,6 +202,11 @@
       "items": {
         "type": "string"
       }
+    },
+    "use-base-python": {
+      "description": "Use base Python executable instead of venv Python 
executable in PEP 517 build.",
+      "default": false,
+      "type": "boolean"
     }
   },
   "definitions": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/pyproject.toml 
new/maturin-1.9.4/pyproject.toml
--- old/maturin-1.9.3/pyproject.toml    2025-08-04 13:39:48.000000000 +0200
+++ new/maturin-1.9.4/pyproject.toml    2025-08-27 13:23:56.000000000 +0200
@@ -24,6 +24,7 @@
     "Programming Language :: Rust",
     "Programming Language :: Python :: Implementation :: CPython",
     "Programming Language :: Python :: Implementation :: PyPy",
+    "Programming Language :: Python :: Implementation :: GraalPy",
 ]
 dependencies = ["tomli>=1.1.0 ; python_version<'3.11'"]
 dynamic = ["version"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/src/build_context.rs 
new/maturin-1.9.4/src/build_context.rs
--- old/maturin-1.9.3/src/build_context.rs      2025-08-04 13:39:48.000000000 
+0200
+++ new/maturin-1.9.4/src/build_context.rs      2025-08-27 13:23:56.000000000 
+0200
@@ -624,7 +624,14 @@
                 }
             }
             // FreeBSD
-            (Os::FreeBsd, _)
+            | (Os::FreeBsd, _) => {
+                format!(
+                    "{}_{}_{}",
+                    target.target_os().to_string().to_ascii_lowercase(),
+                    target.get_platform_release()?.to_ascii_lowercase(),
+                    target.target_arch().machine(),
+                )
+            }
             // NetBSD
             | (Os::NetBsd, _)
             // OpenBSD
@@ -724,7 +731,7 @@
             &self.out,
             &self.project_layout.project_root,
             &self.metadata24,
-            &[tag.clone()],
+            std::slice::from_ref(&tag),
             self.excludes(Format::Wheel)?,
             self.compression,
         )?;
@@ -803,7 +810,7 @@
             &self.out,
             &self.project_layout.project_root,
             &self.metadata24,
-            &[tag.clone()],
+            std::slice::from_ref(&tag),
             self.excludes(Format::Wheel)?,
             self.compression,
         )?;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/src/compile.rs 
new/maturin-1.9.4/src/compile.rs
--- old/maturin-1.9.3/src/compile.rs    2025-08-04 13:39:48.000000000 +0200
+++ new/maturin-1.9.4/src/compile.rs    2025-08-27 13:23:56.000000000 +0200
@@ -411,6 +411,11 @@
         }
     }
 
+    // Set PYO3_BUILD_EXTENSION_MODULE when building pyo3 extension modules
+    if bridge_model.is_pyo3() && !bridge_model.is_bin() {
+        build_command.env("PYO3_BUILD_EXTENSION_MODULE", "1");
+    }
+
     // Setup `PYO3_CONFIG_FILE` if we are cross compiling for pyo3 bindings
     if let Some(interpreter) = python_interpreter {
         // Target python interpreter isn't runnable when cross compiling
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/src/module_writer.rs 
new/maturin-1.9.4/src/module_writer.rs
--- old/maturin-1.9.3/src/module_writer.rs      2025-08-04 13:39:48.000000000 
+0200
+++ new/maturin-1.9.4/src/module_writer.rs      2025-08-27 13:23:56.000000000 
+0200
@@ -243,7 +243,7 @@
     compression: CompressionOptions,
 }
 impl CompressionOptions {
-    fn get_file_options(&self) -> zip::write::FileOptions<()> {
+    fn get_file_options(&self) -> zip::write::FileOptions<'_, ()> {
         let method = if cfg!(feature = "faster-tests") {
             // Unlike users which can use the develop subcommand, the tests 
have to go through
             // packing a zip which pip than has to unpack. This makes this 2-3 
times faster
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/src/pyproject_toml.rs 
new/maturin-1.9.4/src/pyproject_toml.rs
--- old/maturin-1.9.3/src/pyproject_toml.rs     2025-08-04 13:39:48.000000000 
+0200
+++ new/maturin-1.9.4/src/pyproject_toml.rs     2025-08-27 13:23:56.000000000 
+0200
@@ -223,6 +223,13 @@
     pub unstable_flags: Option<Vec<String>>,
     /// Additional rustc arguments
     pub rustc_args: Option<Vec<String>>,
+    /// Use base Python executable instead of venv Python executable in PEP 
517 build.
+    //
+    // This can help avoid unnecessary rebuilds, as the Python executable does 
not change
+    // every time. It should not be set when the sdist build requires packages 
installed
+    // in venv.
+    #[serde(default)]
+    pub use_base_python: bool,
 }
 
 /// A pyproject.toml as specified in PEP 517
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/src/python_interpreter/config.rs 
new/maturin-1.9.4/src/python_interpreter/config.rs
--- old/maturin-1.9.3/src/python_interpreter/config.rs  2025-08-04 
13:39:48.000000000 +0200
+++ new/maturin-1.9.4/src/python_interpreter/config.rs  2025-08-27 
13:23:56.000000000 +0200
@@ -12,7 +12,21 @@
 use std::path::Path;
 
 const PYPY_ABI_TAG: &str = "pp73";
-const GRAALPY_ABI_TAG: &str = "graalpy230_310_native";
+
+fn graalpy_version_for_python_version(major: usize, minor: usize) -> 
Option<(usize, usize)> {
+    match (major, minor) {
+        (3, 10) => Some((24, 0)),
+        (3, 11) => Some((24, 2)),
+        // Since 25.0, GraalPy should only change the major release number for 
feature releases.
+        // Additionally, it promises that only the autumn (oddly-numbered) 
releases are
+        // allowed to break ABI compatibility, so only those can change the 
Python version.
+        // The even-numbered releases will report the ABI version of the 
previous release.
+        // So assuming that GraalPy doesn't fall terribly behind on updating 
Python version,
+        // the version used in the ABI should follow this formula
+        (3, 12..) => Some((25 + (minor - 12) * 2, 0)),
+        (_, _) => None,
+    }
+}
 
 /// Some of the sysconfigdata of Python interpreter we care about
 #[derive(Debug, Clone, Deserialize, Eq, PartialEq)]
@@ -92,6 +106,20 @@
                     gil_disabled,
                 })
             }
+            (Os::Linux, GraalPy) => {
+                let (graalpy_major, graalpy_minor) =
+                    graalpy_version_for_python_version(major, minor)?;
+                let ext_suffix = 
format!(".graalpy{graalpy_major}{graalpy_minor}-{major}{minor}-native-{python_ext_arch}-linux.so");
+                Some(Self {
+                    major,
+                    minor,
+                    interpreter_kind: GraalPy,
+                    abiflags: String::new(),
+                    ext_suffix,
+                    pointer_width: Some(target.pointer_width()),
+                    gil_disabled,
+                })
+            }
             (Os::Macos, CPython) => {
                 let abiflags = if python_version < (3, 8) {
                     "m".to_string()
@@ -122,6 +150,20 @@
                     gil_disabled,
                 })
             }
+            (Os::Macos, GraalPy) => {
+                let (graalpy_major, graalpy_minor) =
+                    graalpy_version_for_python_version(major, minor)?;
+                let ext_suffix = 
format!(".graalpy{graalpy_major}{graalpy_minor}-{major}{minor}-native-{python_ext_arch}-darwin.so");
+                Some(Self {
+                    major,
+                    minor,
+                    interpreter_kind: GraalPy,
+                    abiflags: String::new(),
+                    ext_suffix,
+                    pointer_width: Some(target.pointer_width()),
+                    gil_disabled,
+                })
+            }
             (Os::Windows, CPython) => {
                 let abiflags = if python_version < (3, 8) {
                     "m".to_string()
@@ -319,7 +361,11 @@
                 }
             }
             InterpreterKind::PyPy => abi_tag.unwrap_or_else(|| 
PYPY_ABI_TAG.to_string()),
-            InterpreterKind::GraalPy => abi_tag.unwrap_or_else(|| 
GRAALPY_ABI_TAG.to_string()),
+            InterpreterKind::GraalPy => abi_tag.unwrap_or_else(|| {
+                let (graalpy_major, graalpy_minor) =
+                    graalpy_version_for_python_version(major, 
minor).unwrap_or((23, 0));
+                
format!("graalpy{graalpy_major}{graalpy_minor}_{major}{minor}_native")
+            }),
         };
         let file_ext = if target.is_windows() { "pyd" } else { "so" };
         let ext_suffix = if target.is_linux() || target.is_macos() || 
target.is_hurd() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/src/python_interpreter/mod.rs 
new/maturin-1.9.4/src/python_interpreter/mod.rs
--- old/maturin-1.9.3/src/python_interpreter/mod.rs     2025-08-04 
13:39:48.000000000 +0200
+++ new/maturin-1.9.4/src/python_interpreter/mod.rs     2025-08-27 
13:23:56.000000000 +0200
@@ -325,7 +325,7 @@
         match *self {
             InterpreterKind::CPython => write!(f, "CPython"),
             InterpreterKind::PyPy => write!(f, "PyPy"),
-            InterpreterKind::GraalPy => write!(f, "GraalPy"),
+            InterpreterKind::GraalPy => write!(f, "GraalVM"),
         }
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-1.9.3/src/target/mod.rs 
new/maturin-1.9.4/src/target/mod.rs
--- old/maturin-1.9.3/src/target/mod.rs 2025-08-04 13:39:48.000000000 +0200
+++ new/maturin-1.9.4/src/target/mod.rs 2025-08-27 13:23:56.000000000 +0200
@@ -378,7 +378,7 @@
         Ok(release)
     }
 
-    /// Returns the name python uses in `sys.platform` for this architecture.
+    /// Returns the name python uses in `platform.machine()` for this 
architecture.
     pub fn get_python_arch(&self) -> &str {
         match self.arch {
             Arch::Aarch64 => "aarch64",

++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/python-maturin/vendor.tar.xz 
/work/SRC/openSUSE:Factory/.python-maturin.new.1977/vendor.tar.xz differ: char 
15, line 1

Reply via email to