backports/*: clean-up for 3.20 #478

Merged
ayakael merged 11 commits from 320-cleanup into edge 2024-06-02 22:44:55 +00:00
14 changed files with 0 additions and 761 deletions

View file

@ -1,40 +0,0 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php82-pecl-xmlrpc
_extname=xmlrpc
pkgver=1.0.0_rc3
_pkgver=${pkgver/_rc/RC}
pkgrel=1
pkgdesc="PHP 8.2 extension to write XML-RPC servers and clients - PECL"
url="https://pecl.php.net/package/xmlrpc"
arch="all"
license="PHP-3.01"
depends="php82-xml"
options="!check" # Failure
makedepends="php82-dev libxml2-dev"
source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$_pkgver.tgz"
builddir="$srcdir"/$_extname-$_pkgver
build() {
phpize82
./configure --prefix=/usr --with-php-config=/usr/bin/php-config82
make
}
check() {
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff \
PHP_TEST_SHARED_EXTENSIONS=" \
-d extension=/usr/lib/php82/modules/xml.so \
-d extension=modules/$_extname.so"
php82 -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
local _confdir="$pkgdir"/etc/php82/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
aa8e24d5a732b175adb9870357991d48ead046faed89e579eb63afe06c7ef20af9de29e2d70e71e54e5a15ee37265f69a7d52b39ef2465ced93ba818c1f7e9c1 php-pecl-xmlrpc-1.0.0_rc3.tar.gz
"

View file

@ -1,49 +0,0 @@
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-cbor2
pkgver=5.6.1
pkgrel=0
pkgdesc="encoding and decoding for CBOR (RFC 8949)"
url="https://github.com/agronholm/cbor2"
arch="all"
license="MIT"
makedepends="
py3-gpep517
py3-setuptools
py3-setuptools_scm
py3-wheel
python3-dev
"
checkdepends="
py3-hypothesis
py3-pytest
py3-pytest-cov
py3-tomli
"
subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/c/cbor2/cbor2-$pkgver.tar.gz
fix-32bit-tests.patch
"
builddir="$srcdir/cbor2-$pkgver"
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer .dist/*.whl
.testenv/bin/python3 -m pytest
}
package() {
python3 -m installer -d "$pkgdir" \
.dist/*.whl
}
sha512sums="
9ddf2c3690780816ff50ff4ed371435ca45b597b706254c37c9f01d1f1a699892e2c945a72e69b5506a803c41692f399b58b4e32d9409a0197c677e537e656b2 py3-cbor2-5.6.1.tar.gz
ba8a19a73fe2dc747846b77fde6cd621ccb500a514ba61192dfa28c875720003666165ad12c767260b31148b0dd25454e36e4f43dd8bb1d11928944c6a5b61dd fix-32bit-tests.patch
"

View file

@ -1,29 +0,0 @@
Patch-Source: https://github.com/agronholm/cbor2/commit/75279162a019d20db3bff8d64d41c7e97b555b53
From 75279162a019d20db3bff8d64d41c7e97b555b53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
Date: Tue, 6 Feb 2024 15:43:23 +0200
Subject: [PATCH] Fixed test_oversized_read failing on 32-bit platforms
Fixes #215.
---
tests/test_decoder.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/test_decoder.py b/tests/test_decoder.py
index cd0b45a..d11be6e 100644
--- a/tests/test_decoder.py
+++ b/tests/test_decoder.py
@@ -939,11 +939,11 @@ def test_decimal_payload_unpacking(impl, data, expected):
"payload",
[
pytest.param(
- unhexlify("5b7fffffffffffff00"),
+ unhexlify("41"),
id="bytestring",
),
pytest.param(
- unhexlify("7b7fffffffffffff00"),
+ unhexlify("61"),
id="unicode",
),
],

View file

@ -1,45 +0,0 @@
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-codespell
_pkgname=${pkgname#py3-}
pkgver=2.2.6
pkgrel=2
pkgdesc="Fix common misspellings in text files, primarily source code"
url="https://github.com/codespell-project/codespell/"
arch="noarch"
license="GPL-2.0-only"
makedepends="
py3-gpep517
py3-setuptools
py3-setuptools_scm
py3-wheel
"
checkdepends="py3-pytest-cov"
depends="py3-chardet"
subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/codespell-project/codespell/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver \
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer .dist/*.whl
# tests want to run bin/codespell
PATH="$builddir/.testenv/bin:$PATH" .testenv/bin/python3 -m pytest
}
package() {
python3 -m installer -d "$pkgdir" \
.dist/*.whl
}
sha512sums="
37a6fbcf196447e8204a973499c6b3f7efda67e3caaaa707897da438c602834f91ca49b95020d2c03dcb95528c03451a2d9cfe145b2a24e88615c4a5418a4d2b py3-codespell-2.2.6.tar.gz
"

View file

@ -1,51 +0,0 @@
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=py3-django-auth-ldap
#_pkgreal is used by apkbuild-pypi to find modules at PyPI
_pkgreal=django-auth-ldap
pkgver=4.8.0
pkgrel=1
pkgdesc="Django LDAP authentication backend"
url="https://pypi.python.org/project/django-auth-ldap"
# s390x | riscv64: test failure
arch="noarch !s390x !riscv64"
license="BSD"
# RuntimeError: slapd exited before opening port
options="!check"
depends="py3-django py3-ldap"
checkdepends="
py3-pytest
py3-pytest-django
py3-pytest-black
py3-isort
py3-flake8
openldap
openldap-back-mdb
openldap-clients
openldap-overlay-syncprov
"
makedepends="py3-setuptools py3-gpep517 py3-wheel"
source="$pkgname-$pkgver.tar.gz::https://github.com/django-auth-ldap/django-auth-ldap/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
subpackages="$pkgname-pyc"
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer .dist/*.whl
.testenv/bin/python3 -Wa -b -m django test --settings tests.settings
}
package() {
python3 -m installer -d "$pkgdir" \
.dist/*.whl
}
sha512sums="
559d6c0a556ccab2a0440866db9e1260b236e0bd4de92d07082660118b99886e7d362824cf0453de1f1d87ce1d5b5ab23d5181b8c970086d3a100ae32a29c482 py3-django-auth-ldap-4.8.0.tar.gz
"

View file

@ -1,38 +0,0 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-principal
_pkgname=flask-principal
pkgver=0.4.0
pkgrel=7
pkgdesc="Flask Identity management"
url="https://pythonhosted.org/Flask-Principal/"
arch="noarch"
license="MIT"
depends="python3 py3-blinker py3-flask"
makedepends="py3-setuptools py3-gpep517 py3-wheel"
checkdepends="py3-nose"
subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/mattupstate/flask-principal/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
replaces="py-flask-principal" # Backwards compatibility
provides="py-flask-principal=$pkgver-r$pkgrel" # Backwards compatibility
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
.testenv/bin/python3 -m nose
}
package() {
gpep517 install-wheel --destdir "$pkgdir" \
.dist/*.whl
}
sha512sums="ed8cb28c4e8d936de96db0bf9f7cb45b253dc204c4b8f8dd8022ef1552592ff6324b4a33d3ee862794a6e20eb8c32a0365e7b9397d427da5022c5ded3dfa308a py3-flask-principal-0.4.0.tar.gz"

View file

@ -1,48 +0,0 @@
# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
pkgname=py3-gitlab
_pyname=${pkgname/py3/python}
pkgver=4.4.0
pkgrel=0
pkgdesc="Python wrapper for Gitlab's API"
url="https://github.com/python-gitlab/python-gitlab"
arch="noarch"
license="LGPL-3.0-or-later"
depends="python3 py3-requests py3-requests-toolbelt"
makedepends="
py3-setuptools
py3-gpep517
py3-installer
py3-wheel
py3-sphinx
py3-sphinxcontrib-autoprogram
py3-myst-parser
"
checkdepends="py3-pytest py3-responses py3-build"
subpackages="$pkgname-doc $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/python-gitlab/python-gitlab/archive/refs/tags/v$pkgver.tar.gz"
options="!check" # Failing tests
builddir="$srcdir/$_pyname-$pkgver"
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
sphinx-build -W -b man docs/ man/
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer .dist/*.whl
.testenv/bin/python3 -m pytest --ignore=tests/functional/
}
package() {
python3 -m installer -d "$pkgdir" \
.dist/*.whl
install -Dm644 man/$_pyname.1 \
"$pkgdir"/usr/share/man/man1/$_pyname.1
}
sha512sums="
cb572d169d948dcd74b1d85fb4e8fc2b2593ad167dd708f38bcaf5cccacc8a8b32231b2231d9cb69909e63ba0ce2c6f1cf522f21df56659343314ea2c0d39645 py3-gitlab-4.4.0.tar.gz
"

View file

@ -1,75 +0,0 @@
# Maintainer: Luca Weiss <luca@z3ntu.xyz>
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
"

View file

@ -1,41 +0,0 @@
# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
pkgname=py3-sphinxcontrib-autoprogram
pkgver=0.1.8
pkgrel=2
pkgdesc="Sphinx extension to document CLI programs"
url="https://github.com/sphinx-contrib/autoprogram"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-six py3-sphinx"
makedepends="
py3-gpep517
py3-setuptools
py3-wheel
"
subpackages="$pkgname-pyc"
source="
$pkgname-$pkgver.tar.gz::https://github.com/sphinx-contrib/autoprogram/archive/refs/tags/$pkgver.tar.gz
"
builddir="$srcdir/autoprogram-$pkgver"
options="!check" # no tests
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer .dist/*.whl
.testenv/bin/python3 -m unittest discover
}
package() {
python3 -m installer -d "$pkgdir" \
.dist/*.whl
}
sha512sums="
bc07f25c34884f8e3130bbe5d2d6fb645f45aca5794c6b11a772f0351d680380d3e63cfe4b60aabf05ad8c6f44bae72e592500454598d31cc3c98dcbc8dbf899 py3-sphinxcontrib-autoprogram-0.1.8.tar.gz
"

View file

@ -1,35 +0,0 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer:
pkgname=py3-validators
pkgver=0.20.0
pkgrel=1
pkgdesc="Python3 Data Validation for Humans"
url="https://github.com/python-validators/validators"
arch="noarch"
license="MIT"
depends="py3-decorator py3-six"
makedepends="py3-gpep517 py3-setuptools py3-wheel"
checkdepends="py3-isort py3-pytest py3-flake8"
subpackages="$pkgname-pyc"
source="https://github.com/python-validators/validators/archive/$pkgver/py3-validators-$pkgver.tar.gz"
builddir="$srcdir/validators-$pkgver"
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer .dist/*.whl
.testenv/bin/python3 -m pytest
}
package() {
python3 -m installer -d "$pkgdir" .dist/*.whl
}
sha512sums="
45a07c061022da453c31fc946950be3a701f36afbf0e0eb82b91f4bdb26c4d2d0ab47f6958ac88fd2e0a1563201e946014a5cb93cfa1c6710411982852d571c7 py3-validators-0.20.0.tar.gz
"

View file

@ -1,39 +0,0 @@
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=py3-webdavclient3
#_pkgreal is used by apkbuild-pypi to find modules at PyPI
_pkgreal=webdav-client-python-3
pkgver=3.14.6
pkgrel=1
pkgdesc="WebDAV client"
url="https://pypi.python.org/project/webdavclient3"
arch="noarch"
license="MIT"
depends="py3-requests py3-lxml py3-dateutil"
checkdepends="py3-pytest"
makedepends="py3-setuptools py3-gpep517 py3-wheel"
source="$pkgname-$pkgver.tar.gz::https://github.com/ezhov-evgeny/webdav-client-python-3/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
subpackages="$pkgname-pyc"
options="!check" # Test suite needs more work to be setup to work in aports env
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer "$builddir"/.dist/*.whl
.testenv/bin/python3 -m pytest -v
}
package() {
python3 -m installer -d "$pkgdir" \
.dist/*.whl
}
sha512sums="
4621dfe3fdde4a60a7580b37aaf2bf778ebae1615946e9ff5aedcf3d2d17b3e60511a4522f8023bd4756139c66027149a2afafbd07bf02d029d811bec172057d py3-webdavclient3-3.14.6.tar.gz
"

View file

@ -1,94 +0,0 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# 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
"

View file

@ -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';
}

View file

@ -1,162 +0,0 @@
From b64ad27d8dfeeecaaa8a98051252a32c9d998df4 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@qt.io>
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 <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
---
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<PySideQFlagsType *>(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<PyTypeObject *>(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<PyTypeObject *>(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<void *>(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<SbkObjectType *>(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<PyObject *>(basetype));
auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpecWithBases(&newspec, bases));
PyErr_Print();
- Py_TYPE(type) = SbkEnumType_TypeF();
+ Py_SET_TYPE(type, SbkEnumType_TypeF());
auto *enumType = reinterpret_cast<SbkEnumType *>(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 <vector>
-#include <unordered_set>
+#if PY_VERSION_HEX >= 0x030B0000 || defined(Py_LIMITED_API)
+# define USE_INTERN_STRINGS
+#endif
+
+#ifndef USE_INTERN_STRINGS
+# include <vector>
+# include <unordered_set>
+#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<PyObject *>;
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