diff --git a/backports/freecad/APKBUILD b/backports/freecad/APKBUILD index 279a09b..61de50a 100644 --- a/backports/freecad/APKBUILD +++ b/backports/freecad/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Aiden Grossman # Maintainer: Aiden Grossman pkgname=freecad -pkgver=0.21.0 +pkgver=0.21.2 pkgrel=0 pkgdesc="Free and open source 3D parametric modeler" url="https://freecadweb.org/" @@ -15,10 +15,9 @@ depends=" py3-numpy py3-pivy py3-ply - py3-pyside2 + py3-pyside6 py3-six py3-yaml - python3 " makedepends=" boost-dev @@ -30,25 +29,25 @@ makedepends=" glu-dev hdf5-dev libmedc-dev - libshiboken2-dev + libshiboken6-dev onetbb-dev opencascade-dev py3-pyside2-dev python3-dev - shiboken2 - qt5-qtsvg-dev - qt5-qtwebengine-dev - qt5-qtxmlpatterns-dev + shiboken6 + qt6-qtsvg-dev + qt6-qtwebengine-dev + qt6-qtxmlpatterns-dev samurai swig vtk-dev xerces-c-dev " -options="!check" # Failing test units upstream as well checkdepends="xvfb-run mesa mesa-dri-gallium font-opensans" source="https://github.com/FreeCAD/FreeCAD/archive/$pkgver/freecad-$pkgver.tar.gz - $pkgname-cstdint.patch::https://github.com/FreeCAD/FreeCAD/commit/f8f02f089537497a1bf46bc1057f01659b6636c1.patch no-execinfo.patch + resourceDirectory.patch + missing-include-cstdint.patch " builddir="$srcdir/FreeCAD-$pkgver" @@ -90,7 +89,8 @@ package() { } sha512sums=" -f5b4428217d9abd18aed1dcd8a5c77132b90173d07627ff9164919a87f04d242f9d616e9655751ec06ff57fc3e242090cc4d7e1d7045fdae9bc2e281e7855281 freecad-0.21.0.tar.gz -27dffdbb124096e7fcbec3589cdcfc587ea09bf039c1c1108edb68a9a4fd1278f66a39642636f98b8759a44da92485fd748f8b3d615b0625bc37fc717130e237 freecad-cstdint.patch +bd7e9029b24d49ac0955797bcdbea1fd0826bdf9ab246135366dfc35b427004f103acccfc66d008e3ab3928f99e04200e335908a03166545554e2d3e969ae0f5 freecad-0.21.2.tar.gz 73aaba7015dce7048eb7d2456131b5b5ba4673cc980503331987be54d99daed5f61db015ca33d7d2ef0f02bd3192da8ce122c103c3b93f9959927deb4f0b933e no-execinfo.patch +8ba13b17bad66316757d180c1b9e9e72a24382627eac7c43a2264b3b5101e6e8f701775f2b805ed733f500fbcd8b0e8e422ec58a9ab3d948d613b666157d4c52 resourceDirectory.patch +fec515cc63830f0e715527c7890173705b24e7d99d225821ec4300104cf3affdee49243bbd4d0a331a902cf04db756a1b8f18f0a17cc71f5757f8b5c73c78ede missing-include-cstdint.patch " diff --git a/backports/freecad/missing-include-cstdint.patch b/backports/freecad/missing-include-cstdint.patch new file mode 100644 index 0000000..363a706 --- /dev/null +++ b/backports/freecad/missing-include-cstdint.patch @@ -0,0 +1,11 @@ +diff --color -rupN a/src/3rdParty/libE57Format/include/E57Format.h b/src/3rdParty/libE57Format/include/E57Format.h +--- a/src/3rdParty/libE57Format/include/E57Format.h 2022-12-07 03:35:37.000000000 +0100 ++++ b/src/3rdParty/libE57Format/include/E57Format.h 2024-02-27 14:06:29.308892531 +0100 +@@ -32,6 +32,7 @@ + //! @file E57Format.h header file for the E57 API + + #include ++#include + #include + #include + diff --git a/backports/freecad/resourceDirectory.patch b/backports/freecad/resourceDirectory.patch new file mode 100644 index 0000000..a2a16d1 --- /dev/null +++ b/backports/freecad/resourceDirectory.patch @@ -0,0 +1,11 @@ +--- ./cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake.orig ++++ ./cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake +@@ -23,7 +23,7 @@ + "Path to the directory containing PyCXX's cxxextensions.c source file") + + # used as compiler defines +- set(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}") ++ set(RESOURCEDIR "../../share/freecad") + set(LIBRARYDIR "${CMAKE_INSTALL_LIBDIR}") + set(DOCDIR "${CMAKE_INSTALL_DOCDIR}") + diff --git a/backports/freecad/tests.patch b/backports/freecad/tests.patch deleted file mode 100644 index 4b63a20..0000000 --- a/backports/freecad/tests.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- ./src/Mod/Mesh/App/MeshTestsApp.py.orig -+++ ./src/Mod/Mesh/App/MeshTestsApp.py -@@ -423,30 +423,6 @@ - self.planarMesh = [] - FreeCAD.newDocument("MeshTest") - -- def testRayPick(self): -- if not FreeCAD.GuiUp: -- return -- self.planarMesh.append( [-16.097176,-29.891157,15.987688] ) -- self.planarMesh.append( [-16.176304,-29.859991,15.947966] ) -- self.planarMesh.append( [-16.071451,-29.900553,15.912505] ) -- self.planarMesh.append( [-16.092241,-29.893408,16.020439] ) -- self.planarMesh.append( [-16.007210,-29.926180,15.967641] ) -- self.planarMesh.append( [-16.064457,-29.904951,16.090832] ) -- planarMeshObject = Mesh.Mesh(self.planarMesh) -- -- from pivy import coin; import FreeCADGui -- Mesh.show(planarMeshObject) -- view=FreeCADGui.ActiveDocument.ActiveView.getViewer() -- rp=coin.SoRayPickAction(view.getSoRenderManager().getViewportRegion()) -- rp.setRay(coin.SbVec3f(-16.05,16.0,16.0),coin.SbVec3f(0,-1,0)) -- rp.apply(view.getSoRenderManager().getSceneGraph()) -- pp=rp.getPickedPoint() -- self.assertTrue(pp != None) -- det=pp.getDetail() -- self.assertTrue(det.getTypeId() == coin.SoFaceDetail.getClassTypeId()) -- det=coin.cast(det, det.getTypeId().getName().getString()) -- self.assertTrue(det.getFaceIndex() == 1) -- - def testPrimitiveCount(self): - if not FreeCAD.GuiUp: - return diff --git a/backports/py3-pivy/APKBUILD b/backports/py3-pivy/APKBUILD deleted file mode 100644 index e681d20..0000000 --- a/backports/py3-pivy/APKBUILD +++ /dev/null @@ -1,42 +0,0 @@ -# Contributor: Aiden Grossman -# Maintainer: Aiden Grossman -pkgname=py3-pivy -_pkgname=pivy -pkgver=0.6.8 -pkgrel=3 -pkgdesc="Python3 bindings for coin" -url="https://github.com/coin3d/pivy" -# riscv64 blocked by qt5-qtwebengine via py3-pyside2 -# py3-pyside2 is not available on armhf -# py3-pyside2 broken -#arch="all !armhf !riscv64" -license="ISC" -depends="py3-pyside2" -makedepends="swig soqt-dev qt5-qtbase-dev python3-dev glu-dev cmake samurai" -checkdepends="py3-pytest" -options="!check" # test suite is interactive and requires full installation -source="$pkgname-$pkgver.tar.gz::https://github.com/coin3d/pivy/archive/refs/tags/$pkgver.tar.gz - qt5.patch - " -builddir="$srcdir/$_pkgname-$pkgver" - -build() { - if [ "$CBUILD" != "$CHOST" ]; then - CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" - fi - cmake -B build -G Ninja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DBUILD_SHARED_LIBS=True \ - -DCMAKE_BUILD_TYPE=None \ - $CMAKE_CROSSOPTS - cmake --build build -} - -package() { - DESTDIR="$pkgdir" cmake --install build -} - -sha512sums=" -723b09028f2e3075056b9588cebad0ddccbc98d0c15552b9565c177b0de764b9645f88ea2bc534ccf606f2e0b59f91e1d03551b55ece66c0654ce9cdf09a1a7c py3-pivy-0.6.8.tar.gz -7750ded3eb09da510ba5f84e7957c2ae1f92be0df280901fd9c9eba4164758a8f2d436e2d6ae7634a91aed12609f4eefd181922e6caed0b4906c6bc9dbd7b562 qt5.patch -" diff --git a/backports/py3-pivy/qt5.patch b/backports/py3-pivy/qt5.patch deleted file mode 100644 index 7dfdc97..0000000 --- a/backports/py3-pivy/qt5.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./qtinfo.py -+++ ./qtinfo.py -@@ -7,7 +7,7 @@ - if qmake_command: - self._qmake_command = qmake_command - else: -- self._qmake_command = [find_executable("qmake"),] -+ self._qmake_command = [find_executable("qmake-qt5"),] - self._dict = {} - # bind all variables early at __init__ time. - for thing in self.__class__.__dict__: diff --git a/backports/py3-pyside2/APKBUILD b/backports/py3-pyside2/APKBUILD deleted file mode 100644 index aabc0a6..0000000 --- a/backports/py3-pyside2/APKBUILD +++ /dev/null @@ -1,75 +0,0 @@ -# Maintainer: Luca Weiss -pkgname=py3-pyside2 -pkgver=5.15.11 -pkgrel=0 -pkgdesc="Enables the use of Qt5 APIs in Python applications" -url="https://doc.qt.io/qtforpython-5/" -# armhf blocked by shiboken2 -#arch="all !armhf" -license="LGPL-3.0-only AND GPL-2.0-only" -_llvmver=15 -depends="py3-shiboken2" -makedepends=" - clang$_llvmver-dev - cmake - libshiboken2-dev - qt5-qt3d-dev - qt5-qtbase-dev - qt5-qtcharts-dev - qt5-qtdatavis3d-dev - qt5-qtdeclarative-dev - qt5-qtlocation-dev - qt5-qtmultimedia-dev - qt5-qtquickcontrols2-dev - qt5-qtremoteobjects-dev - qt5-qtscript-dev - qt5-qtscxml-dev - qt5-qtsensors-dev - qt5-qtserialport-dev - qt5-qtspeech-dev - qt5-qtsvg-dev - qt5-qttools-dev - qt5-qtwebchannel-dev - qt5-qtwebsockets-dev - qt5-qtx11extras-dev - qt5-qtxmlpatterns-dev - samurai - shiboken2 - py3-setuptools - py3-zope-event - " -case "$CARCH" in -armv7|aarch64|x86|x86_64) - makedepends="$makedepends qt5-qtwebengine-dev" - ;; -esac -subpackages="$pkgname-dev" -source="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-$pkgver-src/pyside-setup-opensource-src-$pkgver.tar.xz" -builddir="$srcdir/pyside-setup-opensource-src-$pkgver" -options="!check" # Tests fail - -build() { - export LLVM_INSTALL_DIR=/usr/lib/llvm$_llvmver - cmake -B build -G Ninja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DBUILD_SHARED_LIBS=True \ - -DCMAKE_BUILD_TYPE=None \ - -DPYTHON_EXECUTABLE=/usr/bin/python3 \ - -DBUILD_TESTS=OFF \ - sources/pyside2 - cmake --build build -} - -package() { - DESTDIR="$pkgdir" cmake --install build - - # Install egg info - export PATH="/usr/lib/qt5/bin:$PATH" - python3 setup.py egg_info --build-type=pyside2 - pythonpath="$(python3 -c "from sysconfig import get_path; print(get_path('platlib'))")" - cp -r PySide2.egg-info "$pkgdir/$pythonpath" -} - -sha512sums=" -377b3f6a793313cf7f5bea0dcef6630bac32d79b247e213d0b1b719805b35692aa8dd9a8896c75c6266f05af38809f574051d64b1a2f958a48c90167feccfb91 pyside-setup-opensource-src-5.15.11.tar.xz -" diff --git a/backports/shiboken2/APKBUILD b/backports/shiboken2/APKBUILD deleted file mode 100644 index 21abb74..0000000 --- a/backports/shiboken2/APKBUILD +++ /dev/null @@ -1,94 +0,0 @@ -# Contributor: Leo -# Maintainer: -pkgname=shiboken2 -pkgver=5.15.10 -pkgrel=0 -pkgdesc="CPython bindings generator for C++ libraries" -url="https://wiki.qt.io/Qt_for_Python/Shiboken" -arch="all !armhf" # qt5-qtxmlpatterns -> qt5-qtdeclarative -license="GPL-2.0-or-later" -_llvmver=15 -depends_dev="python3-dev" -makedepends=" - $depends_dev - clang$_llvmver-dev - cmake - libxml2-dev - libxslt-dev - llvm$_llvmver-dev - py3-numpy-dev - py3-setuptools - qt5-qtbase-dev - qt5-qtxmlpatterns-dev - samurai - " -subpackages="lib$pkgname:libs lib$pkgname-dev py3-$pkgname:py3" -source="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-$pkgver-src/pyside-setup-opensource-src-$pkgver.tar.xz - numpy-1.23.patch - py3.11.patch - " -builddir="$srcdir/pyside-setup-opensource-src-$pkgver" - -provides="shiboken=$pkgver-r$pkgrel" # For backward compatibility -replaces="shiboken" # For backward compatibility - -prepare() { - default_prepare - sed -e 's|0x030AFFFF|0x030BFFFF|' -i sources/shiboken2/libshiboken/pep384impl.h -} - -build() { - export LLVM_INSTALL_DIR=/usr/lib/llvm$_llvmver - cmake -B build -S sources/shiboken2 \ - -G Ninja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=None \ - -DBUILD_TESTS=OFF \ - -DUSE_PYTHON_VERSION=3 - cmake --build build -} - -package() { - DESTDIR="$pkgdir" cmake --install build -} - -libs() { - license="LGPL-2.1-or-later" - default_libs -} - -dev() { - license="LGPL-2.1-or-later" - default_dev - provides="shiboken-dev=$pkgver-r$pkgrel" - replaces="shiboken-dev" - depends=" - $depends_dev - lib$pkgname=$pkgver-r$pkgrel - $pkgname=$pkgver-r$pkgrel - py3-$pkgname=$pkgver-r$pkgrel - " -} - -py3() { - license="LGPL-2.1-or-later" - depends="" - pkgdesc="Python3 shiboken bindings" - mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib - provides="py3-shiboken=$pkgver-r$pkgrel" # For backward compatibility - replaces="py3-shiboken" # For backward compatibility - - # Install egg info - cd "$builddir" - export PATH="/usr/lib/qt5/bin:$PATH" - python3 setup.py egg_info --build-type=shiboken2 - pythonpath="$(python3 -c "from sysconfig import get_path; print(get_path('platlib'))")" - cp -r shiboken2.egg-info "$subpkgdir/$pythonpath" -} - -sha512sums=" -dc548ab870fcc5cc637de1bcb2f428527c650287fdb3720a3ade4638cc0bb12bc4a1ed87e7f6a4ec730a26742e08ceec806bcac6af91c7a01ddc0ce7980a79d2 pyside-setup-opensource-src-5.15.10.tar.xz -449b4f4b1717b131c05e798549d49186f73215b893843ccae4c434dd95ad3f4dce0f886fe5cbd3443100d4852cb6b3d6a6d2f0a102f69f2a095bb6c500d69244 numpy-1.23.patch -985ff9a10da017db2fcf1526aa1d3502a22c29c7a640e9f8a46bc67ed2acea74f6eec4daa1baf04b90fbdbffe80ecce07aaa0f267783ff66f279120f1ff64ec5 py3.11.patch -" diff --git a/backports/shiboken2/numpy-1.23.patch b/backports/shiboken2/numpy-1.23.patch deleted file mode 100644 index eb18637..0000000 --- a/backports/shiboken2/numpy-1.23.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/sources/shiboken2/libshiboken/sbknumpyarrayconverter.cpp b/sources/shiboken2/libshiboken/sbknumpyarrayconverter.cpp -index 996968f..a072dfd 100644 ---- a/sources/shiboken2/libshiboken/sbknumpyarrayconverter.cpp -+++ b/sources/shiboken2/libshiboken/sbknumpyarrayconverter.cpp -@@ -116,8 +116,8 @@ std::ostream &operator<<(std::ostream &str, PyArrayObject *o) - str << " NPY_ARRAY_NOTSWAPPED"; - if ((flags & NPY_ARRAY_WRITEABLE) != 0) - str << " NPY_ARRAY_WRITEABLE"; -- if ((flags & NPY_ARRAY_UPDATEIFCOPY) != 0) -- str << " NPY_ARRAY_UPDATEIFCOPY"; -+ if ((flags & NPY_ARRAY_WRITEBACKIFCOPY) != 0) -+ str << " NPY_ARRAY_WRITEBACKIFCOPY"; - } else { - str << '0'; - } diff --git a/backports/shiboken2/py3.11.patch b/backports/shiboken2/py3.11.patch deleted file mode 100644 index 8b7ac02..0000000 --- a/backports/shiboken2/py3.11.patch +++ /dev/null @@ -1,162 +0,0 @@ -From b64ad27d8dfeeecaaa8a98051252a32c9d998df4 Mon Sep 17 00:00:00 2001 -From: Friedemann Kleint -Date: Thu, 9 Jun 2022 16:50:41 +0200 -Subject: [PATCH] libshiboken: Fix a crash in Shiboken::Object::isValid() for - Python 3.11 - -The function is passed type objects for class methods, which caused -it to crash. - -The first clause did not catch this, and so it was cast to SbkObject -below. - -Add a type check to prevent this. - -Pick-to: 6.3 6.2 5.15 -Task-number: PYSIDE-1960 -Change-Id: Icfdd6fefb7156ac5961444bd5395109849a1d66e -Reviewed-by: Christian Tismer -Reviewed-by: Qt CI Bot ---- - sources/shiboken2/libshiboken/basewrapper.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/build_scripts/config.py b/build_scripts/config.py -index 00cbd3f..63e52a2 100644 ---- a/build_scripts/config.py -+++ b/build_scripts/config.py -@@ -94,6 +94,8 @@ class Config(object): - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', -+ 'Programming Language :: Python :: 3.11', -+ 'Programming Language :: Python :: 3.12', - ] - - self.setup_script_dir = None -diff --git a/sources/pyside2/libpyside/pysideqflags.cpp b/sources/pyside2/libpyside/pysideqflags.cpp -index 8b224f2..784082a 100644 ---- a/sources/pyside2/libpyside/pysideqflags.cpp -+++ b/sources/pyside2/libpyside/pysideqflags.cpp -@@ -192,7 +192,7 @@ namespace QFlags - } - newspec.slots = SbkNewQFlagsType_spec.slots; - PyTypeObject *type = (PyTypeObject *)SbkType_FromSpec(&newspec); -- Py_TYPE(type) = &PyType_Type; -+ Py_SET_TYPE(type, &PyType_Type); - - PySideQFlagsType *flagsType = reinterpret_cast(type); - PepType_PFTP(flagsType)->converterPtr = &PepType_PFTP(flagsType)->converter; -diff --git a/sources/pyside2/libpyside/pysidesignal.cpp b/sources/pyside2/libpyside/pysidesignal.cpp -index b5069a0..ce89a9d 100644 ---- a/sources/pyside2/libpyside/pysidesignal.cpp -+++ b/sources/pyside2/libpyside/pysidesignal.cpp -@@ -162,7 +162,7 @@ PyTypeObject *PySideSignalTypeF(void) - if (!type) { - type = reinterpret_cast(SbkType_FromSpec(&PySideSignalType_spec)); - PyTypeObject *hold = Py_TYPE(type); -- Py_TYPE(type) = PySideMetaSignalTypeF(); -+ Py_SET_TYPE(type, PySideMetaSignalTypeF()); - Py_INCREF(Py_TYPE(type)); - Py_DECREF(hold); - } -diff --git a/sources/pyside2/libpyside/pysideweakref.cpp b/sources/pyside2/libpyside/pysideweakref.cpp -index cd90634..730990f 100644 ---- a/sources/pyside2/libpyside/pysideweakref.cpp -+++ b/sources/pyside2/libpyside/pysideweakref.cpp -@@ -90,7 +90,7 @@ PyObject *create(PyObject *obj, PySideWeakRefFunction func, void *userData) - - if (Py_TYPE(PySideCallableObjectTypeF()) == 0) - { -- Py_TYPE(PySideCallableObjectTypeF()) = &PyType_Type; -+ Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type); - PyType_Ready(PySideCallableObjectTypeF()); - } - -diff --git a/sources/shiboken2/libshiboken/basewrapper.cpp b/sources/shiboken2/libshiboken/basewrapper.cpp -index 7ac7fad..e2eccd0 100644 ---- a/sources/shiboken2/libshiboken/basewrapper.cpp -+++ b/sources/shiboken2/libshiboken/basewrapper.cpp -@@ -377,7 +377,7 @@ SbkObjectType *SbkObject_TypeF(void) - static PyTypeObject *type = nullptr; - if (!type) { - type = reinterpret_cast(SbkType_FromSpec(&SbkObject_Type_spec)); -- Py_TYPE(type) = SbkObjectType_TypeF(); -+ Py_SET_TYPE(type, SbkObjectType_TypeF()); - Py_INCREF(Py_TYPE(type)); - type->tp_weaklistoffset = offsetof(SbkObject, weakreflist); - type->tp_dictoffset = offsetof(SbkObject, ob_dict); -@@ -1160,7 +1160,7 @@ introduceWrapperType(PyObject *enclosingObject, - typeSpec->slots[0].pfunc = reinterpret_cast(baseType ? baseType : SbkObject_TypeF()); - - PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes); -- Py_TYPE(heaptype) = SbkObjectType_TypeF(); -+ Py_SET_TYPE(heaptype, SbkObjectType_TypeF()); - Py_INCREF(Py_TYPE(heaptype)); - auto *type = reinterpret_cast(heaptype); - #if PY_VERSION_HEX < 0x03000000 -@@ -1525,6 +1525,7 @@ bool setCppPointer(SbkObject *sbkObj, PyTypeObject *desiredType, void *cptr) - bool isValid(PyObject *pyObj) - { - if (!pyObj || pyObj == Py_None -+ || PyType_Check(pyObj) != 0 - || Py_TYPE(Py_TYPE(pyObj)) != SbkObjectType_TypeF()) { - return true; - } -diff --git a/sources/shiboken2/libshiboken/sbkenum.cpp b/sources/shiboken2/libshiboken/sbkenum.cpp -index 7dc73df..9459e42 100644 ---- a/sources/shiboken2/libshiboken/sbkenum.cpp -+++ b/sources/shiboken2/libshiboken/sbkenum.cpp -@@ -754,7 +754,7 @@ newTypeWithName(const char *name, - PyTuple_SetItem(bases, 0, reinterpret_cast(basetype)); - auto *type = reinterpret_cast(SbkType_FromSpecWithBases(&newspec, bases)); - PyErr_Print(); -- Py_TYPE(type) = SbkEnumType_TypeF(); -+ Py_SET_TYPE(type, SbkEnumType_TypeF()); - - auto *enumType = reinterpret_cast(type); - PepType_SETP(enumType)->cppName = cppName; -diff --git a/sources/shiboken2/libshiboken/sbkstring.cpp b/sources/shiboken2/libshiboken/sbkstring.cpp -index 077fb53..a9d451c 100644 ---- a/sources/shiboken2/libshiboken/sbkstring.cpp -+++ b/sources/shiboken2/libshiboken/sbkstring.cpp -@@ -41,8 +41,14 @@ - #include "sbkstaticstrings_p.h" - #include "autodecref.h" - --#include --#include -+#if PY_VERSION_HEX >= 0x030B0000 || defined(Py_LIMITED_API) -+# define USE_INTERN_STRINGS -+#endif -+ -+#ifndef USE_INTERN_STRINGS -+# include -+# include -+#endif - - namespace Shiboken - { -@@ -233,6 +239,13 @@ Py_ssize_t len(PyObject *str) - // PyObject *attr = PyObject_GetAttr(obj, name()); - // - -+#ifdef USE_INTERN_STRINGS -+PyObject *createStaticString(const char *str) -+{ -+ return PyUnicode_InternFromString(str); -+} -+#else -+ - using StaticStrings = std::unordered_set; - - static void finalizeStaticStrings(); // forward -@@ -283,6 +296,8 @@ PyObject *createStaticString(const char *str) - return result; - } - -+#endif // !USE_INTERN_STRINGS -+ - /////////////////////////////////////////////////////////////////////// - // - // PYSIDE-1019: Helper function for snake_case vs. camelCase names