aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts
Commit message (Collapse)AuthorAgeFilesLines
* PySide6: Add virtualkeyboarsettings to wheelShyamnath Premnadh3 days1-0/+2
| | | | | | | | | | | - Adds libQt5VirtualKeyboardSettings.so (or the corresponding .dylib or .dll) to the wheel. This is required to use `import QtQuick.VirtualKeyboard.Settings` from QML. Pick-to: 6.7 6.5 Fixes: PYSIDE-2750 Change-Id: Ibd25c539a6a13a5a6ee19f0a86bc2a6402155bb6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Tooling: Add pyside6-balsamuiShyamnath Premnadh2024-04-191-1/+2
| | | | | | | | | | - Add documentation for the tool - Add a screenshot of the tool Pick-to: 6.7 6.6 6.5 Task-number: PYSIDE-2629 Change-Id: I63d1d7e65d92ec37012ce40bb319dfeef9c9695b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Tooling: add pyside6-balsamShyamnath Premnadh2024-04-182-1/+3
| | | | | | | | | - Also add the relevant documentation Pick-to: 6.7 6.6 6.5 Task-number: PYSIDE-2629 Change-Id: Ic2e7798a5f0ff7015cb87089dda2420ed6327ca2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Tooling: Add pyside6-qsbShyamnath Premnadh2024-04-182-1/+3
| | | | | | | | | | | - Analogous to the qsb tool in Qt - Add pyside6-qsb tool to the documentation - Update developer documentation Pick-to: 6.7 6.6 6.5 Task-number: PYSIDE-2629 Change-Id: I93058ebb2864491e951f4f828d703d8893fbcbe7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove deprecated command 'build_rst_docs'Dennis Oberst2024-04-123-13/+5
| | | | | | | | | | | ... has been removed in favor of 'build_base_docs'. [ChangeLog][PySide6] 'build_rst_docs' has been removed in favor of 'build_base_docs'. Fixes: PYSIDE-2504 Change-Id: I2abcd6d1cef8c6b6095c9f25500380adc748ab83 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: Add multimedia dependencies to Qt artifactsAdrian Herrmann2024-03-282-0/+9
| | | | | | | | | | Add a number of DLL dependencies required by Qt Multimedia to the list of Qt artifacts to be retrieved from the Qt binary directory. Fixes: PYSIDE-2656 Pick-to: 6.7 6.6 6.6.3.1 Change-Id: I0ead82ce09a7afb309ff674b4f5fe5afc32319da Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* create_wheels: Add Qt quick controls style librariesFriedemann Kleint2024-03-271-5/+10
| | | | | | | Pick-to: 6.7 6.6 6.6.3.1 Fixes: PYSIDE-2655 Change-Id: I0049c6e7c639a63f16365e24723ee1eb18d6a729 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* qfp_tool: Add an option to run build_base_docsFriedemann Kleint2024-03-251-2/+17
| | | | | | Pick-to: 6.7 Change-Id: I78aac2f14fdea467f5ba339bc6c3698e916efb86 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build: add missing libraries for the wheelsCristián Maureira-Fredes2024-03-131-0/+14
| | | | | | | | | | 6.7 introduced many other files that needs to be included in order to enable other styles for QuickControls2, but also other files were included, like QmlNetwork, and QuickTimelineBlendTrees. Change-Id: Id5e8fa1024e0111717258d44627310f3fd45df3a Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* build: add missing libraries for Quick3DCristián Maureira-Fredes2024-03-131-0/+4
| | | | | | | | | Discovered while adding the new libraries for 6.7 some Quick3D binaries were missing. Change-Id: I4b533f8a8c90ea0eba148451f5f3391a56373b80 Pick-to: 6.6 6.5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android Wheels: Update Python version to 3.11Shyamnath Premnadh2024-03-131-1/+1
| | | | | | | | | | | | | | - python-for-android target python is now upgrade to 3.11 - https://github.com/kivy/python-for-android/pull/2850. This constrains us to update to 3.11 to resolve linker issues for shiboken and PySide binaries. - The also helps for CI wheel creation since the Python version in our CI system is 3.11. - As a drive-by remove designer plugins from Android wheels. Task-number: PYSIDE-1612 Change-Id: I8c75d4d4567b6830e26a2d9a24db90592f6dc03d Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* Deprecation Python 3.8Cristián Maureira-Fredes2024-03-122-4/+3
| | | | | | | | | | | The changes related PYSIDE-939 can be removed when 3.9 support is dropped, because the problem was fixed and included in 3.9.13 so we cannot assume everyone will be on that version or superior. Change-Id: I78afc660edc6fbb3bb1a2438e17366e63b24e375 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* build scripts: Use log.warning() instead of deprecated log.warn()Friedemann Kleint2024-03-072-6/+6
| | | | | Change-Id: I5c3b0bdedd35bf98c110c2885c8ba35a4f418c61 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* deploy: add pyside icons for windowsCristián Maureira-Fredes2024-02-061-1/+2
| | | | | | Change-Id: Ia8dc07da08cf90db5f847b595c33b649a5cdc55a Pick-to: 6.6 6.5 6.2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build/Linux: Fix shiboken6 failing to launch due to missing libicuFriedemann Kleint2024-02-061-3/+1
| | | | | | | | | | | | Also ship ICU for the shiboken generator. Amends 43fe3494a9d902034896e3afa7b5158c77163be0. Pick-to: 6.6 6.6.2 6.5 6.2 Task-number: PYSIDE-749 Change-Id: Ib5529693fde51f245a90be0ae4a56139e3aadf45 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* Make Unity builds defaultFriedemann Kleint2024-01-302-11/+15
| | | | | | | | | | [ChangeLog][PySide6] setup.py now uses CMake Unity Build Mode by default. Change-Id: I50c892646c73ac636276460b0a1efa558531c76d Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* Help fix: remove the extra '-' from --macos-use-libc++Shyamnath Premnadh2024-01-251-1/+1
| | | | | | Pick-to: 6.2 6.5 6.6 Change-Id: I6085b6fc651223eaec9a860abd61b39387f9643e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: fix typo on module specificationCristián Maureira-Fredes2024-01-231-2/+2
| | | | | | | | | This doesn't have an effect on the module inclusion in the wheels, it's just a typo. Pick-to: 6.6 Change-Id: Id8651f231b2f0c01bb57ef39698b347ea5a76f05 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: add QtQuickTest to wheelsCristián Maureira-Fredes2024-01-231-0/+7
| | | | | | | | | | | The bindings were added without being added to a wheel. Amends 3750fe1095df1f9dc3bed1168294bc10061ac8d2 Task-number: PYSIDE-2543 Change-Id: Ibbd677b9f63e458842bab9853d3756a1ac56dfcb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build scripts: Deprecate option --ignore_gitFriedemann Kleint2024-01-181-1/+2
| | | | | Change-Id: Ia81680cc19efbab75c517a4c20d4f83445c84e6c Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build scripts: Fix some flake8 issuesFriedemann Kleint2024-01-186-19/+18
| | | | | Change-Id: I26c77eb6448ec539a33acea6d2f39678c2b089a3 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken: Allow to disable pyi file generation for debuggingChristian Tismer2024-01-172-12/+18
| | | | | | | | | | | | | When developing difficult stuff like Lazy Initialization, it is convenient to have an option that ignores PYI generation. This way, translation can be successful, and pyi generation can then be debugged. Task-number: PYSIDE-2404 Change-Id: I68bd10af3754de3988556c4558d1331564f5dadb Pick-to: 6.6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qfp_tool.py: Make unity default and add options to force on/offFriedemann Kleint2024-01-161-4/+31
| | | | | | | | As a drive-by, fix the quiet option. Change-Id: I0b2adf7537abbf50a2e6a5a0b4a193e5435f7144 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Rename qp5_tool to qfp_tool.pyFriedemann Kleint2024-01-121-5/+5
| | | | | | | Version 5 in the name becomes increasingly incorrect. Change-Id: I7f584f8d6480f292bc357f516c25651a0c267137 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* PySide: Fix debug build in windowsShyamnath Premnadh2024-01-051-4/+1
| | | | | | | | | | | | - PYTHON_DEBUG_LIBRARIES does not exist in FindPython module and this cmake variable is equivalent to Python_LIBRARIES. PYTHON_DEBUG_LIBRARIES was already deprecated even before CMake 3.16. - Amends d5b56ebb1534a3359f03534a967bbe3cf2a5eb51 Pick-to: 6.6 Task-number: PYSIDE-2439 Change-Id: Ie5f21d0c9f1518ffb47dae37b3d3897a35f33c0d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Shiboken: Remove FindPythonInterp and FindPythonLibs CMake modulesShyamnath Premnadh2023-12-111-3/+3
| | | | | | | | | | | | | | | - They were deprecated since 3.12 and removed in 3.27 - Use FindPython module as replacement - all the Python cmake variables resulted are renamed to their respective variable names as per the FindPython module instead of FindPythonInterp or FindPythonLibs module Pick-to: 6.6 Fixes: PYSIDE-2439 Change-Id: I1d3106e2cc9ee97e2d4f62d4e19e1a591d1021ad Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android Deployment: Add requirements.txtShyamnath Premnadh2023-12-041-0/+1
| | | | | | | | | | | | - Adds a requirements-android.txt file - Simplifies code in pyside_tool.py - Sets up installing requirements in tests without redundantly listing the dependent packages Task-number: PYSIDE-1612 Pick-to: 6.6 Change-Id: If98f6458673bc72103c898e078e6a16f1cf38b12 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: Add icon for applicationShyamnath Premnadh2023-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | - For Android deployment, by default kivy's icon is used when the application is deployed. This patch makes use of PySide icon as the default for all applications created with pyside6-android-deploy. - Icon formats accepted by Nutika windows: .ico macOS: .icns (contains a 128x128 .png file) linux: all standard image formats. We use .jpg - For Desktop deployment - change the option --linux-onefile-icon to --linux-icon. Both are the same. - Add icon options for macOS and Windows. - Adapt deployment test accordingly. - As an addition, add a default value to the --config-file option so that it picks up the one in the project directory automatically, if it exists. It aligns with the desktop deployment tool as per 6337e4a306babdb4015c248a14ad734b320ed2c1 - As another extra, remove an unused typing import from config.py Pick-to: 6.6 Task-number: PYSIDE-1612 Change-Id: Ia67ea96f94ddffe4bc65652f91c8b394c4e56a33 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QRhi and related classesFriedemann Kleint2023-11-021-0/+1
| | | | | | | | | | | | CMake logic borrowed from the native interface patch. [ChangeLog][PySide6] QRhi and related classes have been added. Pick-to: 6.6 Task-number: QTBUG-113331 Change-Id: I9dd8b0b92f71027fc9f2c170af2993a5b09a4cfd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Use correct install locationsSamuli Piippo2023-10-312-2/+2
| | | | | | | | | | | Use the correct install locations for QtAsyncio and designer plugin. Pick-to: 6.6 Fixes: PYSIDE-2494 Change-Id: I760e8f52f19cd1f1cdf742a15df071c4f4deffa5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* docs: deprecate 'build_rst_docs' in favor of 'build_base_docs'Dennis Oberst2023-10-263-14/+27
| | | | | | | | | | | | | | | | | | | The command for building documentation files has been renamed to 'build_base_docs' and the previous command, 'build_rst_docs', has been deprecated. All relevant occurrences of the command have been updated accordingly. In addition, the documentation config and build directory 'build/pyside6/doc/rst' has been renamed to 'build/pyside6/doc/base'. To ensure a fresh start when generating new documentation, the auto-generated `examples` and `html` directories are now deleted before generating new documentation. This change has been made because these directories are generated anyway, and starting fresh ensures that there are no conflicts or issues with the new documentation. Task-number: PYSIDE-2504 Change-Id: I395ad7e9482b0b68311820d58da362513ebb44b2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix QtWebEngine browser on WindowsFriedemann Kleint2023-10-121-0/+1
| | | | | | | | | Bundle the V8 startup snapshot. Pick-to: 6.6 Change-Id: I506b795dc85bb0f68a686f819d90d17854d60a10 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide build: add QtAsyncio to PySide6-Addons wheelShyamnath Premnadh2023-10-121-0/+1
| | | | | | | | | Pick-to: 6.6 Task-number: PYSIDE-769 Change-Id: I6cf2ed970ab3e4811841ca845dba7e1c1bfd4f87 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add QtExampleIcons to the wheelCristián Maureira-Fredes2023-10-121-0/+6
| | | | | | | Change-Id: I5896d21f2c85de3a95c6cd6f9706206e2213c6c1 Pick-to: 6.6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* Final details to enable 3.12 wheel compatibilityCristián Maureira-Fredes2023-10-112-4/+3
| | | | | | | Change-Id: I0252c4e73e8c214ef8aa418ddf88bc452c0fdf53 Pick-to: 6.6 Task-number: PYSIDE-2230 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Support running PySide on Python 3.12Christian Tismer2023-10-091-0/+1
| | | | | | | | | | | | | | | | | | Builtin types no longer have tp_dict set. We need to use PyType_GetDict, instead. This works without Limited API at the moment. With some great cheating, this works with Limited API, too. We emulate PyType_GetDict by tp_dict if that is not 0. Otherwise we create an empty dict. Some small changes to Exception handling and longer warm-up in leaking tests were found, too. Pick-to: 6.6 6.5 6.2 Task-number: PYSIDE-2230 Change-Id: I8a56de6208ec00979255b39b5784dfc9b4b92def Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Build scripts: Fix "modules" directory for Qt builds with --archdata-dirFriedemann Kleint2023-09-131-2/+2
| | | | | | | | | | | "modules" is relative to arch data. Fixes: PYSIDE-2461 Task-number: QTBUG-116983 Pick-to: 6.5 Change-Id: Ibb91934cc13c164cbba208989e8583248a69115f Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide Build: Remove patchelf for Qfp binariesShyamnath Premnadh2023-09-062-5/+5
| | | | | | | | | | | | | | | | | | | | - patchelf was used only for setting RPATH - This approach uses CMake for setting RPATH instead of using a post processing hack like patchelf - Additionally, CMAKE_INSTALL_RPATH_USE_LINK_PATH which was passed explicitly is removed - For shiboken6 generator, removal of patchelf dependency leads to having local paths in the binary because of appending local path to linked library files when installed. With this patch, similar to Windows, for Unix platforms shiboken6 generator used for building PySide6 sets the path to the dependencies using a shell script by appending to the `LD_LIBRARY_PATH` variable Task-number: PYSIDE-2410 Change-Id: Ibee03ce7d8085a94b343664295b3ab93b76317c2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* example_gallery: Handle Qt example directoriesFriedemann Kleint2023-08-031-0/+3
| | | | | | | | | | | | | | | Add an option to be able to include examples found in the Qt / qtdoc repository. The build_rst_docs target also uses it if --qt-src-dir is given. It is then possible to include pure QML C++ examples from the qtdoc and other repositories. Task-number: PYSIDE-2206 Change-Id: I1b28d5ba5a134101a21fa936f87264a68bada71e Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Implement custom asyncio event loop based on QtAdrian Herrmann2023-07-273-0/+20
| | | | | | | | | | | | asyncio is an established library for Python applications with concurrency and asynchronous I/O, and the de facto standard that multiple other async frameworks build upon. Like Qt, it is based on an event loop, so to this end, it offers an extensive API to implement custom event loops that applications using asyncio can then leverage. Task-number: PYSIDE-769 Change-Id: I3daf5d631e2fa0d44fd8c3c272ac5cce96f58653 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Android Deployment: Rpath changes through linker flagsShyamnath Premnadh2023-07-262-6/+8
| | | | | | | | | | | | | - Using patchelf to modify the binaries for rpath changes corrupts the binary. This leads to binaries not being able to be loaded at startup by the Android runtime which is required for establishing callbacks from C++ back to Python. - Using linker flags -Wl,-rpath='$ORIGIN' -Wl,-rpath='$ORIGIN/Qt/lib' and disabling patchelf for Android cross compilation solves the issue Task-number: PYSIDE-1612 Change-Id: I70e74d3ca2b0bc65e2565268c36038eeb7c47ddd Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build: remove traces of distutilsCristián Maureira-Fredes2023-07-145-26/+12
| | | | | | | | | | | | | | | Removed mentions, comments, and fallback usages in some sections of the build scripts and documentation. On the CI, we upgrade setuptools in order to avoid having missing functionality, so it shouldn't be an issue. For Shiboken and CMake, there is still a helper that relies on distutils in case people is using python < 3.8.2 Pick-to: 6.5 Change-Id: Ic33abe9fa8bd8564e9d44c8714b7fedd4e50434a Reviewed-by: Simo Fält <simo.falt@qt.io>
* Cross Compilation - Fix PatchelfShyamnath Premnadh2023-07-131-1/+1
| | | | | | | | | | - Amends 2afcf8e7545c681e412e5b6d04ab8867e5edd5c7 Task-number: PYSIDE-802 Pick-to: 6.5 Change-Id: I56a30f36b1ec1cc5cfe87d7d43eb4a8c8d217692 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Cleanup build scriptsShyamnath Premnadh2023-07-132-4/+4
| | | | | | | | | - remove unused variable for update_rpaths() Pick-to: 6.5 Change-Id: I0bee785c6d90bf889a9afce511df3f7c201142e2 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add QtGraphsFriedemann Kleint2023-07-071-0/+7
| | | | | | Task-number: QTBUG-111305 Change-Id: I7ac79f59cfd0b85645d30485e86b6ff74bba20bb Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Adapt to Qt 6.6Friedemann Kleint2023-07-071-0/+1
| | | | | | Change-Id: Ie6379044282809fe73790d03cd086845bee98089 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Android Wheels: Include all Android Qt modulesShyamnath Premnadh2023-06-202-7/+1
| | | | | | | | | | - Earlier only some modules were built since we were in testing phase. With this patch, all the supported Qt for Android modules are built for PySide. Task-number: PYSIDE-1612 Change-Id: I6ab55b449fac18167e61b83b001e63be506d5085 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* create_wheels.py: Add some missing librariesFriedemann Kleint2023-05-221-0/+3
| | | | | | | Pick-to: 6.5 Fixes: PYSIDE-2334 Change-Id: I0eb0a723986445d87590e8e8e0425dff31857ffc Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* create_wheels.py: Add missing OpenGL type system filesFriedemann Kleint2023-05-151-0/+4
| | | | | | | | | | | Amends 39821c9265ca15373725e408b5ede19794b9e419. Pick-to: 6.5 Task-number: PYSIDE-2013 Task-number: PYSIDE-2017 Fixes: PYSIDE-2325 Change-Id: Idd0260ece308d54f8654ecf7ca5d67e7c546bcff Reviewed-by: Christian Tismer <tismer@stackless.com>
* create_wheels.py: Fix a bug in plugin codeFriedemann Kleint2023-05-111-2/+4
| | | | | | | | | Amends abcc61de2829b2ac191bf334005a3c10a68cbe2f. Pick-to: 6.5 Change-Id: Ia1226b219c4092f315fe9e3c2e236b54e6b8280b Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>