aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts/platforms/linux.py
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* 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>
* Android Deployment: Rpath changes through linker flagsShyamnath Premnadh2023-07-261-5/+7
| | | | | | | | | | | | | - 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>
* Android Deployment - Add dependencies.xml filesShyamnath Premnadh2023-05-021-0/+3
| | | | | | | | | | | These files that are available with the Qt installation enable us to find all the Android permissions and Qt dependencies required for each module Pick-to: 6.5 Task-number: PYSIDE-1612 Change-Id: I6df41f1456ccd226f5df0cfd17022f337f5d2198 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Tooling: Simplify adding new toolsShyamnath Premnadh2023-04-181-5/+5
| | | | | | | | | | | | - Amends a48de6afbf127831aa46c1c006d777861bbbe9cb - Simplify the developer doc for adding new tools - Make build_scripts/__init__.py the primary place to add new tools for the build process Pick-to: 6.5 Change-Id: I1e8bd9e069471bf51a186c067773d7fbc2588769 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android Deployment: Remove patchelf rpath for platform pluginShyamnath Premnadh2023-03-101-1/+2
| | | | | | Task-number: PYSIDE-1612 Change-Id: I3a4747f14c932f23ab37d981713d7bbb34cba611 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Android Deployment - cross building for android wheelsShyamnath Premnadh2023-03-061-5/+12
| | | | | | | | | | | | | | | | | | | | - basically controls what goes into the android wheels - presently restricted to Qt essential modules - controlled using the --plat_name=android_aarch64, --plat_name=android_armv7 etc - the libQt6*.so libraries in Android do not have the version in the end.This is the same for all the Android Qt installations. Hence we look for libQt6*.so* instead of libQt6*.so.? - folders like 'glue', 'typesystems', 'support' are not relevant for for cross compiled wheels because shiboken6_generator is not cross compiled - for Android cross compilation, the 'examples' folder is also not relevant in addition to the above folder Task-number: PYSIDE-1612 Change-Id: Icc7561a6e990ed9b080f55cb30bac34e4774be7f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* build: introduce log levelCristián Maureira-Fredes2023-02-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Removed the "quiet" and "verbose" older approach, and introduced a 3-level configuration so we can switch between them depending of the amount of output we need. By default, the log level is set to INFO, but it can be changed to VERBOSE and QUIET. The older "--verbose-build" and "--quiet" options were deprecated. The new way for setting the log level is: --log-level=quiet --log-level=verbose --log-level=info (default) The default option was made less verbose, controlling the output of the logging module, and cmake: for verbose it uses DEBUG, quiet uses ERROR, and no option uses INFO. Change-Id: Ida0289e3ea0ed09b7489a7513254137bba186fd0 Reviewed-by: Christian Tismer <tismer@stackless.com>
* build_scripts: remove unused importsCristián Maureira-Fredes2022-12-191-1/+0
| | | | | | | | | | Many leftovers from the pathlib migration patches. Pick-to: 6.4 Change-Id: I7126fadbe45dbb387bc8948ba777cb690f10a758 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build system: Port get_shared_library_filters to pathlibFriedemann Kleint2022-12-061-2/+2
| | | | | | | | | Introduce a helper to find shared libraries and change the functions to use Paths. Task-number: PYSIDE-2080 Change-Id: I0b2e4c4c21f9810f6b45986c784d050fbf7a8058 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build system: Further introduce PathlibFriedemann Kleint2022-12-061-15/+15
| | | | | | | | | | | | | Make it possible to pass a Path or a str to copyfile()/copydir() for both arguments or one of them. Turn the variables destination_dir, destination_qt_dir and destination_qt_lib_dir introduced by b32a791ea2c66ae9ef2896ea445d4752e4773f96 into Paths. Task-number: PYSIDE-2080 Change-Id: I13b27179746019b9cbe575d783a67a025dac1ee5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Build system: Introduce variables for the target Qt directoriesFriedemann Kleint2022-12-011-15/+16
| | | | | | | | | | It simplifies the code and paves the way for using identical directories on the various platforms. Pick-to: 6.4 Change-Id: Id50d06f100f13c83ea40b475dcf1a05a08ffa3bd Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySideTools: install tool only if corresponding Qt tool existsShyamnath Premnadh2022-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - PySide tools which are wrappers around Qt tools are now only installed if the corresponding Qt tool exists. - PySide6 entry points for the Qt tool are now only created if the Qt tool exists in the corresponding Qt installation. - Incase the console entrypoint still exists and the corresponding Qt tool does not exist, the tool would exit stating that the Qt tool does not exist. eg: 'pyside6-uic' is run and 'uic' does not exist. The the tool outputs that the 'uic' does not exist. Ideally as per this change, PySide6 entrypoints for missing Qt tools should not exist at all. - versions.py deleted and contents moved to __init__.py. - Adds warning from Python incase if the tool does not exist. This is in addition to the CMake warning. Fixes: PYSIDE-2097 Pick-to: 6.4 6.2 Change-Id: I3f1b26d103679f7425d9ad85dfed8d9ad17f6fbf Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build scripts: use proper variable name instead of selfShyamnath Premnadh2022-10-311-11/+11
| | | | | | | | - Remnants of 6fe563b2aa15c2c23369acce353be69f6ea84c77 Pick-to: 6.4 6.3 Change-Id: I664b960324d49db08f7a8ec6cf5244fbcda970d0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* pathlib: migrate build_scripts away from os.pathCristián Maureira-Fredes2022-10-181-3/+4
| | | | | | | | | There is a usage of os.path.relpath that cannot be migrated to pathlib, which remain the only usage of os.path Task-number: PYSIDE-2080 Change-Id: Iac781e9c9324fb8b9d3559b4225912d56782072a Reviewed-by: Christian Tismer <tismer@stackless.com>
* build system: Disable checking ICU libs for cross buildsFriedemann Kleint2022-09-261-4/+5
| | | | | | | | | | | ldd is used to determine the location of the ICU libs, which does not work for cross builds. Fixes: PYSIDE-2060 Pick-to: 6.3 Change-Id: Idbf8c6e9239f4623b7c11c646a616ef44e8c3ecf Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* build system: Fix standalone build with --no-qt-toolsFriedemann Kleint2022-09-211-1/+2
| | | | | | | | | Patch the binaries only when tools are enabled. Fixes: PYSIDE-2060 Pick-to: 6.3 Change-Id: I75b2949e23a2d6cbfebcd64dfec7ab43e978881c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build: replace the usage of reserved Python wordsCristián Maureira-Fredes2022-06-291-23/+23
| | | | | | | | | | Internally, we were using many words like 'filter', 'vars', and 'dir' which are built-in functions in Python. To avoid confusion and a possible wrong behavior, we renamed them. Pick-to: 6.2 6.3 Change-Id: Idbadda3857705ef3a5f0440112ee923d3a61ffa0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: fix flake8 warnings and missing f-stringsCristián Maureira-Fredes2022-06-281-1/+1
| | | | | | Pick-to: 6.2 6.3 Change-Id: Ibd2a6088f6a2826be38a13037fe2db6656630b34 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* 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/+4
| | | | | | Pick-to: 6.3 Change-Id: Ie56b054ca32869a488356b31eea49cc985fc463e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix exclusion of QML plugin debug symbols on LinuxFriedemann Kleint2022-03-031-1/+1
| | | | | | | | | | | | | | Adapts 623a7e19c09233858435ecbb09b3ccc44356a9d7 to Qt 6; the files are now named .debug. [ChangeLog][PySide6] QML plugin debug symbols are no longer shipped to reduce the wheel size. Pick-to: 6.2 Task-number: PYSIDE-661 Change-Id: I1dbb0bfc9cca6c8e42ce4cc329af1cf70f234741 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Do not install Qt Designer plugin when using PyPyFriedemann Kleint2022-02-251-5/+7
| | | | | | Task-number: PYSIDE-535 Change-Id: I681a79b684e15802294fd5094afe35de0ce92c8a Reviewed-by: Christian Tismer <tismer@stackless.com>
* setup.py: Add support for cross-buildingAlexandru Croitor2022-02-041-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setup.py can now be used to cross-compile PySide to a target Linux distribution from a Linux host. For example you could cross-compile PySide targeting an arm64 Raspberry Pi4 sysroot on an Ubuntu x86_64 host machine. Cross-compiling PySide has a few requirements: - a sysroot to cross-compile against, with a pre-installed Qt, Python interpreter, library and development packages (which provides C++ headers) - a host Qt installation of the same version that is in the target sysroot - a host Python installation, preferably of the same version as the target one (to run setup.py) - a working cross-compiling toolchain (cross-compiler, linker, etc) - a custom written CMake toolchain file - CMake version 3.17+ - Qt version 6.3+ The CMake toolchain file is required to set up all the relevant cross-compilation information: where the sysroot is, where the toolchain is, the compiler name, compiler flags, etc. Once are requirements are met, to cross-compile one has to specify a few additional options when calling setup.py: the path to the cmake toolchain file, the path to the host Qt installation and the target python platform name. An example setup.py invocation to build a wheel for an armv7 machine might look like the following: python setup.py bdist_wheel --parallel=8 --ignore-git --reuse-build --cmake-toolchain-file=$PWD/rpi/toolchain_armv7.cmake --qt-host-path=/opt/Qt/6.3.0/gcc_64 --plat-name=linux_armv7l --limited-api=yes --standalone Sample platform names that can be used are: linux_armv7, linux_aarch64. If the auto-detection code fails to find the target Python or Qt installation, one can specify their location by providing the --python-target-path=<path> and --qt-target-path=<path> options to setup.py. If the automatic build of the host shiboken code generator fails, one can specify the path to a custom built host shiboken via the --shiboken-host-path option. Documentation about the build process and a sample CMake toolchain file will be added in a separate change. Implementation details. Internally, setup.py will build a host shiboken executable using the provided host Qt path, and then use it for the cross-build. This is achieved via an extra setup.py sub-invocation with some heuristics on which options should be passed to the sub-invocation. The host shiboken is not included in the target wheels. Introspection of where the host / target Qt and Python are located is done via CMake compile tests, because we can't query information from a qmake that is built for a different architecture / platform. When limited API is enabled, we modify the wheel name to contain the manylinux2014 tag, despite the wheel not fully qualifying for that tag. When copying the Qt libraries / plugins from the target sysroot in a standalone build, we need to adjust all their rpaths to match the destination directory layout of the wheel. Fixes: PYSIDE-802 Task-number: PYSIDE-1033 Change-Id: I6e8c51ef5127d85949de650396d615ca95194db0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* setup.py: Package QtWebEngine resources from Qt's data dirAlexandru Croitor2021-11-221-1/+1
| | | | | | | | | | | | The QtWebEngine resources are not necessarily in $qt_prefix/resources. On Linux, distro's might specify a different value for QT_INSTALL_DATA. Make sure to use that value. Pick-to: 6.2 Change-Id: I5bed723de07d39d0bc72e7932161809150433037 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Pyside6/Qt Designer: Fix Python code preview not working on UNIXFriedemann Kleint2021-07-061-10/+6
| | | | | | | | | | | | | | | | | | | | | | Qt Designer as bundled by PySide6 was unable to find the uic binary in the libexec directory of the bundled Qt since that was only copied when QtWebEngine was built and the rcc/uic binaries were copied into the main directory. Also, libexec existed as a file containing qt.conf, which was created by a copy statement not checking for the target directory. Fix that by actually creating a libexec directory for uic, rcc and QtWebEngineProcess. Patch the executables accordingly. Add checks before copying qt.conf. Adapt pyside-tool to use libexec. The Windows code path remains the same, everything uses main directory there. Change-Id: I0c9f46fb776ed0315eecb6ed00202ea8d8f17fe2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Add assistant executableFriedemann Kleint2021-06-171-0/+2
| | | | | | | | | [ChangeLog][PySide6] Assistant is now shipped along with PySide. Fixes: PYSIDE-1378 Change-Id: Ie08778964f47378acf4e570b9a6dc3690257e411 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* build scripts: Extract helper functions to patch executablesFriedemann Kleint2021-06-161-6/+2
| | | | | | | | Prepare for adding more binaries. Task-number: PYSIDE-1378 Change-Id: I1e3a39db28da19fe9a307145d599d7448428652d Reviewed-by: Christian Tismer <tismer@stackless.com>
* Revert "Temporarily disable the designer plugin"Friedemann Kleint2021-04-111-1/+5
| | | | | | | | | | | | The underlying bug has been fixed in Qt. This reverts commit 54f8953d629fd97460c82c977ba81d95f0dc5235. Task-number: QTBUG-92361 Task-number: PYSIDE-1455 Change-Id: I904074685121c2bec87ba23697401a1bd93947fb Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Temporarily disable the designer pluginFriedemann Kleint2021-04-061-5/+1
| | | | | | | | | | This needs to be reverted after the underlying bug has been fixed. Task-number: QTBUG-92361 Task-number: PYSIDE-1455 Change-Id: I1067190d96e70e36bf655bdba7d2e66e3eb4f890 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* PySide6: Add a Designer pluginFriedemann Kleint2021-02-161-2/+7
| | | | | | | | | | | | | | Add a convencience class QPyDesignerCustomWidgetCollection to the Qt Designer module, which provides functions for registering widget types or adding QDesignerCustomWidgetInterface instances. A static instance of it is stored as a dynamic property on QCoreApplication, which is retrieved by a Qt Designer plugin, which provides the collection of widgets registered in Python. Task-number: PYSIDE-1455 Change-Id: If4055e6c9db6a03b32016b013a1130051bbd472a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build_scripts: remove unused importsCristian Maureira-Fredes2021-01-041-2/+1
| | | | | | Pick-to: 6.0 Change-Id: I8a62512707b576ea79fff56779322c7e38bbb21b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build scripts: Import 'PYSIDE' for linux platformSimo Fält2020-12-021-1/+1
| | | | | Change-Id: I08b665ae4feccc9b22b45da999150188228f29e2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Build scripts: Switch to Qt 6Friedemann Kleint2020-11-021-2/+2
| | | | | Change-Id: I40ba653f38bf079a697f0a509300a87e45181c30 Reviewed-by: Christian Tismer <tismer@stackless.com>
* build scripts: Introduce variables for the versionsFriedemann Kleint2020-11-021-1/+1
| | | | | Change-Id: Iac73fcf6e60f882968463d1c612f5ca5dc206222 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Rename shiboken2 to shiboken6Friedemann Kleint2020-10-281-1/+1
| | | | | | | | Adapt CMake files, build scripts, tests and examples. Task-number: PYSIDE-904 Change-Id: I4cb5ee4c8df539546014b08202a7b1e98ed3ff07 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* designer: patch rpath for unixCristián Maureira-Fredes2020-01-271-1/+12
| | | | | | | | | Designer is not statically compiled, so we need to add a RUNPATH to use the Qt libraries we ship with the wheel. Change-Id: I715fcd852b63da99104198be2a4587b042a1eab7 Fixes: PYSIDE-1165 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Improve code style with flake8Cristián Maureira-Fredes2019-11-251-24/+23
| | | | | | | | | | | | | | | | | - 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>
* Allow building shiboken2 and PySide2 as separate wheelsAlexandru Croitor2018-10-121-56/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Build script/Linux: Use installed patchelf if presentFriedemann Kleint2018-07-241-1/+1
| | | | | | | | | | Add path search helper and use installed patchelf instead of building the contained source. Task-number: PYSIDE-740 Change-Id: I8043aa58ff9ebc4884eee9f15745865f10bb30fe Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Don't package qml plugin debug symbols on LinuxAlexandru Croitor2018-05-251-0/+1
| | | | | | | | | | | Amends 6f894c2667c77e2580e7312d2ebed05efa7d654e. Reduces Qt 5.11.0 Linux wheel size from ~219MB to ~139MB (~80MB delta). Task-number: PYSIDE-661 Change-Id: Iaae1089183148037d94fe541f26426fd51c0f54d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Change license from all the filesCristian Maureira-Fredes2018-05-031-1/+1
| | | | | | | | | | | | | | | | | Removing the word 'project' from all the headers, and changing the PySide reference from the examples to Qt for Python: The following line was used inside the source/ and build_scripts/ directory: for i in $(grep -r "the Qt for Python project" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/the\ Qt\ for\ Python\ project/Qt\ for\ Python/g' $i;done and the following line was used inside the examples/ directory: for i in $(grep -r "of the PySide" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/of\ the\ PySide/of\ the\ Qt\ for\ Python/g' $i;done Change-Id: Ic480714686ad62ac4d81c670f87f1c2033d4ffa1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Split and move various setup.py parts into different filesAlexandru Croitor2018-04-301-0/+111
This is an initial effort to clean up setup.py. A new directory called build_scripts contains most of the logic for building, leaving setup.py as an entry point. The build_scripts directory contains the usual qtinfo, utils, and the setup.py content has been split into main.py and platform specific files under platforms subfolder. The testrunner script has been modified to find the new location of the utils module. Task-number: PYSIDE-558 Change-Id: I3e041d5116ca5c3f96c789317303b65a7b1bbd70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>