diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-07-09 15:43:36 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-07-09 15:43:36 +0100 |
commit | 2719f73b6813d11d13a9650cdd2ab8ec6e69385d (patch) | |
tree | 8c816148bcbd22757d892089c989ae614eae4f5a /dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch | |
parent | 0f558761aa2dee1017b4751e4017205e015a9560 (diff) |
gentoo resync : 09.07.2022
Diffstat (limited to 'dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch')
-rw-r--r-- | dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch b/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch new file mode 100644 index 000000000000..d91b0b6806ca --- /dev/null +++ b/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch @@ -0,0 +1,54 @@ +The Fedora / upstream fixes (shiboken2-5.15.2-python311.patch) end up breaking +Python 3.8 compatibility (maybe 3.9 too, but didn't get that far). + +Wrap them with PY_VERSION_HEX for Python 3.11. +--- a/libpyside/pysideqflags.cpp ++++ b/libpyside/pysideqflags.cpp +@@ -187,7 +187,12 @@ namespace QFlags + } + newspec.slots = SbkNewQFlagsType_spec.slots; + PyTypeObject *type = (PyTypeObject *)SbkType_FromSpec(&newspec); +- Py_SET_TYPE(type, &PyType_Type); ++ ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(type) = &PyType_Type; ++ #else ++ Py_SET_TYPE(type, &PyType_Type); ++ #endif + + PySideQFlagsType *flagsType = reinterpret_cast<PySideQFlagsType *>(type); + PepType_PFTP(flagsType)->converterPtr = &PepType_PFTP(flagsType)->converter; +--- a/libpyside/pysidesignal.cpp ++++ b/libpyside/pysidesignal.cpp +@@ -162,7 +162,13 @@ PyTypeObject *PySideSignalTypeF(void) + if (!type) { + type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&PySideSignalType_spec)); + PyTypeObject *hold = Py_TYPE(type); +- Py_SET_TYPE(type, PySideMetaSignalTypeF()); ++ ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(type) = PySideMetaSignalTypeF(); ++ #else ++ Py_SET_TYPE(type, PySideMetaSignalTypeF()); ++ #endif ++ + Py_INCREF(Py_TYPE(type)); + Py_DECREF(hold); + } +--- a/libpyside/pysideweakref.cpp ++++ b/libpyside/pysideweakref.cpp +@@ -90,7 +90,13 @@ PyObject *create(PyObject *obj, PySideWeakRefFunction func, void *userData) + + if (Py_TYPE(PySideCallableObjectTypeF()) == 0) + { +- Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type); ++ ++ #if PY_VERSION_HEX < 0x030B00A1 ++ Py_TYPE(PySideCallableObjectTypeF()) = &PyType_Type; ++ #else ++ Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type); ++ #endif ++ + PyType_Ready(PySideCallableObjectTypeF()); + } + |