| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
There is an implementation in the 'utils' module that
implements a 'rmtree' function to handle removing readonly files
from a directory. To avoid confusion with shutil.rmtree we rename
it to 'remove_tree'.
Pick-to: 6.2 6.3
Change-Id: I3548ea81f36c87ba51fd984fcf7b1cd4cafd54d6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Ie36b52d68cdf85f7f1ab34082461f1875313d17f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: Ia78ca23984a08ff93dbf9c64ee96706478f8c93d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
The change was partial and cannot work as such.
This reverts commit 5f551ac558c65e2247dcba88c4aef0d6d0d28893.
Change-Id: Ic854b3b4f936a21acfe9779229fc72b875be02ab
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: Ib6740d32a8c9d984561181b3e626701ccaed43ab
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I8e4c386c897e1d188a5413895e178c551d5c7170
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Pick-to: 6.2.2
Change-Id: I26aff00644d85931b5e8ac597c1c5c3c9edb74e9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
So that the various run_instruction commands in
coin_build_instructions.py and coin_test_instructions.py
actually print what processes are executed in the CI log.
Pick-to: 6.2
Change-Id: I9e02ea229eea39ac3974f0d97b0f11fa2ed1c306
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Old version was giving "ModuleNotFoundError: No module named
'virtualenv.activation.nushell' error.
Pick-to: 6.2 6.2.0
Change-Id: I2ff72b570fd8aeaf542b786934e545c8a0283fae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Change-Id: I269956d5daf5807098a8c9b547ab8631956fa921
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the usage of nuitka, we have a working compiled test,
again. Only the scriptableapplication fails, and only for CMake.
This will be fixed in another check-in.
The PyInstaller test remains in the code for being re-enabled.
Task-number: PYSIDE-1523
Change-Id: Ic831fa5b110bbff4150a01cb8a7344ae050aae02
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the logic expanding the Clang-related variables introduced by
c3fc507d3b2a502273bd92472e1e7aa459c2d13e to the COIN scripts since
they are needed when building the sample binding.
c3fc507d3b2a502273bd92472e1e7aa459c2d13e should then be reverted.
Task-number: PYSIDE-431
Change-Id: I1f118fdbd8989b7b9e3d24a249af81f4020c73f3
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 01b1d3218d70d128fe6c2f2ce3e6dce74608adaa)
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
LibClang with dynamic libs is now provisioned with Qt5 scripts.
So this is no longer needed.
This reverts commit cbe5ac758c59f4d16b64704a1c5a3ddf88f3f85b.
Pick-to: 6.0
Change-Id: I1ca354e14231d677a72fc4d8391a705e70d28f35
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Wheel tester keeps failing constantly, so this disables it to allow
enabling ci.
Change-Id: Ia188d92808a2877fa1e972cff5cfb0822fa7392c
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Qt 6.0.0 CI configuration includes only static version of libClang so
we need to install dynamic libs ourselves to be able to run shiboken6.
Change-Id: I7654f9ac111c0dc2bfb78b3b3f3acb49b159925c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Change-Id: I3933c92905bc83e2d59f368c2c7fd5380408b1c8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I17726f6bd02d36a7acc3ed99ca11796b780b837d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
| |
Installing package to user space is not adding it to path by default.
Change-Id: I561f619a9cfc6713ca511c77312dcf19a4ac753f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Updating virtualenv version to 20.0.25 while previous started to
fail. Also increasing the timeout value for output.
Change-Id: I391c1c85d490b57cdbab41d5bfcba396384c1994
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I16beba02a12c6c1f656e7a92696e9a6741989a39
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Some Qt CI virtual machine templates has broken virtualenv installed.
It will get fixed once those are re-provisioned. Pinning the virtualenv
will allow us to control the version over Qt5 repository.
Change-Id: Ic59c7e091d062a149badaf03508bc7a9204cf4b6
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
The pip should be quite up to date already after provisioning CI
templates. Upgrading it later may cause permission issues.
Change-Id: Ia2b80d902eb74dbc24fe6fb00f3245657545e9dd
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Qt5 5.14 is currently broken from Qt For Python point of view,
so we should verify Qt For Python against 5.14.1. This patch
should be reverted once Qt branches are fixed.
Change-Id: I8a0249284665381decc42f94faab6d8e9650f8bb
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Change-Id: I32fcdaa2df6a4bed4f3263875ab1ad272ad8ff8c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ic2c43ef80769e3063dac771518c803861510f72e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The newest version, 3.5, seems to have an issue
related to out test, which sadly is making the test
to fail.
Until this is not figured out, let's use 3.4
to avoid other patches to be merged.
Change-Id: I71e8aa616dff37b6c5b2552711140c0c0bf10d21
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|/
|
|
|
|
|
|
| |
The fix we were waiting for has landed to released wheel package.
Change-Id: I1d83be7cd9662ca2e076e9c03c03c38f1b0c9ecb
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Change-Id: I57783a5da7b403e45463068900c1248fbd3651f9
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Change-Id: I2ba91f259d3f6db9f2d4a169ac103b4b8f2333b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 6c472e4d8dc2f80de3bb8db27683957564129570.
After the COIN problems have been fixed, this change will be reverted.
This is only half of the work. The patch
"Fix PyInstaller after removal of COIN glitches" is also needed.
It will have its full effect when PySide 5.13 is used with Python 2.7.16 .
Change-Id: I9898eba04c0cbc7a21e4a5369bfcf0fed8aee087
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
The test fails for Python 2.16.
Change-Id: I457cb3f92306bcdfc315225aa8716ea32d70e375
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A simple hello.py script was modified for running in
PyInstaller and stopping to execute after 2 seconds.
The reason is to test that PyInstaller works correctly
together with the embedded mode of the signature
extension on all platforms.
The script did first not work on Windows. This is now
solved, after an import in pyside2_config.py is fixed.
Currently, there are several configuration errors in COIN.
Errors are therefore skipped in the PyInstaller build.
The test tests only if the generated script works.
Change-Id: I7a1b1e738d523b83cc3fe5beafa7e2579f9c7f48
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Add numpy for testing arrays, sphinx for the documentation
and PyOpenGL for testing.
Change-Id: I62662de47fb89f8277faed74ad9cedd20efec556
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Remove CC,CXX which might be set by some COIN setup scripts.
Change-Id: I33d56dfeb54476edf591fc765a4a4c3c8fe746a6
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
It was enabled alreadyd with 5.11, but got lost at some point.
Change-Id: I19b2392889ced75aa6c08c2fd771eed84ffe18a5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Augment coin_test_instructions.py to run a new script
testing/wheel_tester.py, which tries to pip install the built
wheels, and then tries to build the samplebinding and
scriptableapplication examples.
This allows us to confirm that the generated wheels are actually
installable, and also hopefully prevent us from breaking the
embeddable examples, by making sure that they at least build
(and execute in the case of samplebinding).
The change also modifies the examples to be able to take the
python executable as build argument, so that wheel_tester
can specify explicitly which python interpeter to use.
Change-Id: I0f141e40ab86e3311dd25915c4e53b0af36aaae9
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Actually this creates 3 wheel packages:
- shiboken2 (the python module and libshiboken shared library)
- shiboken2-generator (contains the generator executable, libclang and
dependent Qt libraries)
- PySide2 (the PySide2 modules and Qt shared libraries, and tools like
rcc, uic)
Calling the setup.py script will not do the actual build now (in the
sense of calling CMake, make, etc.). Instead it will spawn new
processes (via subprocess.call) calling the same setup.py script,
but with different arguments. These "sub-invocations" will do the
actual building. Thus, the "top-level invocation" will decide which
packages to build and delegate that to the "sub-invocations" of
setup.py.
A new optional command line argument is introduced called
"--build-type" which defaults to "all", and can also be set to
"shiboken2", "shiboken2-generator" and "pyside2". A user can choose
which packages to build using this option. The "top-level invocation"
uses this option to decide how many "sub-invocations" to execute.
A new command line argument called "--internal-build-type"
takes the same values as the one above. It defines which package
will actually be built in the new spawned "sub-invocation" process.
The "top-level invocation" sets this automatically for each
"sub-invocation" depending on the value of "--build-type".
This option is also useful for developers that may want to debug the
python building code in the "sub-invocation".
Developers can set this manually via the command line, and
thus avoid the process spawning indirection.
A new class Config is introduced to facilitate storage of
the various state needed for building a single package.
A new class SetupRunner is introduced that takes care of the
"--build-type" and "--internal-build-type" argument handling
and delegation of "sub-invocations".
A new class Options is introduced to 'hopefully', in the future, streamline
the mess of option handling that we currently have.
setup.py now is now simplified to mostly just call
SetupRunner.run_setup().
Certain refactorings were done to facilitate further clean-up of the
build code, the current code is definitely not the end all be all.
Various other changes that were needed to implement the wheel
separation:
- a new cmake_helpers directory is added to share common cmake
code between packages.
- the custom popenasync.py file is removed in favor of using
subprocess.call in as many places as possible, and thus
avoid 10 different functions for process creation.
- Manifest.in is removed, because copying to the setuptools
build dir is now done directly by prepare_packages functions.
- because prepare_packages copies directly to the setuptools
build dir, avoiding the pyside_package dir, we do less copying
of big Qt files now.
- versioning of PySide2 and shiboken2 packages is now separate.
shiboken2 and shiboken2-generator share the same versions for
now though.
- shiboken2 is now listed as a required package for PySide2, to
facilitate pip requirements.txt dependencies.
- coin_build_instructions currently needs to install an unreleased
version of wheel, due to a bug that breaks installation of
generated wheel files.
- added separate command line options to pyside2_config.py for
shiboken2-module and shiboken2-generator.
- adapted samplebinding and scriptableapplication projects due to
shiboken being a separate package.
- adapted pyside2-tool and shiboken2-tool python scripts for setup
tools entry points.
- made some optimizations not to invoke cmake for shiboken2-generator
when doing a top-level "all" build.
- fixed unnecessary rpaths not to be included on Linux (mainly the
Qt rpaths).
Task-nubmer: PYSIDE-749
Change-Id: I0336043955624c1d12ed254802c442608cced5fb
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|\
| |
| |
| | |
Change-Id: Ib2eeca97ebabcff53ef7ddd9fc769be6424db39f
|
| |\
| | |
| | |
| | | |
Change-Id: I7e55b4f27f77e2333b9e0f4cddc8de4b89b6043b
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ie6970361748f5b7dab52a401f6e3cf7995015ee7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I7baa695fe4100e15b108e4eb7df15c6af7db2cbe
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-646
Change-Id: I783f4e91d37aeb0200f4546b49abdfe80a09afbf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|/
|
|
|
|
|
|
| |
There is something missing from the template. We have to fix
that to re-enable.
Change-Id: I796a2bf31dd455053eab29b352b984cfbda3ee4a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Disabling some of the configurations due to fact that those are
not supported yet. 32 bit windows build on 64 bit host will be
re-enabled once we get 32 bit python provisioned to 64 bit windows.
Change-Id: I74492ed654dfef5aaf8e02ca8e0c715a0c27d2c8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
To be able to create 32 bit wheel in 64 bit Windows, we must use
correct Python version.
Task-number: PYSIDE-646
Change-Id: I72c05e9c5b6f37f16c118e36c3c7ea8f90ee7dff
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
Just renaming PySide2 -> Qt for Python for these files
that somehow got excluded when renaming the whole project.
Change-Id: Id6dfbae1ab3bd603f1db5e0346664004102fd19f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I2d17a2334d59ffa7ceff35de56b53a5ec443f449
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
It can be pretty long lasting process to get updates to Qt CI. To
speed up pyside specific changes we move some of the logic to
pyside repository.
Change-Id: I7d60bf96324d5990fb408d69c00aa4d7e8e81a2f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|