Package: src:scikit-build-core Version: 0.11.6-4 User: [email protected] Usertags: python3.15 Tags: patch, ftbfs, forky, sid Severity: important
Hi! While rebuilding the python related packages against the Python 3.15rc2 version we found that scikit-build-core fails to build from source [1]. The error is: AssertionError: assert 'abi3_example...-linux-gnu.so' == 'abi3_example.abi3.so' And the fix is to apply the upstream commit e1ee4b1d test: accept new CPython 3.15rc1 abi3 suffix in abi3 tests (#1529) [2]. I've applied the upstream fix in the sandbox [3] to verify that it builds successfully, please consider applying the patch to support the upcoming 3.15 version. Setting the severity to important for now. Once Python 3.15 is released, it will be added to python3-defaults and this bug will become release critical. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4671445/ [2]: https://github.com/scikit-build/scikit-build-core/commit/e1ee4b1d6057c593ac0b1999e3c929d4910f6e89 [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: Henry Schreiner <[email protected]> Date: Sun, 9 Aug 2026 23:06:01 -0400 Subject: test: accept new CPython 3.15rc1 abi3 suffix in abi3 tests (#1529) CPython 3.15rc1 adds the platform triplet to the abi3 extension suffix (e.g. abi3-x86_64-linux-gnu.so instead of abi3.so). Match either form instead of the old literal name. Assisted-by: ClaudeCode:claude-sonnet-5 Origin: backport, https://github.com/scikit-build/scikit-build-core/commit/e1ee4b1d6057c593ac0b1999e3c929d4910f6e89 Last-Update: 2026-09-10 --- Index: scikit-build-core/tests/test_pyproject_abi3.py =================================================================== --- scikit-build-core.orig/tests/test_pyproject_abi3.py +++ scikit-build-core/tests/test_pyproject_abi3.py @@ -1,3 +1,4 @@ +import re import shutil import sys import sysconfig @@ -11,6 +12,9 @@ from scikit_build_core.build import buil DIR = Path(__file__).parent.resolve() ABI_PKG = DIR / "packages/abi3_pyproject_ext" SYSCONFIGPLAT = sysconfig.get_platform() +# CPython 3.15rc1+ appends the platform triplet to the abi3 suffix +# (e.g. "abi3-x86_64-linux-gnu.so" instead of "abi3.so"). +ABI3_SO_RE = re.compile(r"abi3_example\.abi3(-[\w.-]+)?\.so") @pytest.mark.compile @@ -59,9 +63,9 @@ def test_abi3_wheel(tmp_path, monkeypatc else: assert so_file != "abi3_example.abi3.dll" elif abi3: - assert so_file == "abi3_example.abi3.so" + assert ABI3_SO_RE.fullmatch(so_file) else: - assert so_file != "abi3_example.abi3.so" + assert not ABI3_SO_RE.fullmatch(so_file) virtualenv.install(wheel) Index: scikit-build-core/tests/test_setuptools_abi3.py =================================================================== --- scikit-build-core.orig/tests/test_setuptools_abi3.py +++ scikit-build-core/tests/test_setuptools_abi3.py @@ -1,3 +1,4 @@ +import re import shutil import sys import sysconfig @@ -13,6 +14,9 @@ pytestmark = pytest.mark.setuptools DIR = Path(__file__).parent.resolve() ABI_PKG = DIR / "packages/abi3_setuptools_ext" SYSCONFIGPLAT = sysconfig.get_platform() +# CPython 3.15rc1+ appends the platform triplet to the abi3 suffix +# (e.g. "abi3-x86_64-linux-gnu.so" instead of "abi3.so"). +ABI3_SO_RE = re.compile(r"abi3_example\.abi3(-[\w.-]+)?\.so") @pytest.mark.compile @@ -56,7 +60,7 @@ def test_abi3_wheel(tmp_path, monkeypatc elif sys.platform.startswith("cygwin"): assert "abi3_example.abi3.dll" in file_names else: - assert "abi3_example.abi3.so" in file_names + assert any(ABI3_SO_RE.fullmatch(name) for name in file_names) virtualenv.install(wheel)

