| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Use get() with default value. Amends
8b484df1cf36cbf43192bc1e4669b5e3dcb591e7.
Change-Id: I728747e2de1ef9878a7a7698ec701055fcf18363
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Use testenv_name_build/testenv_name_install instead of
pyside_build_install when a virtual environment exists.
This makes it easier to maintain builds in varying
environments in parallel for comparing things.
Change-Id: I33f672a24d871ccb8c9aad1614b7b3eded33b93c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid unnecessarily re-initializing the submodules and checking
out branches.
In a first loop, collect the subdirectories and check whether any
are missing. Initialize submodules only in that case.
In the second loop, check out the correct branch if it differs.
Change-Id: I3c16fd9b7bd6feb77b7b921d61f7e622cfab797f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Check whether nmake can actually be found.
Invert option --jom to --no-jom so that jom is used by default.
As options are not checked, --jom will then be simply ignored.
Change-Id: I67bd7f92d3bb2800530847abe0808283ca14d8a4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
It is sometimes hard to tell whether the build finished successfully,
add a message to show it.
Change-Id: If9a20272f851fbe0ade801ddab1bee11fca807da
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move all code that was unconditionally executed at startup
into a subroutine prepareBuild() and execute that from the build command
class.
Overwrite the Distutils'_install to be extended.
This makes the standard --help options of DistUtils work as expected
and causes the script to require a command argument instead of
starting unconditionally.
Change-Id: I0bf1bfc4ba0e15662122733b04e468f1838e4ae8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Verify that the commands exist.
Change-Id: I8a4263320774f151848f68b04bc7b4447afe2579
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: Id24505e17c39a0e81fab283f04e53923d9f56d6a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Change the examples to the dev branch
- Introduce an optional 3rd parameter to the submodules hash
pointing to the directory and use that to switch the wiki module
to the master branch.
This makes it possible to run commands like
git submodule foreach git pull
which did not work previously due to the wiki submodule being in a headless
state.
Change-Id: Ib90f68f73e3401431fd2dce90f02ed75095a5429
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--reuse-build option will rebuild only modified sources,
--skip-cmake skips generating new Makefiles,
--skip-make-install skips executing make install,
--skip-packaging will not create a python package.
A combination of these can decrease development iteration time,
instead of constantly rebuilding the whole world, or waiting for
the packaging to be done, when you are only interested if a certain
file compiles.
Change-Id: I755f102573dcb37ceb1b835b0843f244c2d4114e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The recent change that made use of framework headers on OS/X did
not work with homebrew Qt, and it didn't work with official builds
either, because neither of the chosen include folders contained
all the necessary headers to lead to a successful build.
Fortunately shiboken actually supports being passed multiple include
locations, separated by a colon on OS/X, and a semicolon on Windows.
This patch makes sure to always pass the Qt include folder, and in
case if the Qt build is a framework build, also passes the root
frameworks location, with headers found by shiboken under
frameworkName.framewework/Headers.
This works for homebrew builds, official builds and custom
non-installed prefix / in-source builds of Qt.
Change-Id: I47b24e197839883de2ab873461efc1f4d4d33743
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
While using Qt binaries installed with Qt Company installer,
pyside can't find header files which are installed to
lib/Qt<module>.framework/Headers directory.
Change-Id: If74f5b3bf0f139bbcc6e9b62fb16e125f6ca9d4c
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Qt Quick 1 has been removed in Qt 5.6.
Change-Id: I4db96e3a5613d8abe208841752c6ea25e72c4a8e
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
| |
The change allows using the provided SDK in all compilation targets.
Change-Id: I2b5d7b24af725e82c5468b9a5e22cc60fd0e42c4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Versions of OSX lower than 10.9 link libstdc++ by default.
Also libstdc++ is linked when the osx minimum deployment target is
lower than 10.9.
The new option allows explicitly linking libc++ in the cases mentioned
above. It is not enabled by default, because most libraries and
executables on versions lower than 10.9 are compiled with libstdc++,
and mixing standard library versions can lead to crashes.
Change-Id: I7397d2bbce2cfceaeb848f25e0bbf1a24ac9bde8
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Clone submodules from code.qt.io and adapt branches.
Change-Id: Iecf128ca00c4eb25e5450db8630e42e9307bd7cc
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
| |
This was modified, but not corrected in setup.py
|