| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had some unwanted cache effects and needed to manually
remove certain files before building. Otherwise it could happen
that a build pretended to be ok, although there was a bug that
prevented generation of the ".pyi" files.
Further investigation showed:
Using option "--reuse-build" with "no" and then with "yes" creates errors
in the signature module. This makes "reuse-build" useless in this case.
We now add an "a" to "pyside3d_build" as "pside3da_build" if
"--limited-api=yes" was given. (different proposals welcome.)
That solved most of the stickiness problems.
A left-over lock directory is removed now, since it would prevent
re-computation of the .pyi files. This is implemented by a recursive
call to the script, where the subprocess does the work and the
main process checks if there was a crash and removes the lock.
The "--skip" parameter of generate_pyi.py was refined:
When set, it is checked if the time stamp of all imported modules is
less than the ".pyi" file time stamp. Only then the generation is skipped.
By editing any involved python file, the ".pyi" files will be regenerated.
Task-number: PYSIDE-560
Change-Id: I1b1d8ffbc58db3d4b38bf65e3795efcad7e7870c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
Close the temporary file, fixing:
sources/shiboken2/libshiboken/embed/embedding_generator.py:241: ResourceWarning: unclosed file <_io.TextIOWrapper name=3 mode='w+' encoding='cp1252'>
Change-Id: Idc89853fdca2a2a951e723d4b8840e3ebfb7c06c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cx_Freeze has the bug that it copies the "files.dir" folder
of shiboken, but does not insert the Python files.
As a quick fix, instead of testing only for existence of this
directory, we now check for existence of the loader.py file.
It can be assumed that all other Python files will be there
as well.
We could go even further and test-load all files. But then
it becomes questionable if we should better always embed.
Change-Id: Ib9553941c6a658fb20cb85d22f78431f99d88734
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Situation..
PySide works fine with normal applications. But when installers
are used to pack the application together, then the signature
extension cannot be loaded.
This is a problem that exists since the signature extension was
written. But starting with PySide 5.12.1, the signature extension
is very visible, because it is used to support the __doc__ attribute.
There have beed successful attempts to solve the problem for
PyInstaller and Py2App. But there are more packers available,
and they all need a change both in PySide and in the packer.
Solution..
To solve this problem once and for all, we embed the Python
support files in the binary shiboken package. When the Python
files are not normally accessible, they are unpacked from a ZIP
file.
Details..
- The embedded files shall only be used when the normal files
are not available,
- The signature extension should no longer be lazily loaded.
When the application starts, all files should be present.
- We drop support for shiboken2.support.signature and
use a single, independen folder 'shibokensupport' (proposal).
This avoids problems with multiple existence of the shiboken2
folder. PySide2.support.signature remains the official interface,
but it's only an alias when PySide2 exists.
- The embedding is used when the normal files cannot be
loaded for some reason. It can be enforced by a sys variable
"pyside_uses_embedding".
- Testcase is included.
- Tested with PyInstaller on macOS
Fixes: PYSIDE-932
Fixes: PYSIDE-942
Change-Id: Iaa62dc0623503a2e0943eedd10d2b2484c65cc2d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
| |
to be replaced by a subtree merge.
|
|
|
|
|
|
|
| |
From time to time, it is good to update the master project.
Change-Id: I50c45caf7c37ebb4ea865b4e4f5896e5cd8915fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
From time to time, submodules need to be updated.
Actually, I would even like to update the master module after every submodule
checkin, but this seems to be not easy to do all the time.
Change-Id: I52f266c58086186df05ddcc85085f35e2e28ead7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
This was modified, but not corrected in setup.py
|
| |
|
|
|
|
| |
We will see how travis works now.
|
| |
|
| |
|
|
|
|
|
| |
How on earth did people debug without debug builds?
This must have been wrong before the move to Qt5.
|
| |
|
| |
|
|
|
|
| |
Fix for empty PYTHON*_VERSION_* variables
|
|
|
|
| |
Quick fix for last PR.
|
| |
|
| |
|
|
|
|
| |
still, there seem to be errors....
|
|
|
|
|
|
| |
I just understood what is needed to define a package:
The files PySide2Config(...).cmake are crucial, the project names
have little to do with that.
|
|
|
|
|
|
|
|
|
|
|
| |
The intention is to have PySide2 and Shiboken2 as project names, to
allow for co-existence of PySide and PySide2.
This is the first version that builds with these settings on OS X:
$ python3 setup.py build --debug --no-examples --ignore-git --qmake=/usr/local/Cellar/qt5/5.5.0/bin/qmake --jobs=9
This is not yet tested.
|
| |
|
|
|
|
| |
pyside2-setup.
|
| |
|
| |
|
|\
| |
| |
| | |
For the old qt4 version, the old repository should be used.
|
| | |
|
| | |
|
| |
| |
| |
| | |
window debugging)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
exploration
|
| |
|
| |
|
|
|