| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The option is not being used anymore since commit
c605d686f8cc4c8d370ec4d6260fca4b423f5526 , but we need to keep the
name around, so that setup.py doesn't error out in Coin because we
still pass that option.
Change-Id: I6f3433d1feacd8940aa48ba7e1113fe44a19ed9b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-613
Change-Id: Iad411a46618d157b17f62b403591f348acd98a4e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes sure to resolve symlinks and copy only one file for
every dynamic shared library used (vs 3 before -> 2 symlinks + 1
actual library). This avoids duplicate files, as well as saves space
when creating wheel (e.g. no 3 copies of standalone WebEngine
library).
This filtering happens copying from CMake install dir into
pyside_package_dir (the symlinks are still present in the CMake
dir, but that shouldn't harm anybody, and might be useful for
users of shiboken only for example).
Task-number: PYSIDE-495
Change-Id: I0fe454e16c6b254a8682aa7b1c702ec01a3064f0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change amends e0a4372160d9b1ab1550589784cc456b93d28cab to allow
running setup.py install without getting exceptions from distutils.
Specifically the problem was that distutils did some additional checks
to make sure that plat_name == get_platform(), which will not be the
case because of the modified minimum deployment target.
The fix is to disable that check via a flag.
Change-Id: I066c0d4b7a6b27fceaf094c15bace7aba3c873bb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python's distutils does not know about the minimum deployment target
of extensions, but only the version that was used when building
the Python interpreter itself. This value is propagated to the final
wheel name, and confuses users on which macOS version can the package
be used.
This patch computes the correct minimum deployment target, and forces
distutils (and wheel) to use it in the wheel name. Unfortunately it
requires a slightly dirty hack to circumvent a rigid check in
distutils itself.
Task-number: PYSIDE-612
Change-Id: I4380ee81840f9746b210579700cc5d69d3865810
Reviewed-by: Fredrik Averpil <fredrik@averpil.com>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The rpath already present assumes the presence of some symlinks,
which are not present when copying over the Qt frameworks. Thus
the rpath needs adjustment.
Task-number: PYSIDE-605
Change-Id: I2fec6f53c8b617a6e755718e9174cadd2c485b5e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Even though a user might specify a
CMAKE_OSX_DEPLOYMENT_TARGET value, this will not automatically
set the regular MACOSX_DEPLOYMENT_TARGET environment variable,
which is picked up by the compiler to decide which standard
library to use. Because CMake is invoked via run_process ->
distutils.spawn(), spawn might decide to set its own value
of MACOSX_DEPLOYMENT_TARGET. That is undesirable.
Make sure to always specify the environment variable based on
given value, or current OS version.
(cherry picked from commit 6945dfb657a17fd66fd547e086c6fa9c76f06074)
Change-Id: I7f2dcc546c447d30fc1585cda220e3437cee9491
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When libicu libraries are present in the qt lib dir, this caused
trying to copy the files into the same folder where they are located
which will obviously fail.
Change-Id: Ibcabec2e44dac70e0c3c56e52ff0c8ac7749dbc0
Reviewed-by: Fredrik Averpil <fredrik@averpil.com>
Reviewed-by: Simo Fält <simo.falt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously there was a selection process to choose which libraries
to copy over in order to save time and space by not copying libraries
for which there are no bindings.
The logic was incomplete, and it would be a burden to always update
it.
Instead it seems that WebEngine is the predominant time consumer
when copying, so just simplify the logic to the following:
1) If WebEngine bindings were generated, copy WebEngine Qt libraries
2) If not, don't
3) Copy all other Qt libraries
Task-number: PYSIDE-604
Change-Id: Iaa832b5281c9c328f056fd5f9f42e251d55be75f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
This is necessary to create binaries that will run on systems older
than the system on which the binaries are build.
Task-number: PYSIDE-603
Change-Id: Iab1e155d63f0a0cde5de7bbf54ca2c906d8bf188
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Useful for debugging incorrect command line arguments (especially
for CI builds).
Change-Id: I2c291c1ede5c2e17cdd877f788e8b62876568367
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the --standalone build process would download and extract
an archive of ICU libraries, regardless of which ICU Qt was built
against.
The build process will now detect which ICU libraries QtCore depends
on and copy the libraries over to the destintation libdir.
Something similar might be needed in the future for macOS and Windows.
Change-Id: I0db0c8c628d3c095a8a4a1e361f8fafe18da2ec3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The value of 'dist_dir' always meant the 'pyside_package' directory,
yet it always added some confusion that it might be something else.
Thus remove all mentions of 'dist_dir' to make things more clear.
Change-Id: I5037d7a272e96d89424a333adb9c6dc4510d492a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change improves the output of which directories are used when a
build is done, as well as adds output for the correct final
installation destination (deduced automatically by setuptools, or
specified by --prefix option).
The change aims to reduce the usual confusion of figuring out which
files are written where.
Change-Id: I038be7bc657a7fa68e242c38076ffc4ba0548a0b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-599
Change-Id: Iea11cca0c5de0aec82ce504ce8ac14d9778c08dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Add the compiler.
Task-number: PYSIDE-357
Change-Id: I7138c583382d60933a921fd2f0dc4ef880a0c31b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Fredrik Averpil <fredrik@averpil.com>
|
|
|
|
|
|
|
|
|
| |
When creating PIP wheel for linux from Qt CI binaries we have to
include ICU libs among Qt binaries.
Change-Id: I30adf7041784cf3558c064d6ab6ad295ed1f5551
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
There was an indentation error in the rpath linux handling function,
which ended up not adding any rpaths in regular builds, thus
breaking PySide2 module importing.
Change-Id: I18488f78aca50435f69ce091e46a77e4ec55d396
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Mention that it is usable on Linux and macOS, whereas on Windows it
is used implicitly.
Change-Id: I17f2086e7d4f9ac9ac084bddbcf73644af4bc0d4
Task-number: PYSIDE-558
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is achieved by registering a qt.conf file with a Prefix pointing
to a directory relative to the loaded PySide2 module (e.g. QtCore).
Thus Qt does not crash due to not finding platform plugins.
Because this change would affect tests, which are ran before the
PySide package is installed, a new environment variable called
PYSIDE_DISABLE_INTERNAL_QT_CONF is introduced. This variable disables
the registration of the internal qt.conf file, thus it will not point
to a not yet created location, which will allow tests to run as
before.
Change-Id: I5a96037adfafe1f08ea57535aa4a2a0d1660dfaf
Task-number: PYSIDE-558
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
| |
Change-Id: Ib2429a3cefb9ecc8804d384f9560e15d27d48198
Task-number: PYSIDE-558
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes were made to copy the correct Qt shared libraries into the
package (updated to Qt5 naming).
A new rpath value will be inserted alongside $ORIGIN, to point to
the copied over libraries.
Also because symlinks are not supported by wheels, the actual Qt
libraries have to be copied instead of the symlinks.
Change-Id: I656a89a0b0136a290752bca141125bdeb5bb44d5
Task-number: PYSIDE-558
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to adding $ORIGIN, add an RPATH to the Qt lib directory
(the one used when building PySide) so that there is no necessity to
set LD_LIBRARY_PATH.
Change-Id: I0d54da2ef084abbe503bd427b0773481264334e6
Task-number: PYSIDE-558
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements standalone option on macOS, both for .dylib Qt build and
framework build. Multiple rules are applied to figure out which files
need to be copied into the final package.
We also take care to embed a proper LC_RPATH for the PySide libraries,
so that they point to the copied over Qt libraries.
Change-Id: I442749e7c2318a66a22e3a1dd0ae703fb8943acf
Task-number: PYSIDE-558
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change overrides some of the commands provided by distutils /
setuptools to preserve symlinks when copying directories. This is mostly
to decrease the time spent and amount of space used by copying into
the pyside_package, build/xxx and site-packages directories (copying
around WebEngine libraries takes a bit of time and space).
It is not useful for bdist_wheels or eggs, because Python's zip module
does not preserve symlinks when archiving the files.
Ultimately this will probably go away, once we figure out which if any
of the symlinks are needed.
Task-number: PYSIDE-495
Change-Id: I8766266c9ab51d610c9a5377618ab06020637d7d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change ultimately allows running python scripts that use PySide2
without setting DYLD_LIBRARY_PATH / DYLD_FRAMEWORK_PATH. It is
achieved by embedding a @loader_path LC_RPATH into all PySide shared
libraries, so that they can load each other if they have dependencies.
Also an additional LC_RPATH is embedded to point to the Qt libraries
directory which was used for building PySide2.
A new option "--rpath='your_value'" is available to allow manually
specifying the rpath value to be embedded into the libraries.
Change-Id: Id783196e908877692312b1d40fef4ad0b09f3e68
Task-number: PYSIDE-558
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The signature module was turned into a package under
'PySide2/support/signature'. The package is completely isolated
so that nothing is leaking into the normal import machinery.
The package is also not initialized unless a __signature__ attribute
is accessed. The only change to Python during a PySide run is
the existence of the __signature__ attribute.
As a side effect, all tests run at the same speed as before
this extension.
The module does not actively import PySide modules. Instead,
it inspects sys.modules and reloads its mapping.py if needed.
Example usage:
>>> PySide2.QtWidgets.QGraphicsAnchorLayout.addAnchors.__signature__
>>> PySide2.QtWidgets.QGraphicsAnchorLayout.__signature__
The module has been thoroughly tested on macOS.
I consider this ready.
Task-number: PYSIDE-510
Change-Id: Ibb231a7fbb4ccc1a7249df55e3881a4e21a19c0d
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This consists of a few things:
- Remove the detection and usage of ALTERNATIVE_QT_INCLUDE_DIR in
setup.py, because CMake takes care of finding the correct Qt
include headers.
- Add detection of framework / non-framework includes in the CMake
rules, instead of in the setup.py script.
- Don't pass QT_QMAKE_EXECUTABLE from setup.py to CMake, because
it is not being used. It was previously used for detecting Qt4
via the CMake FindQt4.cmake file. Now it is done by
find_package() which detects qmake from the environment.
- Get rid of the old "/Library/Frameworks" QT_INCLUDE_DIR, which
was where the official Qt 4.8.x packages installed Qt.
- Deprecate usage of ALTERNATIVE_QT_INCLUDE_DIR. Now it is only
used if CMake fails to detect the proper include headers of Qt5
(which should not happen).
Change-Id: I829b92bc0d40ae7eb418be27c735fc095e557820
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the same imp.get_suffixes() mechanism as on Unix, to determine
the suffix part of module extension files.
This fixes debug builds to work on Windows.
Note that the whole build stack has to use the same configuration,
no mixing is allowed on Windows.
For release build you need: python.exe + setup.py without --debug
flag + release build of Qt5.
For debug build you need: python_d.exe + setup.py with --debug
flag + debug build of Qt5.
Change-Id: I6188c859b5757d11e87d6a9e32b9ba558f7f609e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change decouples the naming of general shared libraries, python
module extensions, and cmake configuration files. All of them are now
computed depending on the python version and python build
configuration, and can also be manually set via CMake variables.
The module extensions names now use the most detailed 'import' prefix,
which usually informs whether a debug or release python was used, or
the Python ABI flags (for Python >= 3.2).
When a debug Python interpreter is used for building PySide2, the
preprocessor define Py_Debug is now correctly propagated to PySide2
sources, which fixes previous crashes in debug builds.
This affects only Linux and macOS builds. There is a subsequent change
for making it work for Windows builds.
All in all, this now allows proper mixing of debug / release versions
of the Python interpreter with debug / release versions of PySide2 on
Linux and macOS.
Task-number: PYSIDE-508
Change-Id: I88a05c3ada0fb32c7c29bdb86d7a2c15acc963b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Try to recreate the .so version symlinks correctly on Linux
instead of copying the files.
Task-number: PYSIDE-526
Change-Id: I3b015efe4f2f57abe418f171a8631d194ed08f65
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Previously, libpyside.so would not match .so.* and so, the
libraries were not copied.
Task-number: PYSIDE-526
Change-Id: I407db564beaee1f443dc7b816bc0bf798c8aacf1
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
| |
Remove the former submodules pyside2/shiboken2 from
the modules lists.
Change-Id: I41de78f5519c24cce1e649eaf3b2f2d1cabcc9b0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I0dbd65a23bde599f923811c74d0565f329116c93
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I8bc9f18e5e85ff22ab4e6f24d9bf0917730b7a23
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I5f2ecb29ca904b6b5a011f461debda62f38dbdc2
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently in earlier versions of CMake, if the OS version found in
CMAKE_OSX_DEPLOYMENT_TARGET did not have a corresponding SDK with
the same version in XCode, the CMake build would fail.
Make sure to use the latest SDK available to XCode.
Change-Id: Ie2317c1d285377b0cd5c7a75c94628b03aef557e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Print a message mentioning the function as otherwise it is quite
hard to figure out where failures come from.
Change-Id: Ib007c666e0ef406261c80e317004d1e439cf0403
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the python version suffix, fixing error
error: [Errno 2] No such file or directory: 'pyside-setup56d\\testenv3d_build\\py3.5-qt5.6.3-64bit-debug/shiboken2/libshiboken/shiboken2-python3.5.pdb'
when building Windows with debug.
Change-Id: I4352e77d67732ea5f2a60766a47f0dfca163a9a5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I323c5f69ee4ba1b1c04addd2eeb9a4a76b99a54c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: Ie7832668e0a4adf4dcbf78e49c2af4b65ebe5107
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
The necessary support for python 3.6 is just changing the setup.py file.
Task-number: PYSIDE-471
Change-Id: Id5c0ad67d1bb9d360f333a415bed65e62c30b53e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Amends change b97da3efa0462a4de6ae20904dde3843bc18bce2.
Change-Id: I8a48aa0d313f370f3933ff699ec2ed347f760e8b
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Calling setup.py to initialize the submodules from scratch would
fail complaining about the missing 'master' branch in 'wiki',
since it assumed the submodules were initialized if the directory
was present. Check the directory contents instead.
Change-Id: I577a97d8cacf408f7caf52565e13e88815475a3b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was not really set. The setup supported 3.2, the default was saying 3.4,
and I have set it now to 3.3.
Reason:
Besides a sensible useful minimum version, Python 3.3.3 is the only currently
working version, which allows for a debug python build on macOS. I need this
for my debugging work, admittedly.
So this change is really made to support PYSIDE-79.
Victor Stinner has supplied a patch three years ago, see
https://mail.python.org/pipermail/python-bugs-list/2013-July/209044.html
Since then, the patch was not maintained, and the problem has crept into python, again.
If I find some time for it, then I will fix it.
Task-number: PYSIDE-79
Change-Id: I1b7d4ff1613d31567095636edc61f4222fad08dd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The paths for "qmake" and "cmake" will not work when they are relative paths.
This problem is pretty subtle, when setup.py breaks because it cannot create the
simple list at line 712, variable "cmake_cmd". This innocent looking list is causing problems, because
it uses qtinfo.py, and this is dependent on properties which call back into
the subprocess module!
The properties in qtinfo.py are now real properties, because their values are
early computed in __init__. The problem is solved by this patch.
Change-Id: I877b6644fa2909ca9ac1f23d4ce5accfc869716b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Presence of the variable enables the generation of the doc targets
in PySide2.
Task-number: PYSIDE-363
Change-Id: I0e1d4702da297f2390f09f9354c413da24febee1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I049929e2c4e24554866000df5daa063071060884
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: I7ebf94d93ce5125deadf103bb4354e54079a372b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PySide is currently in an unfinished state. Therefore, running all the
tests will never return a success.
To make this more useful, this script is controlled by a blacklist,
in order to keep record of the known-to-fail tests.
On success: zero error status
On Failure: nonzero (raises ValueError)
The test parser uses a blacklist file that is compatible to standard
Qt blacklist files.
macOS, Ubuntu and windows (thanks to fkleint) are supported.
The blacklist has a feature where new configurations are learned.
It first removes old versions of the same tests, before it inserts the new ones.
Blacklisting is now optional.
We support now py2, py3, qt5, qt5.6 etc.
Some consideration about collapsing the data are added.
The parser has now a sub-command "test" that is mandatory.
Support for moving the build_dir to another location without loosing the tests so far.
Implement BPASS.
Support CTEST_OUTPUT_ON_FAILURE
Change-Id: If66d3cf1733a3b0c8a47fe9b8c6aec8ea430c699
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|