aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts/wheel_files.py
Commit message (Collapse)AuthorAgeFilesLines
* Use modern typing syntaxAdrian Herrmann2024-06-201-16/+15
| | | | | | | | | | | | We can already use the modern typing syntax introduced with Python 3.10 in 3.9 via future statement definitions, even before we raise the minimum Python version to 3.10. Note that direct expressions with "|" don't work yet. Task-number: PYSIDE-2786 Change-Id: Ie36c140fc960328322502ea29cf6868805a7c558 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Python-3.10: Allow the new syntax for Python 3.9Christian Tismer2024-06-201-0/+1
| | | | | | | | Add a future statement to all Python source files. Task-number: PYSIDE-2786 Change-Id: Icd6688c7795a9e16fdcaa829686d57792df27690 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* PySide6: Add virtualkeyboarsettings to wheelShyamnath Premnadh2024-05-141-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-balsamShyamnath Premnadh2024-04-181-0/+1
| | | | | | | | | - 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-181-0/+1
| | | | | | | | | | | - 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>
* build: Add multimedia dependencies to Qt artifactsAdrian Herrmann2024-03-281-0/+4
| | | | | | | | | | 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>
* 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>
* 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>
* 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>
* 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>
* Implement custom asyncio event loop based on QtAdrian Herrmann2023-07-271-0/+6
| | | | | | | | | | | | 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>
* 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>
* 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>
* Tooling: Add qmlcachegenShyamnath Premnadh2023-04-181-0/+2
| | | | | | Pick-to: 6.5 Change-Id: I21ae563efb9488083289c7deb6435ae7e9405049 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add missing translationsFriedemann Kleint2023-04-181-0/+2
| | | | | | Pick-to: 6.5 Change-Id: I584eb3a40853ae63494d9ea053abf8f6b382a538 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* create_wheels.py: Use the Qt module JSON files to find pluginsFriedemann Kleint2023-04-181-45/+78
| | | | | | | | This allows for removing hardcoded plugin information. Pick-to: 6.5 Change-Id: I20527fb16f35dd6bad1d81c01376132829539ff3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide: Add QtLocation to wheelShyamnath Premnadh2023-03-301-0/+6
| | | | | | | | - Amends 452eac0702688a74539d2e66be07d6f322aa11ab Pick-to: 6.5 Change-Id: I1a6c9c68f689e1ccd875fad8ab2dda0de5fd1f0e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: remove examples from wheels and installationCristián Maureira-Fredes2023-03-211-19/+2
| | | | | | | | | | | | | | | | | | To reduce the size and cluttering of wheels and installations the examples are not including any longer. The recommended way to get examples now is to download them directly from the Example Gallery in the documentation page. The option no-examples was removed. [ChangeLog][pyside6] Examples are not included in the wheels anymore and the option no-example was removed. Change-Id: I94fb24f9ffd6c55e2762e7c2e380b0f0ffe0bf61 Fixes: PYSIDE-2247 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Adapt to Qt 6.5Friedemann Kleint2023-02-091-2/+2
| | | | | | | | | | | | | | | | | | | | - Add new enums - Hide field QMetaMethod::mobj made protected by qtbase/0b701ec0cd86afbf6bb0d0abb361cfb6500c2e1b - Adapt to PDF qtwebengine/6769bd1544c56a514fe35bf16d05614605a49bea - Adapt to qhttpserver/55d10201dc7a47b239825548e053c1fb0de61115, adding a virtual method with rvalue reference to QAbstractHttpServer - create_wheels.py: Adapt to changed location of the metatypes directory in Qt after qtbase/4234ce12dc819b9ca76c8dc4c251f5bd4fe0bc9c. - Adapt error column in QDomDocument test - Fix QMetaObject::invoke() to work after qtbase/fe92b080658f0d8609e2a2a69e5ec2b51dd7bf9d by making the cast of the helper types to Q(Generic)ReturnArgument explicit in the snippets Change-Id: Ifb514878e999ad4c9ef00ff83172626eff112a3d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build_scripts: Fix missing MSVC DLLs in PySide dirAdrian Herrmann2023-01-121-1/+2
| | | | | | | | | | | Fix a problem where the MSVC DLLs would only be copied into the shiboken6 directory of the wheel and not the PySide6 directory, leading to missing DLL errors on clean Windows installs. Pick-to: 6.2 5.15 Fixes: PYSIDE-2162 Change-Id: I4c07275906a292e4f314ab68231148664af70c4e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Fix missing QtSpatialAudio in wheelsFriedemann Kleint2022-11-211-1/+1
| | | | | | Pick-to: 6.4 6.4.1 Change-Id: I0a79956a344893ca21e2ee80cd642ee31bb904c0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide Wheels: More fine-grained control over what tools are includedShyamnath Premnadh2022-11-161-24/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Tools inside 'Qt/libexec' in Unix are now listed out to better control with which modules each tool should be included. A consequence of just adding 'Qt/libexec' was that the tool QtWebEngineProcess was included with PySide6-Essentials, which was wrong. It should be added with PySide6-Addons. - qml tools moved to module_QtQml(). qmltyperegistrar and qmlimportscanner was not included in Windows wheels. This is now fixed. - examples moved from from module_QtCore() to their respective modules module_QtWidgets(). All external examples are now moved to module_QtWidgets(). - designer tool moved to module_QtDesigner() - uic tool moved to module_QtWidgets() - module_QtLanguageServer() and module_QtJsonRpc() added - examples/installer_test removed from wheels. This example is used by testing/wheel_tester.py, and the path to it is identified related to testing/wheel_tester.py Pick-to: 6.4 Fixes: PYSIDE-2115 Change-Id: I4da6ed9be6700b3ef9e647a1edf50c3b39113e0c Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add HttpServer to wheelShyamnath Premnadh2022-11-031-0/+6
| | | | | | | | | - Amends 48258c5a099be2c4accf373a2e2f52d48359cfa2. Pick-to: 6.4 Change-Id: I3196e35a93355528d6a8692294f6a179d41ad425 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add Pdf/PdfWidgets to the wheelFriedemann Kleint2022-11-031-0/+14
| | | | | | | | Amends 48258c5a099be2c4accf373a2e2f52d48359cfa2. Pick-to: 6.4 Change-Id: I324d37ee07b3c32f8511b96ad84a6374bd6fbf8a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix inclusion of Qt5Compat.GraphicalEffectsFriedemann Kleint2022-11-031-1/+1
| | | | | | | | | | | Amends 151d7cae1d29e7a8609c6f1007c8d7cb3423eefd, c42a8e442472cb3a4f210dc13a671fc927d03f64. Pick-to: 6.4 Task-number: PYSIDE-1957 Change-Id: I426c2881c8d937860d80c5f3a9232fe99cb7ada8 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Include Qt5Compat.GraphicalEffects filesCristián Maureira-Fredes2022-10-171-0/+3
| | | | | | | | | Amends c42a8e442472cb3a4f210dc13a671fc927d03f64 Pick-to: 6.4 Fixes: PYSIDE-1957 Change-Id: I253ba1d10dda91645a81f11d256f32849b2ec0d1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QtSerialBusFriedemann Kleint2022-10-141-0/+7
| | | | | | | [ChangeLog][PySide6] QtSerialBus has been added. Change-Id: I661912279fa03b51d19483b603fff830ede225a9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* wheel: include multimedia and texttospeech pluginsCristián Maureira-Fredes2022-10-061-2/+3
| | | | | | | | | | | | The new approach to create wheels introduced in 6.3 requires to have explicitily the plugins directories within the module instructions, otherwise they will not be added. 6.4 brought back TextToSpeech and also some multimedia plugins were missing. Change-Id: I5a99672dc8d8c33a2472fccd6fad174bad23fcee Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySideTools: Add qmllsShyamnath Premnadh2022-08-111-0/+1
| | | | | | | | | - added qml language server Task-number: PYSIDE-2004 Change-Id: I79c44588c7db42c87914162a5babd4e390ff9a88 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* PySideTools: Add qmlformatShyamnath Premnadh2022-08-031-0/+1
| | | | | | | | - adds qmlformat Task-number: PYSIDE-2004 Change-Id: I6b5fb160d3f832317b41504184dd27586279c802 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QtSpatialAudioFriedemann Kleint2022-06-291-0/+8
| | | | | | | | Adapt to qtmultimedia/c403e775f60a5d02e761904342ac243be1f22597. Change-Id: Id078b2a7ca46ff775fbbc543428a3208d5410981 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Use SPDX license identifiersLucie Gérard2022-05-271-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: I065150015bdb84a3096b5b39c061cf0a20ab637d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* flake8: fix style issues to build_scripts/Cristián Maureira-Fredes2022-04-131-2/+2
| | | | | | Pick-to: 6.3 Change-Id: Ie56b054ca32869a488356b31eea49cc985fc463e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add readBytes and writeBytes functions from QDataStreamShyamnath Premnadh2022-04-081-0/+1
| | | | | | | | | | | - along with the addition of these functions, a common.xml is created to stores all the common templates Task-number: PYSIDE-890 Pick-to: 6.2 Change-Id: I4fadfe77a38635f15a7aef04adeac949c2d61b5d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build: script to create wheelsCristián Maureira-Fredes2022-03-291-0/+893
This approach intends to avoid modifying the current structure we have in build_scripts, and can replace the call: python setup.py bdist_wheel mainly encouraged by PEP517, and the need of having incremental wheels, to replace the current single PySide6 one. The current configuration allows to create two new wheels: PySide6_Essentials, and PySide6_Addons that contain all the essential and addons Qt modules defined by the Qt Installer tool, with some modifications due to the dependencies of certain tools. Check the README files for more info. The known PySide6 wheel is also generated, but it's empty in favor of using the previous two wheels as requirements, installing them automatically, to avoid modifying the usage of 'pip install pyside6' The strategy is based on the current logic behing 'prepare_packages' that we have been using. Once the modules are built, instead of removing those directories currently in 'build/your_env/package', we rename them. Inside this new directory, one can have the 'shiboken6', 'shiboken6_generator', and 'PySide6' directories, with eveything already packed with the required wheel structure. The main difference is that instead of using the content of PySide6 to build one build, we select some files with the MANIFEST.in to create another wheel. The wheel tag drops the old assumption of needing: cp36.cp37.cp38.cp39.cp310-abi3 and only uses: cp36-abi3 Additionally, for Linux, we follow PEP600 to use the GLIBC version in the wheel name instead of manylinux1, manylinux2010, etc... For the current CI configuration, we know we are using 2.28, which is the minimum supported version for Qt6, so the wheel will look like: PySide6-6.3.0-cp36-abi3-manylinux_2_28_x86_64.whl The coin scripts were configured as well, to add the call of the new create_wheels.py script, and test them via wheel_tester.py Note: This script is not intended to be used as a general purpose wheel creation tool, and it's purely focused on the current Qt CI. There are many ad-hoc configurations used in different functions, like the structure of a Qt installation, the usage of 'a' on the environment for limited-api, etc. Task-number: PYSIDE-1115 Fixes: PYSIDE-692 Change-Id: Ic12e428b8b9b64bbe2facb1c520595ccd2384497 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>