| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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: I244198d9ea878c6c4f976cb0080842dd023d2941
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Adapt CMake files, build scripts, tests and examples.
Task-number: PYSIDE-904
Change-Id: I845f7b006e9ad274fed5444ec4c1f9dbe176ff88
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
| |
Installing package to user space is not adding it to path by default.
Change-Id: I561f619a9cfc6713ca511c77312dcf19a4ac753f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\
| |
| |
| | |
Change-Id: I75984f35bcdeeeb3b6004a00670f1582ab522c1b
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
| |
Renaming pre_release_version_type to release_version_type to match its
future usage to differentiate between wheel/package types.
Change-Id: I70a2361f639a36b17f63b7f76d8c231a144bd825
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@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>
|
|
|
|
|
|
|
| |
Numpy 1.16.6 was the last version that supports Python 2.7
Change-Id: I43f401a6da350b874b2b25114fdc6d9fd07f69ef
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
setuptools v45 removed support for Python 2, so this will
unlock the current 5.15 CI status.
Change-Id: I87fce4d80ca656412aa5682c07f8b453bac430d1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- We agreed on 100 columns time ago, so I move around a few things,
- Removing unused modules,
- Fix white-spaces tabs without being multiple of 4,
- Encourage the use of os.path.join when joining paths,
- Using .format() for string formatting,
- Remove white-spaces from default arguments,
- Adjusting white-spaces before inline comments,
- Adding extra newlines when expected,
- Adjust spaces for lines under-indented for visual indent,
- Remove white-spaces from parenthesis, and adding them for arithmetic operators.
Change-Id: I9cb28cefd114d63580b584a063c452f90d3ca885
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
This will enable us to use Qt CI's signing function
Task-number: PYSIDE-1049
Change-Id: If85114d525fab565326a03b465924d9028b3871c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
This reverts commit f02d84ea7953efbbd10f9823b461b3d473efc89e.
OpenSuse Sphinx issue is now solved.
Change-Id: I3408b85b71ca7c1ef18eab4b6eef5cd6599a9ae0
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>
|
|
|
|
|
|
|
|
| |
There are errors in sphinx_build on openSUSE 4.2.
Change-Id: I93d9e3cbc11c6934e3d771ef221aecb501dc09a0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a CMake super project that includes the shiboken2, PySide2 and
pyside2-tools subprojects, so that it's possible to build everything
from Qt Creator (or any other IDE that supports CMake)
with minimal set up effort, and thus inform the IDE CMake integration
of all relevant files, for easier code editing, navigation and
refactoring.
This also lays the foundation for allowing 3rd parties to use the
shiboken2 generator to generate custom modules. This is
achieved by eliminating various hardcoded paths for libraries and
include directories.
Start using CMake targets throughout the build code to correctly
propagate link flags and include dirs for libshiboken and
shiboken2 executable targets. Same for the libpyside target.
Generate two separate cmake config files (build-tree / install-tree)
that can be used with find_package(Shiboken2), to make sure that
the PySide2 project can be built as part of the super project build.
This is currently the only way I've found to allow the super build
to work.
Note that for the build-tree find_package() to work, the
CMAKE_MODULE_PATH has to be adjusted in the super project file.
The generated config files contain variables and logic that allow
usage of the installed shiboken package in downstream projects
(PySide2). This involves things like getting the includes and
libraries for the currently found python interpreter, the shiboken
build type (release or debug), was shiboken built with limited
api support, etc.
Generate 2 separate (build-tree and install-tree) config files
for PySide2, similar to how it's done for the shiboken case, for
pyside2-tools to build correctly.
Install shiboken2 target files using install(EXPORT)
to allow building PySide2 with an installed Shiboken2 package
(as opposed to one that is built as part of the super project).
Same with PySide2 targets for pyside2-tools subproject.
Make sure not to redefine uninstall targets if they are already
defined.
Add a --shorter-paths setup.py option, which would be used by
the Windows CI, to circumvent creating paths that are too long,
and thus avoiding build issues.
Output the build characteristics / classifiers into the generated
build_history/YYYY-MM-DD_AAAAAA/build_dir.txt file, so it can be
used by the test runner to properly filter out blacklisted
tests. This was necessary due to the shorter paths options.
Fix various issues regarding target includes and library
dependencies.
Remove certain duplicated cmake code (like limited api check and build
type checks) in PySide2, given that that information will now be
present in the exported shiboken2 config file.
Include a short README.cmake.md file that describes how to build
the super project.
References used
https://rix0r.nl/blog/2015/08/13/cmake-guide/
https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/
https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1
https://cliutils.gitlab.io/modern-cmake/chapters/basics/functions.html
https://cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html
https://github.com/ComicSansMS/libstratcom/blob/master/CMakeLists.txt
Abandoned approach using ExternalProject references:
https://cmake.org/cmake/help/latest/module/ExternalProject.html
https://stackoverflow.com/questions/44990964/how-to-perform-cmakefind-package-at-build-stage-only
Fixes: PYSIDE-919
Change-Id: Iaa15d20b279a04c5e16ce2795d03f912bc44a389
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@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>
|
|
|
|
|
|
|
|
|
|
| |
Redirecting stderr to stdout causes an error when running
under non-UTF8 locales. For the build scripts, it is also not
desired to mix the output channels, so, remove the redirection.
Change-Id: I6e3d05ede00537c3cc4c022780e8d0ed27bb0cad
Fixes: PYSIDE-880
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fix COIN script and documentation.
Amends 9ec0fab3d67d7c5ecc3cb8d45d3ee8abc38aa8e0.
Task-number: PYSIDE-809
Change-Id: I217a34a4074a55cfeee9b00898a5e5a09f3f2bb8
Reviewed-by: Alexandru Croitor <alexandru.croitor@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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds a new setup.py option called --package-timestamp
which allows setting the "dev" part of the version number of a
snapshot package.
It also modifies coin_build_instructions.py to set the package
timestamp to the value of the Coin integration ID.
This has a couple of benefits:
1) We can look up the build and test logs of a specific package
on testresults.qt.io.
This can also be looked up for non-snapshot builds, the
"timestamp = Coin integration ID" can also be found in the
generated __init__.py file.
2) All the different platform packages within one integration
will have the same timestamp, which allows pinning snapshot
packages inside a pipenv Pipfile.
3) It's easier to figure out which packages were built as part
of the same Coin integration.
Task-number: PYSIDE-680
Change-Id: Idb2f2d2313cee213a5d742f88b60315a4e505250
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is due to
http://doc.qt.io/qt-5/ssl.html#import-and-export-restrictions
A user may still pass --openssl option if they wish to package
the libraries for their own local build.
Task-number: PYSIDE-715
Change-Id: Iadade188ffa13decf03bc21b016718176f6ead6e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\
| | |
| | |
| | | |
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>
|
|\| |
| | |
| | |
| | | |
refs/staging/dev
|
| |\|
| | |
| | |
| | | |
Change-Id: I31a0ff26bc02e6cc2ec2a816c16d170fc334f800
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This changes coin_build_instructions.py to read the version in
sources/pyside2/pyside_version.py to check if it is not a pre-release
version (no alphas, betas), which means that --snapshot-build
should not be passed, thus generating proper wheel names that can
be uploaded to PyPI.
This eliminates the need to remove the --snapshot-build param
on a per release branch basis (and thus, less things to remember
for official releases).
Change-Id: I10afcb5bfe8a661583104f3d7b2c0b4ebd4530fb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is needed to generate correct wheel names, that can be uploaded
to PyPI.
Change-Id: If97496d201af13f58f9dae8b61ac86bef68d8717
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |/
| |
| |
| |
| | |
Change-Id: I4c81b9131e37b8ed91fa02756ed19df25fd2dd8e
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the --openssl option is given, it should point to the openssl bin
directory, and not to the openssl.exe file itself.
Clarify this in the setup.py comments, and fix it in
coin_build_instructions.py.
Task-number: PYSIDE-660
Change-Id: I5b20a8c5a445c9f628c5abc258c43271c490e08c
Reviewed-by: Simo Fält <simo.falt@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>
|