python-pyside6 fails to build with Python 3.14.0a1. FAILED: sources/pyside6/PySide6/QtCore/CMakeFiles/QtCore_pyi /builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/redhat-linux-build/sources/pyside6/PySide6/QtCore/CMakeFiles/QtCore_pyi cd /builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/redhat-linux-build/sources/pyside6/PySide6/QtCore && /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/redhat-linux-build/sources/pyside6/libpyside:/builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/redhat-linux-build/sources/pyside6/libpysideqml:/builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/redhat-linux-build/sources/shiboken6/libshiboken /usr/bin/python3.14 /builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/sources/pyside6/PySide6/QtCore/../support/generate_pyi.py QtCore --sys-path /builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/redhat-linux-build/sources/pyside6 /builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/redhat-linux-build/sources/shiboken6/shibokenmodule/.. Traceback (most recent call last): File "/builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/sources/pyside6/PySide6/QtCore/../support/generate_pyi.py", line 93, in <module> generate_all_pyi(outpath, options=options) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/python-pyside6-6.8.0-build/pyside-setup-everywhere-src-6.8/sources/pyside6/PySide6/QtCore/../support/generate_pyi.py", line 60, in generate_all_pyi generate_pyi(import_name, outpath, options) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "shibokensupport/signature/lib/pyi_generator.py", line 302, in generate_pyi File "shibokensupport/signature/lib/enum_sig.py", line 93, in module File "shibokensupport/signature/lib/enum_sig.py", line 219, in klass File "shibokensupport/signature/lib/enum_sig.py", line 247, in function File "/usr/lib64/python3.14/contextlib.py", line 141, in __enter__ return next(self.gen) File "shibokensupport/signature/lib/pyi_generator.py", line 173, in function File "shibokensupport/signature/lib/pyi_generator.py", line 186, in _function File "shibokensupport/signature/lib/pyi_generator.py", line 82, in fix_typing_prefix File "/usr/lib64/python3.14/inspect.py", line 3195, in __str__ return self.format() ~~~~~~~~~~~^^ File "/usr/lib64/python3.14/inspect.py", line 3214, in format formatted = param._format(quote_annotation_strings=quote_annotation_strings) File "/usr/lib64/python3.14/inspect.py", line 2726, in _format annotation = formatannotation(self._annotation, quote_annotation_strings=quote_annotation_strings) TypeError: Formatter.formatannotation() got an unexpected keyword argument 'quote_annotation_strings' https://docs.python.org/3.14/whatsnew/3.14.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.14/fedora-rawhide-x86_64/08207162-python-pyside6/ For all our attempts to build python-pyside6 with Python 3.14, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.14/package/python-pyside6/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.14: https://copr.fedorainfracloud.org/coprs/g/python/python3.14/ Let us know here if you have any questions. Python 3.14 is planned to be included in Fedora 43. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.14. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
The bugfix was backported to 4.4.4, which is available on rawhide.
oops, wrong issue.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42.
This blocks the rebuild of libvreoofice, which in turn blocks the @workstation-product group.
s/libvreoofice/libreoffice/
The first issue is easy to solve: diff --git a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py index c5dc44644..8091856b9 100644 --- a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py +++ b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py @@ -69,12 +69,12 @@ class Formatter(Writer): backup = inspect.formatannotation @classmethod - def formatannotation(cls, annotation, base_module=None): + def formatannotation(cls, annotation, base_module=None, **kwargs): if getattr(annotation, '__module__', None) == 'typing': # do not remove the prefix! return repr(annotation) # do the normal action. - return cls.backup(annotation, base_module) + return cls.backup(annotation, base_module, **kwargs) @classmethod def fix_typing_prefix(cls, signature): However, this just uncovers another problem: Traceback (most recent call last): File "shibokensupport/signature/loader.py", line 40, in create_signature File "shibokensupport/signature/layout.py", line 396, in create_signature File "shibokensupport/signature/layout.py", line 287, in create_signature_union File "shibokensupport/signature/layout.py", line 287, in <genexpr> File "shibokensupport/signature/layout.py", line 349, in create_signature_union File "/usr/lib64/python3.14/typing.py", line 401, in inner return func(*args, **kwds) File "/usr/lib64/python3.14/typing.py", line 553, in __getitem__ return self._getitem(self, parameters) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/typing.py", line 733, in Optional arg = _type_check(parameters, f"{self} requires a single type.") File "/usr/lib64/python3.14/typing.py", line 212, in _type_check raise TypeError(f"{msg} Got {arg!r:.100}.") TypeError: typing.Optional requires a single type. Got (<class 'PySide6.QtGui.QKeySequence'>, <class 'PySide6.QtCore.QKeyCombination'>, <enum 'StandardKey'. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/builddir/build/BUILD/python-pyside6-6.9.0-build/pyside-setup-everywhere-src-6.9.0/sources/pyside6/PySide6/QtWidgets/../support/generate_pyi.py", line 94, in <module> generate_all_pyi(outpath, options=options) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/python-pyside6-6.9.0-build/pyside-setup-everywhere-src-6.9.0/sources/pyside6/PySide6/QtWidgets/../support/generate_pyi.py", line 61, in generate_all_pyi generate_pyi(import_name, outpath, options) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "shibokensupport/signature/lib/pyi_generator.py", line 318, in generate_pyi File "shibokensupport/signature/lib/enum_sig.py", line 119, in module File "shibokensupport/signature/lib/enum_sig.py", line 216, in klass File "shibokensupport/signature/lib/enum_sig.py", line 216, in <genexpr> SystemError: <built-in function get_signature> returned a result with an exception set
FYI, I uploaded fix for the first issue ~2 hours ago @ https://codereview.qt-project.org/c/pyside/pyside-setup/+/647510.
(In reply to Łukasz Patron from comment #7) > FYI, I uploaded fix for the first issue ~2 hours ago @ > https://codereview.qt-project.org/c/pyside/pyside-setup/+/647510. Thanks!
With https://codereview.qt-project.org/c/pyside/pyside-setup/+/647576 it builds, I'm not convinced it's correct tho.
We can build ti in our copr(s) and see what do the dependents think about it.
Testing from https://src.fedoraproject.org/rpms/python-pyside6/pull-request/11