Package: src:meson-python Version: 0.19.0-2 User: [email protected] Usertags: python3.15 Tags: patch, ftbfs, forky, sid
Hi! While rebuilding the python related packages against the Python 3.15rc2 version we found that meson-python fails to build from source [1]. The error encountered is: mesonpy.BuildError: The package declares compatibility with Python limited API but extension module 'extension.abi3-x86_64-linux-gnu.so' is tagged for a specific Python version. The issue can be fixed by applying the upstream commit 865aa6138ab5522b3bee540b64d78ca87c4cec2a [2] BUG: adjust regexp to extract ABI from extension filename I applied the upstream fix in the sandbox [3] to be able to build the packages that depend on meson-python, please consider applying the patch to support the upcoming 3.15 version. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4483856/ [2]: https://github.com/mesonbuild/meson-python/commit/865aa6138ab5522b3bee540b64d78ca87c4cec2a [3]: https://debusine.debian.net/debian/r-python-python3.15/ -- "Can you imagine what I would do if I could do all I can?" -- Sun Tzu Saludos /\/\ /\ >< `/
From: Daniele Nicolodi <[email protected]> Date: Fri, 7 Aug 2026 21:19:20 +0200 Subject: BUG: adjust regexp to extract ABI from extension filename Allow stable ABI extension filenames to include a multiarch tuple. Fixes #875. (cherry picked from commit 865aa6138ab5522b3bee540b64d78ca87c4cec2a) --- mesonpy/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesonpy/__init__.py b/mesonpy/__init__.py index 2decdcc..b1cff26 100644 --- a/mesonpy/__init__.py +++ b/mesonpy/__init__.py @@ -95,7 +95,7 @@ _MESON_REQUIRED_VERSION = '0.63.3' # keep in sync with the version requirement i _MESON_ARGS_KEYS = ['dist', 'setup', 'compile', 'install'] _SUFFIXES = importlib.machinery.all_suffixes() -_EXTENSION_SUFFIX_REGEX = re.compile(r'^[^.]+\.(?:(?P<abi>[^.]+)\.)?(?:so|pyd|dll)$') +_EXTENSION_SUFFIX_REGEX = re.compile(r'^[^.]+\.(?:(?P<abi>[^.-]+)(?:-[^.]+)?\.)?(?:so|pyd|dll)$') assert all(re.match(_EXTENSION_SUFFIX_REGEX, f'foo{x}') for x in importlib.machinery.EXTENSION_SUFFIXES) # Map Meson installation path placeholders to wheel installation paths.

