aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary use of 'object' in class constructionremoteobjectsdevCristián Maureira-Fredes2024-12-185-6/+6
| | | | | | | | | | | Considering we are not compatible with Python 2 anymore, we can drop the 'object' explicit inheritance in the class declaration. Pick-to: 6.8 Change-Id: Iac3a95aa9721c3ff1a755f457c0936ca157a8470 Reviewed-by: Shyamnath Premnadh <[email protected]> Reviewed-by: Friedemann Kleint <[email protected]>
* build: improve the build configuration implementationCristián Maureira-Fredes2024-12-186-82/+62
| | | | | | | | | | | | - Using Singleton for the class - Adding type hints for the Path variables - Use function for parsing modules instead of duplicating it - Adapting related code in other files as well - Remove historical prints when configuring. Pick-to: 6.8 Change-Id: I9fef2e8d7c2033442f89a6f6ca027b5ae2ac6ab4 Reviewed-by: Friedemann Kleint <[email protected]>
* build: options as a singletonCristián Maureira-Fredes2024-12-182-82/+89
| | | | | | | | | | | Avoid finding the dynamic options each time the OPTION dictionary was imported in the different build_scripts files. Now each setup.py invocation will have the same object. Pick-to: 6.8 Change-Id: Ic556d572e77e54fe27603332b7d2f99697eab86c Reviewed-by: Friedemann Kleint <[email protected]>
* build: don't stop if unsupported python version is usedCristián Maureira-Fredes2024-12-161-2/+5
| | | | | | Task-number: PYSIDE-2958 Change-Id: I2457b2a81fae2a1e8c22dc3ac22d9ebe02b5e97a Reviewed-by: Friedemann Kleint <[email protected]>
* testrunner: Add command line for the number of re-runsFriedemann Kleint2024-12-111-1/+1
| | | | | | | | As a drive-by, fix command the line help (needs to be f-string). Pick-to: 6.8 Change-Id: I96b38c41bca303af313402a93e3d4c7a350de4df Reviewed-by: Christian Tismer <[email protected]>
* build: fetch metadata from pyproject.toml fileCristián Maureira-Fredes2024-12-053-70/+52
| | | | | | | | | | | | | In a couple of releases we had inconsistencies between the wheel meta information from the build_scripts old scripts and the create_wheels new script. For old versions, we rely on tomli, but on new ones we use the standard tomllib one. Pick-to: 6.8 Change-Id: I114d8b0a240ad41cad8b57c27a0b3afadc928d94 Reviewed-by: Friedemann Kleint <[email protected]>
* build: fix the URLError import statementCristián Maureira-Fredes2024-12-031-3/+4
| | | | | | | | | Currently it was not working due to the strange import strategy overriding 'urllib' Pick-to: 6.8 Change-Id: I7b773ba53c800dd408afdb9e77a71ea77887df4e Reviewed-by: Friedemann Kleint <[email protected]>
* Raise Python version to 3.8Friedemann Kleint2024-12-031-7/+0
| | | | | | | | | | | | | | Fix some oversights of previous changes: - Bump limited API - Fix CMake files - Remove outdated version checks from Python code - Adapt some documentation Pick-to: 6.8 Task-number: PYSIDE-2943 Change-Id: Id8d9c4c6bb0629948de28beb3c4274991f84ff08 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Fix multimedia to work on Linux with 6.8.1Friedemann Kleint2024-11-114-20/+17
| | | | | | | | | | The helper libraries are now also required on Linux. Also, some new libraries libQt6FFmpegStub*.so* were added. Pick-to: 6.8 Change-Id: I78ecd66139b18f48bbbe677990dc8ec570238199 Reviewed-by: Cristian Maureira-Fredes <[email protected]> Reviewed-by: Shyamnath Premnadh <[email protected]>
* build: add QtWebViewQuick module files to wheelCristian Maureira-Fredes2024-11-081-0/+8
| | | | | | | | | | | | | | | The missing WebViewQuick libraries were generating an error on pyside6-deploy. Now the WebViewQuick files are included. It's important to notice that it's not an actual module under sources/pyside6/PySide6 it's only to get the libraries from the Qt installation. Pick-to: 6.8 6.5 Task-number: PYSIDE-2910 Change-Id: Ie8773dc24f9c3019e951075f6e274df73abb60e9 Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Christian Tismer <[email protected]>
* Bundle plugins required for QtWebViewFriedemann Kleint2024-11-081-0/+2
| | | | | | | | | Amends 83603fed574fc7b0eed452b347170862b12a98f6. Task-number: PYSIDE-2910 Pick-to: 6.8 6.5 Change-Id: Iabd7a2faaf1363f2dced0852acb1c6f572d297eb Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* coin: ci code improvements for build and testCristián Maureira-Fredes2024-11-081-62/+0
| | | | | | | | | | | | | | | | | | | The current patch modifies the structure for the code in charge of building and testing pyside in the CI. Instructions within 'coin_test_instructions.py' and 'coin_build_instructions.py' were duplicated, and other slightly modified, so the code was standarized and placed in 'coin/instructions_utils.py', so the first two files could be heavily simplified. A couple of helper functions were removed from build_scripts/utils.py in order to reduce the code in the general build utilities for the project. Pick-to: 6.8 Change-Id: I0cd4bc51edb2e28c5e81a0be8a27be6cb4027bfd Reviewed-by: Simo Fält <[email protected]>
* build: make FluentWinUI3 available for Linux and macOSCristián Maureira-Fredes2024-11-071-1/+3
| | | | | | | | | | | | | | The style needs to be available for all supported platforms, not only Windows. We were still deploying the plugin, and when trying to find the library for the style, it was affecting the deployment of applications. Change-Id: If8c0b08627beddf59cfb682cc2594ba06aca31f2 Pick-to: 6.8 Fixes: PYSIDE-2910 Reviewed-by: Friedemann Kleint <[email protected]>
* setup: fix PySide6.__all__ after the wheel split, amendment 2Christian Tismer2024-10-221-17/+0
| | | | | | | | | | | | | | | | | | When trying to write a module.__all__ variable without interference with different runtime folders, this version uses the __getattr__ support that Python 3.7 has introduced. This creates the __all__ variable on demand, when someone accesses that variable, for instance by "from PySide6 import *" which is the intended use. amends 703d975f16aff95bc9014a2689a3ae824b5a552f. Task-number: PYSIDE-1890 Change-Id: Ia4ead5bc7e499573d534ec7237b27ee737590a91 Fixes: PYSIDE-2895 Pick-to: 6.8 6.8.0 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* build: Remove build-directory-dependent code from PySide's __init__.pyFriedemann Kleint2024-10-181-0/+18
| | | | | | | | | It breaks checks for reproducible builds. Fixes: PYSIDE-2895 Pick-to: 6.8 Change-Id: Id9a8c00dd7319b6f30c06e30f796e7ee11edc593 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* build/Windows: Use multimedia artifacts from the Qt build instead of the ↵Friedemann Kleint2024-10-181-3/+9
| | | | | | | | | | download They should be present when building with -DQT_DEPLOY_FFMPEG=TRUE or from the Online installer. Change-Id: Ief39e6825968cba7cf3d4b95d013ee0ab6f0150e Reviewed-by: Shyamnath Premnadh <[email protected]>
* build/Windows: Clean up the codeFriedemann Kleint2024-10-182-29/+23
| | | | | | | | | | | | | | | | - Remove the binaries from the list of filters retrieved from the .7z file. - Rename copy_qt_dependency_dlls() to download_qt_dependency_dlls() for clarity. - Split the artifact list into one containing the Multimedia libraries and a helper function qt_rhi_artifacts_permanent() for RHI/rendering related libraries. - Add a helper function returning whether it is running in COIN Complements 36f62dd5d45b8b84bd80064ceb43bab74a89321e. Pick-to: 6.8 Change-Id: I47518c2f1f9abe601c57c85bd1ec30e5ec5d13c2 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Fix condition to allow 3.13 for wheel creationCristián Maureira-Fredes2024-10-171-1/+1
| | | | | | | Task-number: PYSIDE-2751 Pick-to: 6.8 Change-Id: Iaf6e914bf798371faf5066f4a2d70fe3e2c124e5 Reviewed-by: Christian Tismer <[email protected]>
* type hints: Install a permanent test for error-free pyi filesChristian Tismer2024-10-172-0/+5
| | | | | | | | | | | | | | | | | Testing Mypy on the whole project costs some time, about 33 s on a Mac Studio Max M1 in debug mode. On CI with release Windows, this is about 8 sec. An option "--skip-mypy-test" is added to save time. The mypy tool is only enforced to exist in COIN. Otherwise it is optional. Task-number: PYSIDE-2846 Change-Id: Ibbabbf6b893537ac923fbbaba9ff832ebd675a21 Fixes: PYSIDE-2672 Fixes: PYSIDE-2886 Pick-to: 6.8 Reviewed-by: Friedemann Kleint <[email protected]>
* build: Install module doc snippet filesFriedemann Kleint2024-10-163-8/+10
| | | | | | | | | | Amends b55e221464c18053fa44f18132071ebdaee8f432. Task-number: PYSIDE-1106 Fixes: PYSIDE-2893 Pick-to: 6.8 Change-Id: I4a2688bfb5fcdddc5c6baea49d2fdc9c0f2381f1 Reviewed-by: Shyamnath Premnadh <[email protected]>
* build: Deal with read-only Qt installationsFriedemann Kleint2024-10-091-0/+6
| | | | | | | | | | | | Make binaries writeable before patching. No care is taken to preserve the mode as installing the wheels creates rwxrwxrwx files when unpacking regardless of the mode set when bundling. Fixes: PYSIDE-2885 Pick-to: 6.8 6.5 Change-Id: I5cbb02667c3a195ac369bb83ea42e3ba0ea85367 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Wheels/Windows: Use updated zip archive with latest msvc redist libsSimo Fält2024-10-081-1/+1
| | | | | | | Pick-to: 6.8 Task-number: PYSIDE-2620 Change-Id: I96cffe4dc3b13b495f04875b3e82f99ff7d09288 Reviewed-by: Friedemann Kleint <[email protected]>
* Wheels/Windows: Use updated zip archive for Multimedia dependenciesFriedemann Kleint2024-09-251-3/+1
| | | | | | | | Remove the old 32bit file. Pick-to: 6.7 6.7.3 Change-Id: I0835c611537e4caf462827eea27f5def9492ac18 Reviewed-by: Simo Fält <[email protected]>
* build: Use a wildcard for installing multimedia auxiliary libraries versions ↵Friedemann Kleint2024-09-241-5/+5
| | | | | | | | | | for 6.7.3 Amends 79a91f5881567bc26070386c1443d8627a55b16d. Pick-to: 6.7 6.7.3 Change-Id: I94878fd5cbc50206cd9cf680b733ce8e04914ba7 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Fix the multimedia auxiliary libraries versions for 6.7.3Friedemann Kleint2024-09-241-7/+7
| | | | | | | | Use a wildcard to automatically get the latest version. Pick-to: 6.7 6.7.3 Change-Id: I69eb4e86f6ccdf5c6e240c35d10f2c0ca930a31d Reviewed-by: Shyamnath Premnadh <[email protected]>
* Wheels: Bundle Qt5Compat.GraphicalEffects with PySide6-AddOnsShyamnath Premnadh2024-09-201-3/+3
| | | | | | | | | | | | | | | | - Qt5Compat's Graphical Effects library (libqtgraphicaleffectsprivateplugin.so) depends on Qt's Shader library (libQt6ShaderTools.so.6) which is bundled in the AddOns wheel. This causes application using Qt5Compat.GraphicalEffects to fail with a "Cannot load library" error. - This change bundles the Graphical Effects library with the AddOns wheel, thereby fixing the error. Pick-to: 6.7 Fixes: PYSIDE-2871 Change-Id: If76ede9ddd08a0cca80f59e3c1bab97918250e88 Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Documentation: Release NotesShyamnath Premnadh2024-09-191-9/+30
| | | | | | | | | | | | | - Introduces a new section in the navigation pane called "Release Notes" with subpages for PySide6, Shiboken6, PySide2, and Shiboken2. - The .md files are auto-generated by the script `tools/release_notes/main.py` and created in the directory `sources/pyside6/doc/release_notes/`. Fixes: PYSIDE-2853 Change-Id: I6def8b526f11a638581f29798dd6917cd435d19c Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Android: Additional libraries for 6.8Shyamnath Premnadh2024-09-061-0/+7
| | | | | | | | | | - Some extra libraries are bundled in Android 6.8 which are dependencies for certain plugins like Multimedia. Task-number: PYSIDE-2620 Task-number: PYSIDE-1612 Change-Id: I4e286e1f6c9a59c7a7cfb73ba094f39d68ee075d Reviewed-by: Friedemann Kleint <[email protected]>
* Tooling: Add pyside6-svgtoqml toolShyamnath Premnadh2024-09-052-1/+3
| | | | | | Task-number: PYSIDE-2620 Change-Id: I0627c35162d37a9fa4fdb716235aacd15cdfb698 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* PySide: Add missing QtQml, QtQuick modules for 6.8Shyamnath Premnadh2024-09-051-1/+12
| | | | | | Task-number: PYSIDE-2620 Change-Id: I904d41ccd24e37ec4fbd9d6cd652a9b19c61a0cb Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Adapt to 6.8Friedemann Kleint2024-09-051-0/+7
| | | | | | | Task-number: PYSIDE-2620 Task-number: QTBUG-125719 Change-Id: I6efeb1770c9bd7cddc3dbd91ca6294b9fddc9cc9 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* CI: Always use the default libclangSimo Fält2024-09-051-0/+5
| | | | | | | | | Instead of using libclang specific for Qt for Python, use the one that is provisioned for qdoc. Task-number: PYSIDE-2620 Change-Id: Ib7f83ebb02c39f328f7161d0c3d996effbbd37c0 Reviewed-by: Shyamnath Premnadh <[email protected]>
* build scripts: Always record the latest build, whether tested or notChristian Tismer2024-09-031-12/+12
| | | | | | Task-number: PYSIDE-2701 Change-Id: I7c02c5e67ad847a86733b5086a3dbd0cf81b91cf Reviewed-by: Shyamnath Premnadh <[email protected]>
* CI: Use default libclang on WindowsSimo Fält2024-09-031-1/+0
| | | | | | | | Clang 10 crashed with Qt 6.8 on Windows, use a newer version. Task-number: PYSIDE-2620 Change-Id: I157dd6ed1c19034805f19c9879814dfc08037484 Reviewed-by: Friedemann Kleint <[email protected]>
* Docs: Warnings for missing referencesShyamnath Premnadh2024-08-141-1/+1
| | | | | | | | | - Add `-n` option to `sphinx-build` to show warnings for missing references. Task-number: PYSIDE-2837 Change-Id: I82b60c922329016067889e580b371f311aa1b1f9 Reviewed-by: Friedemann Kleint <[email protected]>
* shiboken: Support compiler options for disabling optimizationsChristian Tismer2024-08-012-0/+5
| | | | | | | | | | | | | | | | | | | The fullname field has been removed, and the signature structures can be optionally compressed. Add a build option for switching these and future compiler features off. Combinable flags: --unoptimize=fullname --unoptimize=compression --unoptimize=folding (to be implemented) or just --unoptimize=all Task-number: PYSIDE-2701 Change-Id: I605dc810542ce99f99d9a6b6432e5feae09273b4 Reviewed-by: Friedemann Kleint <[email protected]>
* Add QtWebViewShyamnath Premnadh2024-07-311-0/+6
| | | | | | | | | [ChangeLog][PySide6] QtWebView has been added. Pick-to: 6.5 6.7 Task-number: PYSIDE-2825 Change-Id: I4617cb6b170b37c232ba55aa8be374f150604105 Reviewed-by: Friedemann Kleint <[email protected]>
* PySide Build: Add --flatpak optionShyamnath Premnadh2024-07-291-0/+14
| | | | | | | | | | | | | | | | | | | | | | | - The new option is to enable a flatpak build of Qt for Python. This does the following things: 1. It turns the option --shiboken_force_process_system_headers ON by default. 2, It adds the include path '/app/include' to the option --shiboken_extra_include_paths. The problem with the KDE Flatpak SDK is that certain modules: QtPdf, QtPdfWidgets, QtWebEngineCore, QtWebEngineQuick, QtWebEngineWidgets, are not available and hences the headers are not present in '/usr/include'. Therefore we use the Flatpak WebEngine BaseApp as the base app for our Flatpak PySide6 BaseApp. This has the headers for the missing modules, but in '/app/include' instead of '/usr/include'. This patch passes '/app/include' as an additional include path to shiboken when building the Python bindings for the above mentioned missing modules. Pick-to: 6.7 Change-Id: I4e393007040c9d07dca1878027c224b63e3be5d7 Reviewed-by: Friedemann Kleint <[email protected]>
* PySide Build: Add an option to provide extra include paths for ShibokenShyamnath Premnadh2024-07-292-1/+12
| | | | | | | | | | | | - Expands on 7cc5c139482d735c49002649d26bb524c92cc86b, by creating a build option '--shiboken-extra-include-paths' that appends extra include paths to the '--force-process-system-include-paths' option when calling shiboken generator to create PySide6 modules. - This can be helpful for Flatpak and OS Distro builds of PySide6. Pick-to: 6.7 Change-Id: Ibd4c9702a741d8047ccaf53d84a1c97550d78ffe Reviewed-by: Friedemann Kleint <[email protected]>
* Shiboken Build: Deal with libclang having a different SONAMEShyamnath Premnadh2024-07-231-0/+29
| | | | | | | | | | | | | | | | | | | | - In most of the newer prebuild libclang that Qt provides, the SONAME of the actual libclang library varies from the actual library. For example, the actual library might be called libclang.so.14.0.0, but the SONAME might be libclang.so.13. Normally, we only copy the actual library resulting in shiboken generator not being able to find the library at runtime. - During build, this works fine since a symlink already exists in the libclang directory. However, this symlink is not copied into the shiboken generator wheel. - Since symlinks cannot be dealt with using Python setuptools, we rename the actual library to the SONAME and copy it to 'package_for_wheels'. Pick-to: 6.7 Task-number: PYSIDE-2819 Change-Id: Ic3703e4887f6c1ba3361ac9097a451fb33d61ed5 Reviewed-by: Adrian Herrmann <[email protected]>
* Build: Fix some pathlib changes from the pastShyamnath Premnadh2024-07-191-1/+2
| | | | | | | | | | - Amends db3d1b03a4c3f9a1a934ceed5650461c2842eeb3. The comparison compare a pathlib.Path object to a str object and fails always. - As a drive by, add a log when copying contents to 'package_for_wheels' Pick-to: 6.7 Change-Id: I6782b853ee9dc0cbafdcc288fcb1266814ac4665 Reviewed-by: Adrian Herrmann <[email protected]>
* PySide Build: Add option to force process system headersShyamnath Premnadh2024-07-132-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | - Expands on 7cc5c139482d735c49002649d26bb524c92cc86b, by creating a build option '-shiboken-foce-process-system-headers' that enables the '--force-process-system-include-paths' option when calling shiboken generator to create PySide6 modules. - This is specifically needed for Flatpak build of PySide6, where the Qt is installed globally and Qt headers are located in system header path. The alternative option would be to use CMake instructions directly, but this can make the Flatpak recipe for PySide6 quite cumbersome because on top of the huge CMake command, we need to manually move all the relevant PySide6 packages to the 'site-packages' of the concerned Python environment. The 'setup.py' build instruction automatically does this for us. - This can also help OS Distro maintainers to use 'setup.py' instead of CMake instructions to build PySide6 packages, if no other compiler flags or other optimizations are needed. Pick-to: 6.7 Task-number: PYSIDE-2702 Change-Id: I183f480c1fbb2b16badca4a81bf2cd008a6de0b3 Reviewed-by: Alexandru Croitor <[email protected]>
* build: Add multimedia dependencies to macOS wheelsShyamnath Premnadh2024-07-081-3/+11
| | | | | | | | | - Extends 3f3856ba94a59de49bc6c636c77a6173fd91c333 for macOS Pick-to: 6.7 Task-number: PYSIDE-2656 Change-Id: I13c1c89c16cc01d6630f750b40dfb9a6d2d9ed00 Reviewed-by: Friedemann Kleint <[email protected]>
* Adapt to numpy 2.0Friedemann Kleint2024-06-271-1/+6
| | | | | | | | | The include paths have changed in 2.0 Task-number: PYSIDE-2789 Pick-to: 6.7 6.5 6.2 5.15 Change-Id: I052eaba0f8ed6a5d39817fefad5befc42a8ac871 Reviewed-by: Shyamnath Premnadh <[email protected]>
* Fix flake8 and typing issuesAdrian Herrmann2024-06-211-5/+5
| | | | | | | | | Fix a number of miscellaneous flake8 and typing issues exposed after updating to the modern typing syntax from 3.10 onwards. Task-number: PYSIDE-2786 Change-Id: I5476d1208dd1da3fa93bdec02bc6124a80b247fc Reviewed-by: Christian Tismer <[email protected]>
* Use modern typing syntaxAdrian Herrmann2024-06-202-19/+17
| | | | | | | | | | | | 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 <[email protected]>
* Python-3.10: Allow the new syntax for Python 3.9Christian Tismer2024-06-2018-0/+18
| | | | | | | | Add a future statement to all Python source files. Task-number: PYSIDE-2786 Change-Id: Icd6688c7795a9e16fdcaa829686d57792df27690 Reviewed-by: Adrian Herrmann <[email protected]>
* Android Deployment: Enable pyside6-android-deploy in macOSShyamnath Premnadh2024-06-142-3/+3
| | | | | | | | | | - enable the tool for macOS - add dependency .xml to the Android wheels Pick-to: 6.7 Task-number: PYSIDE-2766 Change-Id: I77495466b8a9cc3565c640beac202d533ee1d2a6 Reviewed-by: Friedemann Kleint <[email protected]>
* Do the transition to Python 3.13, GIL-partChristian Tismer2024-06-121-0/+1
| | | | | | | | | | | | | * opcodes have changed numbers. That made "import *" etc. fail. * PUSH_NULL is sometimes inserted before a call. * enum_test needed an overhaul due to opcode changes. Python 3.13 works fine. Supporting --disable-gil is a different issue. Task-number: PYSIDE-2751 Change-Id: I37b447148787e2923a58c091a5c8ac808d579bc0 Reviewed-by: Friedemann Kleint <[email protected]>
* Android Deployment: Build wheels with macOS hostShyamnath Premnadh2024-06-034-5/+17
| | | | | | | | | | | | - Additionally, also move setting Python_SOABI manually for Android to where FindPython CMake module is called. This also aids in naming the wheel correctly. Pick-to: 6.7 Task-number: PYSIDE-2766 Change-Id: I73c089d31e2ee629f3ed676965fca27d53882110 Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Cristian Maureira-Fredes <[email protected]>