https://bugs.kde.org/show_bug.cgi?id=415743
Dmitry Kazakov <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit|https://invent.kde.org/grap |https://invent.kde.org/grap |hics/krita/commit/5bb4874ad |hics/krita/commit/b263b5668 |04b771a0fec12827de748780b5b |0f575a51bc9b6d9bb47070f3c15 |395b |32f1 --- Comment #11 from Dmitry Kazakov <[email protected]> --- Git commit b263b56680f575a51bc9b6d9bb47070f3c1532f1 by Dmitry Kazakov, on behalf of L. E. Segovia. Committed on 03/08/2021 at 08:35. Pushed by dkazakov into branch 'krita/4.3'. Add support for SIP v5 bindings SIP v5 and above rely on a PEP-0518 based tooling system to build bindings (usually distutils). v4, as our currently supported generator, is only a dummy tool -- it relies on the user to compile and link the bindings. This commit adds support for SIP v5. - I've added a "sip-generate" tool, that differs from the standard sip-build in that it only generates the binding glue; this relies on a private, undocumented method of the sipbuild.Builder class. - The cmake/modules directory now has a pyproject.toml skeleton manifest, which is processed by the new add_sip_python_module_v5 macro. It works identically to the v4 macro, but targets the sip-generate tool. Compilation happens in the exact same was as we do with v4. Key remarks: - All the data must be now injected in the skeleton manifest (as opposed to build flags in v4). - SIP v5 makes use of protected Qt methods; for this reason, it supplies a "protected-as-public" override, which I emulate in the add_sip_python_module_v5 macro. - Like v4, v5 also needs to be told the fully qualified name of the SIP package (e.g. `import PyQt5.sip` -- PyQt5.sip is the value). Otherwise, the native library will not find the package and the initialization will fail. - The initialization function changes, from "PyInit_pykrita" to "PyInit_krita" (the innermost module name). This has been macro'd for backwards compatibility. CCMAIL: [email protected] (cherry picked from commit 5bb4874ad04b771a0fec12827de748780b5b395b) M +8 -3 cmake/modules/FindPyQt5.cmake M +9 -3 cmake/modules/FindPyQt5.py M +3 -3 cmake/modules/FindSIP.cmake M +42 -12 cmake/modules/FindSIP.py M +103 -6 cmake/modules/SIPMacros.cmake A +15 -0 cmake/modules/pyproject.toml.in A +24 -0 cmake/modules/sip-generate.py M +5 -6 plugins/extensions/pykrita/plugin/PykritaModule.cpp M +11 -3 plugins/extensions/pykrita/plugin/PykritaModule.h M +4 -1 plugins/extensions/pykrita/plugin/config.h.cmake M +5 -4 plugins/extensions/pykrita/plugin/utilities.cpp M +33 -25 plugins/extensions/pykrita/sip/CMakeLists.txt https://invent.kde.org/graphics/krita/commit/b263b56680f575a51bc9b6d9bb47070f3c1532f1 -- You are receiving this mail because: You are watching all bug changes.
