git » pyside2.git » commit 961d773

Don't use limited API

author Antonio Rojas
2023-01-05 09:09:23 UTC
committer Antonio Rojas
2023-01-05 09:09:23 UTC
parent 76708f955556edb2baa1c67289c5b3c50e4dff58

Don't use limited API

PKGBUILD +6 -3
limited-api.patch +12 -0

diff --git a/PKGBUILD b/PKGBUILD
index 589d303..3382c36 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@ pkgname=(shiboken2 python-shiboken2 pyside2 pyside2-tools)
 _qtver=5.15.8
 _clangver=14.0.6
 pkgver=${_qtver/-/}
-pkgrel=1
+pkgrel=2
 arch=(x86_64)
 url='https://www.qt.io'
 license=(LGPL)
@@ -31,12 +31,15 @@ optdepends=('qt5-svg: QtSvg bindings'
             'qt5-quickcontrols2: QtQuickControls2 bindings')
 _pkgfqn=pyside-setup-opensource-src-$_qtver
 source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-$pkgver-src/${_pkgfqn}.tar.xz
-        fix-build.patch)
+        fix-build.patch
+        limited-api.patch)
 sha256sums=('23436302c8deb5b4cbc769b205d09604e38ba83b40708efccb7bd8c9af6f6b5d'
-            '4f8815840b5df2e1e3b9f201a3402126821b0d9702920cefdc18050639143ad1')
+            '4f8815840b5df2e1e3b9f201a3402126821b0d9702920cefdc18050639143ad1'
+            '433b4fa26203ecabf6ac7d4288467a918a4fba91ef885b0a11c466aae99050cd')
 
 prepare() {
   patch -d $_pkgfqn -p1 < fix-build.patch
+  patch -d $_pkgfqn -p1 < limited-api.patch
 }
 
 build() {
diff --git a/limited-api.patch b/limited-api.patch
new file mode 100644
index 0000000..f30b30e
--- /dev/null
+++ b/limited-api.patch
@@ -0,0 +1,12 @@
+diff -ru pyside-setup-opensource-src-5.15.7/sources/shiboken2/libshiboken/pep384impl.cpp pyside-setup-opensource-src-5.15.8/sources/shiboken2/libshiboken/pep384impl.cpp
+--- pyside-setup-opensource-src-5.15.7/sources/shiboken2/libshiboken/pep384impl.cpp	2022-09-23 08:47:20.000000000 +0200
++++ pyside-setup-opensource-src-5.15.8/sources/shiboken2/libshiboken/pep384impl.cpp	2023-01-04 08:07:17.000000000 +0100
+@@ -751,7 +751,7 @@
+ #endif // IS_PY2
+     Shiboken::AutoDecRef privateobj(PyObject_GetAttr(
+         reinterpret_cast<PyObject *>(Py_TYPE(self)), Shiboken::PyMagicName::name()));
+-#ifndef Py_LIMITED_API
++#ifndef Py_LIMITED_API && PY_VERSION_HEX < 0x03010000
+     return _Py_Mangle(privateobj, name);
+ #else
+     // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.