Repository navigation
Conversation
luhenry
added a commit
that referenced
this pull request
Oct 15, 2026
luhenry
marked this pull request as draft
October 15, 2026 12:14
Base of the pyside6 family (shiboken6 -> pyside6-essentials -> pyside6-addons -> pyside6); pyside-setup's build_scripts/config.py only exposes all/shiboken6/shiboken6-generator/pyside6 as --build-type values, so this workflow runs the full --build-type=pyside6 --standalone build and carves wheels out with the repo's own create_wheels.py, publishing only the Essentials wheel. The same build tree also produces PySide6_Addons and the PySide6 meta-wheel for a future port to extend.
shiboken6's ApiExtractor looks for libclang's builtin headers under $LLVM_INSTALL_DIR/lib/clang/<ver>/include, falling back to `llvm-config --libdir`. On Rocky 10 that reports /usr/lib64/llvm21/lib64, while clang-libs installs the headers in /usr/lib/clang/21/include, so every Qt module's generator run failed with "stddef.h file not found". Set LLVM_INSTALL_DIR=/usr for the pyside6 build so it finds them.
libpyside/dynamicqmetaobject.cpp calls QMetaPropertyBuilder::setVirtual() and setOverride(), which Qt only added in 6.11. The manylinux_riscv64 image's Qt6 AppStream packages are 6.10.1 (noted in this PR's own description as a known 6.10/6.11 API-surface gap), so the pyside6 build failed: dynamicqmetaobject.cpp:352:17: error: 'class QMetaPropertyBuilder' has no member named 'setVirtual'; did you mean 'setFinal'? dynamicqmetaobject.cpp:353:17: error: 'class QMetaPropertyBuilder' has no member named 'setOverride' Guard both calls behind a QT_VERSION check so the module still builds against 6.10.1, same tradeoff as every other 6.11-only surface this build already exposes as 6.10. Apply it via the usual patches/ mechanism, which needs this repo checked out alongside pyside-setup.
luhenry
force-pushed
the
pyside6-essentials
branch
from
November 5, 2026 16:32
b052972 to
8009452
Compare
CMake AUTOMOC failed on QtCore because qbasicreadwritelock_wrapper.cpp is listed unconditionally but shiboken only generates it for Qt >= 6.11 (typesystem since="6.11"), and the image ships Qt 6.10.1. Guard that and the other since="6.11" wrappers (QtGui QQuaternion::Axes, QtGraphs QCustomSeries, QtWebView classes) by Qt version.
Run 42480097603's QtWidgets build failed: fatal error: /work/build/.../PySide6/QtWidgets/PySide6/QtWidgets/ qstyleoptionmenuitemv2_wrapper.cpp: No such file or directory typesystem_widgets_common.xml marks QStyleOptionMenuItemV2 since="6.11" same as the QBasicReadWriteLock/Axes/QCustomSeries/QWebView* classes 0002 already guards, so shiboken generates no wrapper for it against Rocky 10's Qt 6.10.1, but QtWidgets/CMakeLists.txt still lists the *_wrapper.cpp unconditionally. QtWidgets isn't AUTOMOC'd like the other modules, so the gap surfaces later, as a ninja Unity-build compile failure rather than an AutoGen error. Extend 0002's same guard to it.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pyside6-essentials6.11.2Compiles PySide6's 22 Essentials Qt modules (Core, Gui, Widgets, Qml, Quick, Sql, Svg, ...) via shiboken6. Upstream publishes no riscv64 wheel for any pyside6-* distribution.
Mirrors pyside-setup's own release recipe (
setup.py bdist_wheel --build-type=... --standalone+create_wheels.py); the project has no public CI workflow to link (Gerrit, not GitHub Actions).Differs from upstream
qt6-*-devel,clang-devel,llvm-devel), not a Qt installer, since the build runs inside manylinux_2_39_riscv64.Matrix: single cp310-abi3 build (built on cp312), matching upstream's limited-API wheel.
Testing
License: wheel bundles the Qt 6.10.1 runtime (LGPL-3.0-only, same licence as this package); sources are Rocky 10 AppStream's public SRPMs.
Base of the pyside6 family (shiboken6 #1696 -> essentials -> addons -> pyside6). The same build tree carves out PySide6_Addons and the PySide6 meta-wheel too; unlike addons, essentials needs none of the 9 Qt modules Rocky 10 doesn't package (WebEngine/Pdf/Graphs/HttpServer/WebView).