* Team upload.
* New upstream release.
* Drop Fix-tests-sample_privatector-sample_privatedtor-failing-w.patch,
included in the new release.
[dgit import unpatched pyside2 5.15.16-1]
--- /dev/null
--- /dev/null
++pyside2 (5.15.16-1) unstable; urgency=medium
++
++ * Team upload.
++ * New upstream release.
++ * Drop Fix-tests-sample_privatector-sample_privatedtor-failing-w.patch,
++ included in the new release.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 17 Nov 2024 14:20:58 +0300
++
++pyside2 (5.15.14-1) unstable; urgency=medium
++
++ * Team upload.
++ * New upstream release.
++ * Drop patches, included in the new release:
++ - shiboken2-Fix-build-with-clang-16.patch
++ - shiboken2-Fail-template-test-instead-of-crashing.patch
++ * Refresh and rebase other patches.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Tue, 25 Jun 2024 23:47:03 +0300
++
++pyside2 (5.15.13-1) unstable; urgency=medium
++
++ * Team upload.
++ * Acknowledge NMU, thanks Steve Langasek!
++ * New upstream release.
++ * Rebase patches for the new release.
++ * Blacklist smart_pointer test (closes: #1068078).
++ * Bump Standards-Version to 4.7.0, no changes needed.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 14 Apr 2024 23:48:11 +0300
++
++pyside2 (5.15.12-6.1) unstable; urgency=medium
++
++ * Non-maintainer upload.
++ * Rename libraries for 64-bit time_t transition. Closes: #1064292
++
++ -- Steve Langasek <vorlon@debian.org> Sat, 02 Mar 2024 00:27:01 +0000
++
++pyside2 (5.15.12-6) unstable; urgency=medium
++
++ * Team upload.
++ * Build with the default LLVM version (16), to fix dep-wait on mips64el.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Thu, 08 Feb 2024 11:13:11 +0300
++
++pyside2 (5.15.12-5) unstable; urgency=medium
++
++ * Team upload.
++ * Backport 9 upstream patches for LLVM ≥ 16 support.
++ * Modify sendCommand signatures to use 0 as default value.
++ * Build with llvm-toolchain-17 (closes: #1061206).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 04 Feb 2024 17:20:57 +0300
++
++pyside2 (5.15.12-4) unstable; urgency=medium
++
++ * Team upload.
++ * Make the tests non-fatal on mips64el (see #1061679).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 28 Jan 2024 19:34:21 +0300
++
++pyside2 (5.15.12-3) unstable; urgency=medium
++
++ * Team upload.
++ * Backport upstream change to stop using imp module.
++ * Do not use patchelf to change RPATH, not needed in Debian.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Thu, 25 Jan 2024 15:19:52 +0300
++
++pyside2 (5.15.12-2) unstable; urgency=medium
++
++ * Team upload.
++ * Backport upstream patches to support Python 3.12.
++ * Blacklist registry::existence_test. It was never actually run, but
++ Python 3.12 started considering it a failure when all tests are skipped.
++ * Build with bundled patchelf on mips64el again.
++ - Restore update-patchelf.patch which was removed in 5.15.2-1~exp1.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Wed, 24 Jan 2024 23:46:56 +0300
++
++pyside2 (5.15.12-1) unstable; urgency=medium
++
++ * Team upload.
++ * New upstream release.
++ * Drop make-wheels-compatible-with-Python-3.11.patch, included in the
++ new release.
++ * Fix a bug in test_install_python3.sh because of which the test did
++ not do anything. Thanks Stuart Prescott!
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sat, 20 Jan 2024 21:52:44 +0300
++
++pyside2 (5.15.11-1) unstable; urgency=medium
++
++ * Team upload.
++ * New upstream release.
++ * Drop patches, included in the new release:
++ - libshiboken-Fix-a-crash-in-Shiboken-Object-isValid.patch
++ - Fix-usage-of-Py_TYPE-for-Python-3.11.patch
++ - libshiboken-Fix-crashes-with-static-strings-in-Python-3.11.patch
++ - Fix-Property-GC-tracking-for-Python-3.11.patch
++ - Fix-GLES-builds.patch
++ * Refresh other patches.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 15 Oct 2023 23:04:58 +0300
++
++pyside2 (5.15.10-4) unstable; urgency=medium
++
++ * Team upload.
++ * Build with LLVM 15 for now (closes: #1051886).
++ * Backport upstream patch to fix test failures with Python 3.11.5.
++ * Add a debian/clean file (closes: #1047480).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 01 Oct 2023 23:43:44 +0300
++
++pyside2 (5.15.10-3) unstable; urgency=medium
++
++ * Team upload.
++ * Stop building the Qt WebEngine package on mipsel (closes: #1041253).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 16 Jul 2023 17:49:14 +0300
++
++pyside2 (5.15.10-2) unstable; urgency=medium
++
++ * Team upload.
++ * Regenerate debian/tests/control using debian/tests/control.gen.
++ * Enable the Qt WebEngine packages on mips64el.
++ * Enable the Qt Data Visualization package on all architectures.
++ * Test WebEngine only on architectures where it is available.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Wed, 28 Jun 2023 00:02:49 +0300
++
++pyside2 (5.15.10-1) unstable; urgency=medium
++
++ * Team upload.
++ * New upstream release.
++ * Drop patches, no longer needed after upstream changes:
++ - Revert-removal-of-version-check.patch
++ - importlib-machinery.patch
++ * Refresh other patches.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sun, 18 Jun 2023 19:12:26 +0300
++
++pyside2 (5.15.8-2) unstable; urgency=medium
++
++ * Team upload.
++ * Backport upstream patch to fix GLES builds.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Mon, 09 Jan 2023 00:06:53 +0400
++
++pyside2 (5.15.8-1) unstable; urgency=medium
++
++ * Team upload.
++ * New upstream release.
++ * Drop patches, included in the new release:
++ - fix-reuse-build.patch
++ - qApp-fix-flag-handling.patch
++ - py3.10-prep-reset-the-type-cache-after-feature-switching.patch
++ - py3.10-prep-Fix-parser.py-for-changed-typing-module.patch
++ - py3.10-prep-Finally-support-Python-3.10.patch
++ - py3.10-prep-Fix-a-very-old-refcounting-error-in-time_test.patch
++ - shiboken6-Adapt-to-LLVM-12.01.patch
++ * Refresh debian/patches/blacklist-failing-tests.patch.
++ * Backport 7 upstream patches to support Python 3.11 (closes: #1027950).
++ * Remove dh-exec (debhelper now supports substitutions natively).
++ * Revert a change from 5.15.8 which broke build without limited API.
++ * Add a patch to fix AttributeError in signature_bootstrap.py.
++ * Fix redundant-globbing-patterns Lintian warning.
++ * Bump Standards-Version to 4.6.2, no changes needed.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sat, 07 Jan 2023 17:38:12 +0400
++
++pyside2 (5.15.2-2.3) unstable; urgency=medium
++
++ * Call "py3versions -d" instead of "py3versions -r" in tests.
++
++ -- Christian Marillat <marillat@debian.org> Fri, 17 Jun 2022 17:49:37 +0200
++
++pyside2 (5.15.2-2.2) unstable; urgency=medium
++
++ * Don't test with python3-all but python3 as only the current python3 is
++ supported. (Closes:# 1012878)
++
++ -- Christian Marillat <marillat@debian.org> Thu, 16 Jun 2022 10:57:23 +0200
++
++pyside2 (5.15.2-2.1) unstable; urgency=medium
++
++ * Non-maintainer upload.
++ * Should always Build-Depends on python3-dev but not on python3-all-dev.
++ This package is unable to manage two python versions at the same time.
++ (Closes: #1008849)
++
++ -- Christian Marillat <marillat@debian.org> Sun, 12 Jun 2022 18:30:03 +0200
++
++pyside2 (5.15.2-2) unstable; urgency=medium
++
++ * Backport upstream patches for Python 3.10 support (closes: #999369).
++ * Backport upstream patch to adapt for LLVM 12.01.
++ * Run build-time tests with all supported Python versions.
++ - Add a patch to make the tests find the matching build directory.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Tue, 16 Nov 2021 12:16:14 +0300
++
++pyside2 (5.15.2-1) unstable; urgency=medium
++
++ * Team upload.
++ * Add missing dependencies to make the autopkgtest pass again.
++ * Backport proposed upstream patch to fix qApp flags handling.
++ - Unblacklist QtWidgets::bug_307 test, it should not fail anymore.
++
++ -- Dmitry Shachnev <mitya57@debian.org> Sat, 26 Dec 2020 11:39:45 +0300
++
++pyside2 (5.15.2-1~exp2) experimental; urgency=medium
++
++ * Add packages for Qt3DExtras and Qt3DAnimation
++ * Add update-sip-import.patch (Closes: #966041)
++
++ -- Kurt Kremitzki <kkremitzki@debian.org> Sun, 20 Dec 2020 11:32:30 -0600
++
++pyside2 (5.15.2-1~exp1) experimental; urgency=medium
++
++ [ Dmitry Shachnev ]
++ * New upstream release.
++ * Drop python3.9.patch, included in the new release.
++ * Rebase other patches.
++ * Backport upstream changes to pass --reuse-build only to commands that
++ support it.
++ * Build with system patchelf on all architectures. It is now available on
++ mipsel and mips64el too.
++ - Drop update-patchelf.patch, not needed with system patchelf.
++ * Continue building HTML documentation (upstream defaults to qch now).
++ * Replace Qt Quick Controls 1 build-dependency with Qt Quick Controls 2.
++ * Build with default llvm version (closes: #974784).
++ * Revert addition of “Multi-Arch: same” from the previous upload.
++ libpyside2-py3-5.15 is not multi-arch ready because the list of built
++ modules (in _config.py) may be different on different architectures.
++ * Bump Qt build-dependencies to 5.15 (as ftbfs-old-qt.patch was dropped).
++ * Minor debian/rules cleanup.
++
++ [ Alexander Volkov ]
++ * Add python3-pyside2.qt{quickcontrols2,remoteobjects,serialport} packages.
++
++ -- Kurt Kremitzki <kkremitzki@debian.org> Sat, 19 Dec 2020 14:26:09 -0600
++
++pyside2 (5.15.0-6) unstable; urgency=medium
++
++ * Team upload.
++
++ [ Debian Janitor ]
++ * Apply multi-arch hints.
++ + python-pyside2-doc, shiboken2-doc: Add Multi-Arch: foreign.
++ + libshiboken2-dev, python3-pyside2.qt*: Add Multi-Arch: same.
++
++ [ Dmitry Shachnev ]
++ * Drop ftbfs-old-qt.patch. Not needed since Debian has Qt 5.15.
++ * Stop hardcoding py3.8 in debian/shiboken2-doc.docs (closes: #976900).
++ * Blacklist QtWidgets::bug_307 test for now (closes: #976516).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Mon, 14 Dec 2020 20:31:39 +0300
++
++pyside2 (5.15.0-5) unstable; urgency=medium
++
++ * Team upload.
++ * Run tests with QSG_NO_DEPTH_BUFFER=1 on mips64el (see #868745).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Mon, 19 Oct 2020 21:50:57 +0300
++
++pyside2 (5.15.0-4) unstable; urgency=medium
++
++ * Team upload.
++ * Drop preload-libglx-mesa.patch, not needed with glibc ≥ 2.31-1.
++ * Backport upstream patch to add support for Python 3.9 (closes: #972194).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Thu, 15 Oct 2020 20:06:52 +0300
++
++pyside2 (5.15.0-3) unstable; urgency=medium
++
++ [ Dmitry Shachnev ]
++ * Bump Qt build-dependencies to 5.14. As most Qt packages have a
++ Build-Depends-Package field in their symbols files, dpkg-shlibdeps will
++ use that information and generate a runtime dependency on a new enough
++ Qt version (closes: #963983).
++
++ [ Kurt Kremitzki ]
++ * Remove Freexian folks and add myself to Uploaders
++ * Correct libshiboken2 CMake include path (Closes: #964201)
++
++ -- Kurt Kremitzki <kkremitzki@debian.org> Sun, 05 Jul 2020 05:13:51 -0500
++
++pyside2 (5.15.0-2) unstable; urgency=medium
++
++ * Team upload.
++ * Preload libGLX_mesa.so.0 in web_engine_initialize.py, to work around
++ test failure on arm64 (closes: #963709).
++
++ -- Dmitry Shachnev <mitya57@debian.org> Mon, 29 Jun 2020 15:26:26 +0300
++
++pyside2 (5.15.0-1) unstable; urgency=medium
++
++ [ Gianfranco Costamagna ]
++ * Team upload
++ * Upload to unstable
++ * Drop trailing spaces from changelog file
++ * Bump compat level to 13
++ * Bump std-version to 4.5.0
++ * Add R^3: no
++
++ -- Kurt Kremitzki <kurt@kwk.systems> Thu, 25 Jun 2020 21:15:20 -0500
++
++pyside2 (5.15.0-1~exp1) experimental; urgency=medium
++
++ [ Steve Langasek ]
++ * Add test dependency on python3-all to fix autopkgtests (Closes: #950127)
++
++ [ Gianfranco Costamagna ]
++ * Add python3-distro needed for tests.
++ * Drop "uic" and "rcc" from control file, removed upstream (LP: #1874095)
++ * Add missing Breaks/Replaces for upgrading from previous version
++ (Closes: #949339)
++ * Drop pyside2uic tests, dropped upstream
++ * New upstream version 5.15.0 (Closes: #950126, Closes: #960008)
++ * Drop old Fix-build-with-Qt-5.12, addressed upstream
++ * Add patch to fix build failures with old qt implementation
++ * Refresh patches
++ * Bump copyright years
++ * Bump soname to 15
++ * Drop manpage, removed upstream
++ * Use llvm-9 to build, fixing a build failure
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 06 Jun 2020 14:48:45 +0200
++
++pyside2 (5.14.0-1~exp1) experimental; urgency=medium
++
++ [ Raphaël Hertzog ]
++ * Team upload
++ * New upstream version 5.14.0. Closes: #945376, #947101
++ * Update patches (3 dropped, one new for Qt 5.12 compat)
++ * Use --ignore-git option instead of custom patch
++ * Update package names for version 5.14
++ * Drop python3-pyside2uic, there's no such library anymore
++ * Re-enable tests failing due to broken XDG_RUNTIME_DIR
++ * Drop package prefix from lintian overrides
++ * Drop removed file from debian/copyright
++ * Fix arch-all build on 32 bit arches. Closes: #948764
++ Thanks to peter green <plugwash@p10link.net> for the patch.
++
++ [ Kurt Kremitzki ]
++ * Add CMake sed for pyside2 include path
++ * Add CMake sed for multi-Python version support
++
++ -- Kurt Kremitzki <kurt@kwk.systems> Mon, 13 Jan 2020 00:10:14 -0600
++
++pyside2 (5.13.2-2.2) unstable; urgency=medium
++
++ * Non-maintainer upload
++ * Update cmake paths for new locations
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 29 Dec 2019 22:44:55 +0100
++
++pyside2 (5.13.2-2.1) unstable; urgency=medium
++
++ * Non-maintainer upload
++ * Add an explicit shiboken dependency to fix FTBFS for reverse-dependencies
++ cmake based, who expect it being installed (Closes: #946082)
++ - thanks Tommaso Colombo for the patch
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 24 Dec 2019 09:22:39 +0100
++
++pyside2 (5.13.2-2) unstable; urgency=medium
++
++ * Do not build-depends on libqt5datavisualization5-dev on mipsel and
++ mpis64el (Closes: #945174) and limit .*qtdatavisualization binary package
++ to arch: amd64 arm64 armel armhf i386 ppc64el s390x
++ * Limit python3-pyside2.qtwebengine to amd64 arm64 armhf i386 mipsel
++ (qtwebengine5-dev is not available for other architectures)
++ * Add a patch to blacklist failing tests
++
++ -- Sophie Brun <sophie@freexian.com> Fri, 22 Nov 2019 10:28:55 +0100
++
++pyside2 (5.13.2-1) unstable; urgency=medium
++
++ [ Ondřej Nový ]
++ * Remove almost all of Python 2 binary packages (no rdeps):
++ - python-pyside2.qt3dcore
++ - python-pyside2.qt3dinput
++ - python-pyside2.qt3dlogic
++ - python-pyside2.qt3drender
++ - python-pyside2.qtcharts
++ - python-pyside2.qtconcurrent
++ - python-pyside2.qthelp
++ - python-pyside2.qtlocation
++ - python-pyside2.qtmultimedia
++ - python-pyside2.qtmultimediawidgets
++ - python-pyside2.qtnetwork
++ - python-pyside2.qtpositioning
++ - python-pyside2.qtprintsupport
++ - python-pyside2.qtqml
++ - python-pyside2.qtquick
++ - python-pyside2.qtquickwidgets
++ - python-pyside2.qtscript
++ - python-pyside2.qtscripttools
++ - python-pyside2.qtsensors
++ - python-pyside2.qtsql
++ - python-pyside2.qttest
++ - python-pyside2.qttexttospeech
++ - python-pyside2.qtwebchannel
++ - python-pyside2.qtwebenginecore
++ - python-pyside2.qtwebenginewidgets
++ - python-pyside2.qtwebsockets
++ - python-pyside2.qtx11extras
++ - python-pyside2.qtxmlpatterns
++
++ [ Sophie Brun ]
++ * Update debian/watch
++ * New upstream version 5.13.2
++ * Refresh patches and remove obsolete patches
++ * Add missing build-deps
++ * Force pybuild to use distutils, not Cmake
++ * Replace deprecated upstream option --jobs with --parallel
++ * Update documentation build
++ * Add a patch to support Python 3.8 (Closes: #942753)
++ * Add new binary packages
++ - python3-pyside2.qtdatavisualization
++ - python3-pyside2.qtopenglfunctions
++ - python3-pyside2.qtscxml
++ - python3-pyside2.qtwebengine
++ * Update list of built files in debian/rules
++ * Switch pyside2-tools to Python3
++ * Switch to debhelper-compat 12
++ * Bump Standards-Version to 4.4.1 (no changes)
++ * Update installation of python3 module shiboken2
++ * Add autopkgtest
++ * Add missing Conflicts/Replaces and Provides for libpyside2-*
++ * Add a patch to use python3 in pyside2-tools
++ * Remove disable failing test in debian/rules
++ * Add missing depends (Closes: #943709)
++ * Run the tests and add missing build-deps for tests
++ * Remove useless build-dep pyqt5-dev
++
++ [ Raphaël Hertzog ]
++ * Drop remaining python2 parts.
++
++ -- Sophie Brun <sophie@freexian.com> Fri, 15 Nov 2019 10:15:57 +0100
++
++pyside2 (5.11.2-3) unstable; urgency=medium
++
++ [ Sébastien Delafond ]
++ * Do not build-depends on patchelf on mips and mipsel (Closes: #917199)
++
++ -- Sebastien Delafond <seb@debian.org> Wed, 16 Jan 2019 16:30:16 +0100
++
++pyside2 (5.11.2-2) unstable; urgency=medium
++
++ [ Sébastien Delafond ]
++ * Add myself to uploaders
++ * Do not build-depends on patchelf on mips64el (Closes: #917200)
++
++ -- Sebastien Delafond <seb@debian.org> Thu, 10 Jan 2019 09:21:43 +0100
++
++pyside2 (5.11.2-1) unstable; urgency=medium
++
++ [ Raphaël Hertzog ]
++ * New upstream version 5.11.2
++ * Remove patches merged upstream
++ * Merge fix-PAGESIZE.patch into update-patchelf.patch
++ * Add patchelf to Build-Depends
++ * Bump Standards-Version to 4.2.1
++
++ [ Frédéric Bonnard ]
++ * Fix hardcoded PAGESIZE for patchelf.cc. Closes: #909265
++
++ -- Raphaël Hertzog <hertzog@debian.org> Fri, 28 Sep 2018 15:09:34 +0200
++
++pyside2 (5.11.0-4) unstable; urgency=medium
++
++ * Use default llvm-dev and libclang-dev (Closes: #906168)
++ * Add Cmake config files for Python3 (Closes: #906020)
++ * Fix debian/libpyside2-5.11.install for triplets that are not *-linux-gnu
++ (thanks to Adrian Bunk)
++ * Add an upstream patch to fix build on armel/armhf
++
++ -- Sophie Brun <sophie@freexian.com> Mon, 27 Aug 2018 12:53:29 +0200
++
++pyside2 (5.11.0-3) unstable; urgency=medium
++
++ * More fixes for builds building only arch any or only arch all.
++ * Really fix the build with dpkg-buildpackage -A.
++
++ -- Raphaël Hertzog <hertzog@debian.org> Tue, 31 Jul 2018 21:33:04 +0200
++
++pyside2 (5.11.0-2) unstable; urgency=medium
++
++ [ Raphaël Hertzog ]
++ * Fix build with dpkg-buildpackage -A. Closes: #904892
++ * Fix python-pyside2 dependencies. Replace python-pyside2.widgets by
++ python-pyside2.qtwidgets.
++
++ [ Sophie Brun ]
++ * Drop useless "Testsuite: autopkgtest-pkg-python".
++ * Enable parallel build.
++ * Limit QtWebEngine packages to amd64 arm64 armhf i386 mipsel.
++ * Remove unused lintian-overrides.
++ * Use python2 only in pyside2-tools.
++ * Remove big metapackages python-pyside2 and python3-pyside2.
++
++ -- Raphaël Hertzog <hertzog@debian.org> Tue, 31 Jul 2018 16:37:40 +0200
++
++pyside2 (5.11.0-1) unstable; urgency=medium
++
++ * Initial release (Closes: #877871)
++
++ -- Sophie Brun <sophie@freexian.com> Thu, 26 Jul 2018 17:47:45 +0200
--- /dev/null
--- /dev/null
++build_history/2*/
++pyside3_build/
++pyside3_install/
++sources/pyside2/doc/pyside-config.qdocconf
++sources/pyside2/doc/pyside.qdocconf.in
++sources/pyside2/doc/qtmodules/pyside-*.qdocconf
--- /dev/null
--- /dev/null
++Source: pyside2
++Section: python
++Priority: optional
++Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
++Uploaders: Kurt Kremitzki <kkremitzki@debian.org>
++Build-Depends: chrpath,
++ cmake (>= 3.1),
++ debhelper-compat (= 13),
++ dh-python,
++ dpkg-dev (>= 1.22.5),
++ graphviz,
++ libclang-dev,
++ libqt5charts5-dev (>= 5.15),
++ libqt5datavisualization5-dev (>= 5.15),
++ libqt5opengl5-dev (>= 5.15),
++ libqt5remoteobjects5-dev (>= 5.15),
++ libqt5scxml5-bin (>= 5.15),
++ libqt5scxml5-dev (>= 5.15),
++ libqt5sensors5-dev (>= 5.15),
++ libqt5serialport5-dev (>= 5.15),
++ libqt5svg5-dev (>= 5.15),
++ libqt5texttospeech5-dev (>= 5.15),
++ libqt5webchannel5-dev (>= 5.15),
++ libqt5webkit5-dev (>= 5.15),
++ libqt5websockets5-dev (>= 5.15),
++ libqt5x11extras5-dev (>= 5.15),
++ libqt5xmlpatterns5-dev (>= 5.15),
++ libxml2-dev,
++ libxslt1-dev,
++ llvm-dev,
++ python3-dev,
++ python3-distro,
++ python3-setuptools,
++ python3-sphinx,
++ python3-sphinx-rtd-theme,
++ python3-wheel,
++ qml-module-qtquick-controls2 (>= 5.15),
++ qml-module-qtquick-layouts (>= 5.15),
++ qml-module-qtquick2 (>= 5.15),
++ qt3d-assimpsceneimport-plugin (>= 5.15),
++ qt3d-defaultgeometryloader-plugin (>= 5.15),
++ qt3d-gltfsceneio-plugin (>= 5.15),
++ qt3d-scene2d-plugin (>= 5.15),
++ qt3d5-dev (>= 5.15),
++ qt5-qmake (>= 5.15),
++ qt5-qmake-bin (>= 5.15),
++ qtbase5-dev (>= 5.15),
++ qtbase5-private-dev (>= 5.15),
++ qtchooser,
++ qtdeclarative5-dev (>= 5.15),
++ qtdeclarative5-private-dev (>= 5.15),
++ qtlocation5-dev (>= 5.15),
++ qtmultimedia5-dev (>= 5.15),
++ qtpositioning5-dev (>= 5.15),
++ qtquickcontrols2-5-dev (>= 5.15),
++ qtscript5-dev (>= 5.15),
++ qttools5-dev (>= 5.15),
++ qtwebengine5-dev (>= 5.15) [amd64 arm64 armhf i386 mips64el],
++ xauth,
++ xvfb
++Rules-Requires-Root: no
++Standards-Version: 4.7.0
++Homepage: https://wiki.qt.io/Qt_for_Python
++Vcs-Git: https://salsa.debian.org/qt-kde-team/qt/pyside2.git
++Vcs-Browser: https://salsa.debian.org/qt-kde-team/qt/pyside2
++
++Package: python-pyside2-doc
++Architecture: all
++Section: doc
++Depends: ${misc:Depends}, ${sphinxdoc:Depends}
++Multi-Arch: foreign
++Description: Python bindings for Qt5 (common documentation)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains the common documentation package.
++
++Package: libpyside2-py3-5.15t64
++Breaks: libpyside2-py3-5.15 (<< ${source:Version})
++Section: libs
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}
++Conflicts: libpyside2-py3-5.11, libpyside2-py3-5.13, libpyside2-py3-5.14
++Replaces: libpyside2-py3-5.15, libpyside2-py3-5.11, libpyside2-py3-5.13, libpyside2-py3-5.14
++Provides: ${t64:Provides}, libpyside2-py3
++Description: Python 3 bindings for Qt5 (base files)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python3 base file used by all modules.
++
++Package: libpyside2-dev
++Section: libdevel
++Architecture: any
++Depends: ${misc:Depends}, ${shlibs:Depends}, libpyside2-py3-5.15t64 (= ${binary:Version})
++Description: Python bindings for Qt5 (development files)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package provides the development headers for the libpyside2 library.
++
++Package: python3-pyside2.qtcore
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}
++Suggests: python-pyside2-doc
++Description: Python bindings for Qt5 core module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtCore module.
++
++Package: shiboken2
++Section: devel
++Architecture: any
++Depends: ${misc:Depends}, ${shlibs:Depends}
++Description: CPython bindings generator for C++ libraries
++ Shiboken2 is a bindings generator for C++ libraries that outputs CPython
++ source code. It collects information from library headers, and then
++ merges modifications and handwritten code defined in the typesystem
++ description.
++ .
++ Shiboken2 is the binding generator used to create the PySide2 bindings.
++
++Package: libshiboken2-py3-5.15t64
++Breaks: libshiboken2-py3-5.15 (<< ${source:Version})
++Section: libs
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}
++Conflicts: libshiboken2-py3-5.11, libshiboken2-py3-5.13, libshiboken2-py3-5.14
++Replaces: libshiboken2-py3-5.15, libshiboken2-py3-5.11, libshiboken2-py3-5.13, libshiboken2-py3-5.14
++Provides: ${t64:Provides}, libshiboken2-py3
++Description: CPython bindings generator for C++ libraries (Python3 shared library)
++ Shiboken2 is a bindings generator for C++ libraries that outputs CPython
++ source code. It collects information from library headers, and then
++ merges modifications and handwritten code defined in the typesystem
++ description.
++ .
++ Shiboken2 is the binding generator used to create the PySide2 bindings.
++ .
++ This package contains the shared Python 3 library used by shiboken2.
++
++Package: libshiboken2-dev
++Section: libdevel
++Architecture: any
++Depends: ${misc:Depends}, ${shlibs:Depends},
++ libshiboken2-py3-5.15t64 (= ${binary:Version}), shiboken2 (= ${binary:Version}), python3-dev
++Description: CPython bindings generator for C++ libraries (development files)
++ Shiboken2 is a bindings generator for C++ libraries that outputs CPython
++ source code. It collects information from library headers, and then
++ merges modifications and handwritten code defined in the typesystem
++ description.
++ .
++ Shiboken2 is the binding generator used to create the PySide2 bindings.
++ .
++ This package provides the development headers for the libshiboken2 library.
++
++Package: shiboken2-doc
++Architecture: all
++Section: doc
++Depends: ${misc:Depends}, ${sphinxdoc:Depends}
++Multi-Arch: foreign
++Description: CPython bindings generator for C++ libraries (common documentation)
++ Shiboken2 is a bindings generator for C++ libraries that outputs CPython
++ source code. It collects information from library headers, and then
++ merges modifications and handwritten code defined in the typesystem
++ description.
++ .
++ Shiboken2 is the binding generator used to create the PySide2 bindings.
++ .
++ This package contains the common documentation.
++
++Package: pyside2-tools
++Architecture: any
++Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}, python3-pyside2.qtcore
++Description: development tools for PySide2 (lupdate)
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ PySide2 ships Python bindings for the Qt5 framework. This package ships
++ the following accompanying tools:
++ * pyside2-lupdate - update Qt Linguist translation files for PySide
++
++Package: python3-pyside2.qtwidgets
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 Widgets module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtWidgets module.
++
++Package: python3-pyside2.qt3drender
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qt3dcore, python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 3DRender module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the Qt3DRender module.
++
++Package: python3-pyside2.qtquick
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtnetwork, python3-pyside2.qtqml,
++ python3-pyside2.qtgui
++Description: Python bindings for Qt5 Quick module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtQuick module.
++
++Package: python3-pyside2.qtquickcontrols2
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtquick
++Description: Python bindings for Qt5 QuickControls2 (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtQuickControls2 module.
++
++Package: python3-pyside2.qtpositioning
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Positioning module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtPositioning module.
++
++Package: python3-pyside2.qtremoteobjects
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtnetwork
++Description: Python bindings for Qt5 RemoteObjects (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtRemoteObjects module.
++
++Package: python3-pyside2.qtx11extras
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 X11Extras module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtX11Extras module.
++
++Package: python3-pyside2.qtqml
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qtnetwork
++Description: Python bindings for Qt5 Qml module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtQml module.
++
++Package: python3-pyside2.qtwebenginecore
++Architecture: amd64 arm64 armhf i386 mips64el
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtnetwork
++Description: Python bindings for Qt5 WebEngineCore module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtWebEngineCore module.
++
++Package: python3-pyside2.qttexttospeech
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 TextToSpeech module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtTextToSpeech module.
++
++Package: python3-pyside2.qthelp
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtwidgets, python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 Help module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtHelp module.
++
++Package: python3-pyside2.qtscripttools
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtscript, python3-pyside2.qtwidgets, python3-pyside2.qtgui,
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 ScriptTools module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtScriptTools module.
++
++Package: python3-pyside2.qtnetwork
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Network module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtNetwork module.
++
++Package: python3-pyside2.qtmultimediawidgets
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qtnetwork,
++ python3-pyside2.qtwidgets, python3-pyside2.qtmultimedia
++Description: Python bindings for Qt5 MultimediaWidgets module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtMultimediaWidgets module.
++
++Package: python3-pyside2.qtlocation
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtpositioning
++Description: Python bindings for Qt5 Location module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtLocation module.
++
++Package: python3-pyside2.qt3dlogic
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qt3dcore
++Description: Python bindings for Qt5 3DLogic module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the Qt3DLogic module.
++
++Package: python3-pyside2.qtsensors
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Sensors module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtSensors module.
++
++Package: python3-pyside2.qtserialport
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 SerialPort (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtSerialPort module.
++
++Package: python3-pyside2.qtmultimedia
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qtnetwork
++Description: Python bindings for Qt5 Multimedia module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtMultimedia module.
++
++Package: python3-pyside2.qtscript
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Script module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtScript module.
++
++Package: python3-pyside2.qtwebchannel
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 WebChannel module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtWebChannel module.
++
++Package: python3-pyside2.qtprintsupport
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtwidgets, python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 PrintSupport module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtPrintSupport module.
++
++Package: python3-pyside2.qtquickwidgets
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qtwidgets,
++ python3-pyside2.qtnetwork, python3-pyside2.qtquick, python3-pyside2.qtqml
++Description: Python bindings for Qt5 QuickWidgets module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtQuickWidgets module.
++
++Package: python3-pyside2.qt3dinput
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qt3dcore, python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 3DInput module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the Qt3DInput module.
++
++Package: python3-pyside2.qtxml
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Xml module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtXml module.
++
++Package: python3-pyside2.qttest
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qtwidgets
++Description: Python bindings for Qt5 Test module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtTest module.
++
++Package: python3-pyside2.qtwebenginewidgets
++Architecture: amd64 arm64 armhf i386 mips64el
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtgui, python3-pyside2.qtwidgets,
++ python3-pyside2.qtnetwork, python3-pyside2.qtwebchannel,
++ python3-pyside2.qtwebenginecore, python3-pyside2.qtprintsupport
++Description: Python bindings for Qt5 WebEngineWidgets module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtWebEngineWidgets module.
++
++Package: python3-pyside2.qtconcurrent
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Concurrent module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtConcurrent module.
++
++Package: python3-pyside2.qtxmlpatterns
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 XmlPatterns module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtXmlPatterns module.
++
++Package: python3-pyside2.qtcharts
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtwidgets, python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 Charts module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtCharts module.
++
++Package: python3-pyside2.qtuitools
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtwidgets, python3-pyside2.qtxml, python3-pyside2.qtcore,
++ python3-pyside2.qtgui
++Description: Python bindings for Qt5 UiTools module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtUiTools module.
++
++Package: python3-pyside2.qtopengl
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtwidgets, python3-pyside2.qtcore, python3-pyside2.qtgui
++Description: Python bindings for Qt5 OpenGL module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtOpenGL module.
++
++Package: python3-pyside2.qt3danimation
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtgui, python3-pyside2.qtcore, python3-pyside2.qtnetwork,
++ python3-pyside2.qt3drender
++Description: Python bindings for Qt5 3DAnimation module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the Qt3DAnimation module.
++
++Package: python3-pyside2.qt3dcore
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtgui, python3-pyside2.qtcore, python3-pyside2.qtnetwork
++Description: Python bindings for Qt5 3DCore module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the Qt3DCore module.
++
++Package: python3-pyside2.qt3dextras
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtgui, python3-pyside2.qtcore, python3-pyside2.qtnetwork,
++ python3-pyside2.qt3drender
++Description: Python bindings for Qt5 3DExtras module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the Qt3DExtras module.
++
++Package: python3-pyside2.qtsql
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtwidgets, python3-pyside2.qtgui, python3-pyside2.qtcore
++Description: Python bindings for Qt5 Sql module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtSql module.
++
++Package: python3-pyside2.qtgui
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Gui module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtGui module.
++
++Package: python3-pyside2.qtsvg
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtwidgets, python3-pyside2.qtgui, python3-pyside2.qtcore
++Description: Python bindings for Qt5 Svg module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtSvg module.
++
++Package: python3-pyside2.qtwebsockets
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore, python3-pyside2.qtnetwork
++Description: Python bindings for Qt5 WebSockets module (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtWebSockets module.
++
++Package: python3-pyside2.qtdatavisualization
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtgui, python3-pyside2.qtcore
++Description: Python bindings for Qt5 Data Visualization (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtDataVisualization module.
++
++Package: python3-pyside2.qtopenglfunctions
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtgui, python3-pyside2.qtcore
++Description: Python bindings for Qt5 Open GL Functions (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the OpenGLFunctions module.
++
++Package: python3-pyside2.qtscxml
++Architecture: any
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Scxml (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the Scxml module.
++
++Package: python3-pyside2.qtwebengine
++Architecture: amd64 arm64 armhf i386 mips64el
++Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
++ python3-pyside2.qtcore
++Description: Python bindings for Qt5 Web Engine (Python 3)
++ pyside2 provides Python bindings for Qt 5.x framework.
++ .
++ Qt is a cross-platform C++ application framework. Qt's primary feature
++ is its rich set of widgets that provide standard GUI functionality.
++ .
++ This package contains Python 3 bindings for the QtWebEngine module.
--- /dev/null
--- /dev/null
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: pyside2
++Source: https://download.qt.io/official_releases/QtForPython/
++
++Files: *
++Copyright: 2016-2020 The Qt Company Ltd.
++License: GPL-2 or GPL-3 or LGPL-3
++
++Files: examples/*
++Copyright: 2016-2018 The Qt Company Ltd.
++ 2011 Arun Srinivasan <rulfzid@gmail.com>
++ 2010-2013 Riverbank Computing Limited.
++ 2010 Hans-Peter Jansen <hpj@urpla.net>
++ 2010 velociraptor Genjix <aphidia@hotmail.com>
++ 2009 Darryl Wallace, 2009 <wallacdj@gmail.com>
++License: BSD-3-clause
++
++Files: sources/patchelf/*
++Copyright: 2004-2009 Eelco Dolstra <e.dolstra@tudelft.nl>
++License: GPL-3+
++
++Files: sources/patchelf/elf.h
++Copyright: 1995-2008 Free Software Foundation, Inc.
++License: LGPL-2.1+
++
++Files: sources/pyside2/doc/typesystem_doc.xml.in
++ sources/pyside2/doc/codesnippets/*
++ sources/pyside2/doc/tutorials/*
++Copyright: 2016 The Qt Company Ltd.
++License: BSD-3-clause
++
++Files: sources/pyside2/doc/inheritance_diagram.py
++Copyright: 2010-2011 by the PySide team
++ 2007-2011 by the Sphinx team
++License: BSD-2-clause
++ All rights reserved.
++ .
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++ .
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ .
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++Files: sources/pyside2/tests/run_test.sh
++ sources/pyside2/tests/Qt*
++ sources/pyside2/tests/mac/qmacstyle_test.py
++ sources/pyside2/tests/manually/*
++ sources/pyside2/tests/pysidetest/*
++ sources/pyside2/tests/signals/*
++ sources/pyside2/tests/util/*
++ sources/shiboken2/ApiExtractor/*
++ sources/shiboken2/generator/*
++ sources/shiboken2/generatorrunnermacros.h
++ sources/shiboken2/generators/*
++ sources/shiboken2/tests/*
++Copyright: 2009 Matthias Klose <doko@debian.org>
++ 2002-2005 Roberto Raggi <roberto@kdevelop.org>
++ 2011 Thomas Perl <m@thp.io>
++ 2013 Kitware, Inc.
++ 2016-2017 The Qt Company Ltd.
++License: GPL-3-EXCEPT
++
++Files: sources/pyside2-tools/*
++Copyright: 2016 The Qt Company Ltd.
++ 2010 Riverbank Computing Limited.
++ 2009-2011 Nokia Corporation and/or its subsidiary(-ies)
++ 2009 Torsten Marek
++ 2002-2007 Detlev Offenbach <detlev@die-offenbachs.de>
++ 1992-2006 Trolltech AS. All rights reserved.
++License: GPL-2
++
++Files: debian/*
++Copyright: 2018 Sophie Brun <sophie@freexian.com>
++License: GPL-2+
++ This package is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <https://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
++
++License: BSD-3-clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in
++ the documentation and/or other materials provided with the
++ distribution.
++ * Neither the name of The Qt Company Ltd nor the names of its
++ contributors may be used to endorse or promote products derived
++ from this software without specific prior written permission.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
++
++License: GPL-2
++ This package is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License version 2 as
++ published by the Free Software Foundation.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2"
++
++License: GPL-3
++ This package is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License version 3 as
++ published by the Free Software Foundation.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3"
++
++License: GPL-3+
++ This package is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3"
++
++License: GPL-3-EXCEPT
++ This package is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License version 3 as
++ published by the Free Software Foundation, annotated with The Qt Company
++ GPL Exception 1.0:
++ .
++ The Qt Company GPL Exception 1.0
++ .
++ Exception 1:
++ .
++ As a special exception you may create a larger work which contains the
++ output of this application and distribute that work under terms of your
++ choice, so long as the work is not otherwise derived from or based on
++ this application and so long as the work does not in itself generate
++ output that contains the output from this application in its original
++ or modified form.
++ .
++ Exception 2:
++ .
++ As a special exception, you have permission to combine this application
++ with Plugins licensed under the terms of your choice, to produce an
++ executable, and to copy and distribute the resulting executable under
++ the terms of your choice. However, the executable must be accompanied
++ by a prominent notice offering all users of the executable the entire
++ source code to this application, excluding the source code of the
++ independent modules, but including any changes you have made to this
++ application, under the terms of this license.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3"
++
++License: LGPL-2.1+
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++ .
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++ .
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
++ USA
++ .
++ On Debian systems, the complete text of the Lesser GNU General
++ Public License version 2.1 can be found in
++ "/usr/share/common-licenses/LGPL-2.1"
++
++License: LGPL-3
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License version 3 as published by the Free Software Foundation.
++ .
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++ .
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
++ USA
++ .
++ On Debian systems, the complete text of the Lesser GNU General
++ Public License version 3 can be found in
++ "/usr/share/common-licenses/LGPL-3"
--- /dev/null
--- /dev/null
++pyside3_install/py3*-relwithdebinfo/include/PySide2 usr/include
++pyside3_install/py3*-relwithdebinfo/share/PySide2 usr/share
++pyside3_install/py3*-relwithdebinfo/lib/pkgconfig/pyside2.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
++pyside3_install/py3*-relwithdebinfo/lib/libpyside2*.so usr/lib/${DEB_HOST_MULTIARCH}
++pyside3_install/py3*-relwithdebinfo/lib/cmake/PySide2* usr/lib/${DEB_HOST_MULTIARCH}/cmake
--- /dev/null
--- /dev/null
++pyside3_install/py3*-relwithdebinfo/lib/libpyside2*.so.* usr/lib/${DEB_HOST_MULTIARCH}
++pyside3_install/py3*-relwithdebinfo/lib/python*/site-packages/PySide2/_git_pyside_version.py usr/lib/python3/dist-packages/PySide2
++pyside3_install/py3*-relwithdebinfo/lib/python*/site-packages/PySide2/__init__.py usr/lib/python3/dist-packages/PySide2
++pyside3_install/py3*-relwithdebinfo/lib/python*/site-packages/PySide2/_config.py usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++# We ship compiled versions for each supported python3 version, with a symlink to the default version
++package-name-doesnt-match-sonames *
++libpyside2-py3-5.15t64: package-name-doesnt-match-sonames libpyside2-py3-5.15
--- /dev/null
--- /dev/null
++pyside3_install/py3*-relwithdebinfo/include/shiboken2 usr/include
++pyside3_install/py3*-relwithdebinfo/lib/pkgconfig/shiboken2.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
++pyside3_install/py3*-relwithdebinfo/lib/libshiboken2*.so usr/lib/${DEB_HOST_MULTIARCH}
++pyside3_install/py3*-relwithdebinfo/lib/cmake/Shiboken2* usr/lib/${DEB_HOST_MULTIARCH}/cmake
--- /dev/null
--- /dev/null
++pyside3_install/py3*-relwithdebinfo/lib/libshiboken2*.so.* usr/lib/${DEB_HOST_MULTIARCH}
++pyside3_install/py3*-relwithdebinfo/lib/python3*/site-packages/shiboken2/* usr/lib/python3/dist-packages/shiboken2
--- /dev/null
--- /dev/null
++# We ship compiled versions for each supported python3 version, with a symlink to the default version
++package-name-doesnt-match-sonames *
++libshiboken2-py3-5.15t64: package-name-doesnt-match-sonames libshiboken2-py3-5.15
--- /dev/null
--- /dev/null
++From: Dmitry Shachnev <mitya57@debian.org>
++Date: Thu, 25 Jan 2024 14:21:09 +0300
++Subject: Do not change RPATH
++
++Forwarded: not-needed
++---
++ build_scripts/main.py | 3 ---
++ build_scripts/platforms/unix.py | 5 -----
++ 2 files changed, 8 deletions(-)
++
++diff --git a/build_scripts/main.py b/build_scripts/main.py
++index 23b37c5..25c0cf3 100644
++--- a/build_scripts/main.py
+++++ b/build_scripts/main.py
++@@ -631,9 +631,6 @@ class PysideBuild(_build, DistUtilsCommandMixin):
++ log.info("Created {}".format(build_history))
++
++ if not OPTION["SKIP_PACKAGING"]:
++- # Build patchelf if needed
++- self.build_patchelf()
++-
++ # Prepare packages
++ self.prepare_packages()
++
++diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py
++index b842510..8df0e73 100644
++--- a/build_scripts/platforms/unix.py
+++++ b/build_scripts/platforms/unix.py
++@@ -220,8 +220,3 @@ def prepare_packages_posix(self, vars):
++ if config.is_internal_shiboken_generator_build():
++ # Copy over clang before rpath patching.
++ self.prepare_standalone_clang(is_win=False)
++-
++- # Update rpath to $ORIGIN
++- if sys.platform.startswith('linux') or sys.platform.startswith('darwin'):
++- rpath_path = "{st_build_dir}/{st_package_name}".format(**vars)
++- self.update_rpath(rpath_path, executables)
--- /dev/null
--- /dev/null
++From: =?utf-8?q?Cristi=C3=A1n_Maureira-Fredes?=
++ <Cristian.Maureira-Fredes@qt.io>
++Date: Tue, 10 Oct 2023 15:52:09 +0200
++Subject: Final details to enable 3.12 wheel compatibility
++
++Change-Id: I0252c4e73e8c214ef8aa418ddf88bc452c0fdf53
++Pick-to: 6.6
++Task-number: PYSIDE-2230
++Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
++(cherry picked from commit 6c7bb7b6e1008909e49bc04d2a48024309a784cc)
++---
++ build_scripts/config.py | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/build_scripts/config.py b/build_scripts/config.py
++index 5fc23d4..fb27394 100644
++--- a/build_scripts/config.py
+++++ b/build_scripts/config.py
++@@ -138,7 +138,7 @@ class Config(object):
++ setup_kwargs['zip_safe'] = False
++ setup_kwargs['cmdclass'] = cmd_class_dict
++ setup_kwargs['version'] = package_version
++- setup_kwargs['python_requires'] = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.12"
+++ setup_kwargs['python_requires'] = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.13"
++
++ if quiet:
++ # Tells distutils / setuptools to be quiet, and only print warnings or errors.
--- /dev/null
--- /dev/null
++From: Dmitry Shachnev <mitya57@debian.org>
++Date: Sun, 4 Feb 2024 00:29:00 +0300
++Subject: Modify sendCommand signatures to use 0 as default value
++
++The original default value was QNodeCommand::CommandId(), and shiboken
++copies it verbatim from the header file, however it does not work because
++we do not generate "using namespace Qt3DCore;".
++
++0 is the same as QNodeCommand::CommandId().
++---
++ sources/pyside2/PySide2/Qt3DCore/typesystem_3dcore.xml | 10 ++++++++++
++ 1 file changed, 10 insertions(+)
++
++diff --git a/sources/pyside2/PySide2/Qt3DCore/typesystem_3dcore.xml b/sources/pyside2/PySide2/Qt3DCore/typesystem_3dcore.xml
++index 8696a12..310595f 100644
++--- a/sources/pyside2/PySide2/Qt3DCore/typesystem_3dcore.xml
+++++ b/sources/pyside2/PySide2/Qt3DCore/typesystem_3dcore.xml
++@@ -58,6 +58,11 @@
++ <object-type name="QAspectJob"/>
++ <object-type name="QBackendNode">
++ <enum-type name="Mode"/>
+++ <modify-function signature="sendCommand(const QString&,const QVariant&,unsigned long long)">
+++ <modify-argument index="3">
+++ <replace-default-expression with="0"/>
+++ </modify-argument>
+++ </modify-function>
++ </object-type>
++ <!-- TODO: Solve issues related to windows and a unresolved
++ external symbol
++@@ -82,6 +87,11 @@
++ </object-type>
++ <object-type name="QNode">
++ <enum-type name="PropertyTrackingMode"/>
+++ <modify-function signature="sendCommand(const QString&,const QVariant&,unsigned long long)">
+++ <modify-argument index="3">
+++ <replace-default-expression with="0"/>
+++ </modify-argument>
+++ </modify-function>
++ </object-type>
++ <object-type name="QNodeCommand" since="5.10"/>
++ <object-type name="QNodeCreatedChangeBase"/>
--- /dev/null
--- /dev/null
++From: Christian Tismer <tismer@stackless.com>
++Date: Tue, 21 Jun 2022 10:22:04 +0200
++Subject: PyEnum: make forgiving duplicates work with Python 3.11
++
++There was a silent change in PyEnums that turns Enum attributes
++into properties. This does not harm the Python interface but
++needed some change in the duplication emulation.
++
++Furthermore, new internal enums are created with an underscore name.
++
++The meta class was changed from EnumMeta to EnumType.
++
++[ChangeLog][shiboken6] The new Python Enums are now compatible with Python 3.11
++
++Change-Id: I3b1ab63dc5eed15a75ebd0f42dddf4001f640c00
++Pick-to: 6.3
++Task-number: PYSIDE-1735
++Fixes: PYSIDE-1960
++Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
++Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
++(cherry picked from commit da2cf031521815a9559ca784beadb70c7a2852d9)
++---
++ sources/pyside2/tests/QtCore/qenum_test.py | 6 ++++--
++ .../files.dir/shibokensupport/signature/lib/enum_sig.py | 3 ++-
++ 2 files changed, 6 insertions(+), 3 deletions(-)
++
++diff --git a/sources/pyside2/tests/QtCore/qenum_test.py b/sources/pyside2/tests/QtCore/qenum_test.py
++index f99a893..0981c26 100644
++--- a/sources/pyside2/tests/QtCore/qenum_test.py
+++++ b/sources/pyside2/tests/QtCore/qenum_test.py
++@@ -197,14 +197,16 @@ class SomeClass(QObject):
++
++ @unittest.skipUnless(HAVE_ENUM, "requires 'enum' module (use 'pip install enum34' for Python 2)")
++ class TestQEnumMacro(unittest.TestCase):
+++ meta_name = "EnumType" if sys.version_info[:2] >= (3, 11) else "EnumMeta"
+++
++ def testTopLevel(self):
++ self.assertEqual(type(OuterEnum).__module__, "enum")
++- self.assertEqual(type(OuterEnum).__name__, "EnumMeta")
+++ self.assertEqual(type(OuterEnum).__name__, self.meta_name)
++ self.assertEqual(len(OuterEnum.__members__), 2)
++
++ def testSomeClass(self):
++ self.assertEqual(type(SomeClass.SomeEnum).__module__, "enum")
++- self.assertEqual(type(SomeClass.SomeEnum).__name__, "EnumMeta")
+++ self.assertEqual(type(SomeClass.SomeEnum).__name__, self.meta_name)
++ self.assertEqual(len(SomeClass.SomeEnum.__members__), 3)
++ with self.assertRaises(TypeError):
++ int(SomeClass.SomeEnum.C) == 6
++diff --git a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py
++index 088a93a..2f78718 100644
++--- a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py
+++++ b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py
++@@ -139,7 +139,8 @@ class ExactEnumerator(object):
++ functions.append((func_name, thing))
++ elif type(type(thing)) is EnumMeta:
++ # take the real enum name, not what is in the dict
++- enums.append((thing_name, type(thing).__qualname__, thing))
+++ if not thing_name.startswith("_"):
+++ enums.append((thing_name, type(thing).__qualname__, thing))
++ init_signature = getattr(klass, "__signature__", None)
++ enums.sort(key=lambda tup: tup[1 : 3]) # sort by class then enum value
++ self.fmt.have_body = bool(subclasses or functions or enums or init_signature)
--- /dev/null
--- /dev/null
++From: Christian Tismer <tismer@stackless.com>
++Date: Tue, 14 Feb 2023 14:46:22 +0100
++Subject: Python 3.12: Fix the structure of class property
++
++There is a PySide bug in Python 3.10 already: The structure for
++classproperty derives from the property structure. This was extended
++in Python 3.10, already, but the type generation check was made more
++exhaustive in Python 3.12 and recognized that.
++
++This change is only for making the compiler/C API happy.
++In order to use the extension field, it is necessary to do a runtime
++check because of the Limited API.
++
++Task-number: PYSIDE-2230
++Change-Id: I88dcaa11589ff41852f08fa2defa5200a0dd4eb6
++Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
++Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
++(cherry picked from commit edfd9a5ad174a48f8d7da511dc6a1c69e931a418)
++---
++ sources/pyside2/libpyside/feature_select.cpp | 5 +++++
++ 1 file changed, 5 insertions(+)
++
++diff --git a/sources/pyside2/libpyside/feature_select.cpp b/sources/pyside2/libpyside/feature_select.cpp
++index 3011b35..b9e1470 100644
++--- a/sources/pyside2/libpyside/feature_select.cpp
+++++ b/sources/pyside2/libpyside/feature_select.cpp
++@@ -671,6 +671,11 @@ typedef struct {
++ PyObject *prop_set;
++ PyObject *prop_del;
++ PyObject *prop_doc;
+++#if PY_VERSION_HEX >= 0x030A0000
+++ // Note: This is a problem with Limited API: We have no direct access.
+++ // You need to pick it from runtime info.
+++ PyObject *prop_name;
+++#endif
++ int getter_doc;
++ } propertyobject;
++
--- /dev/null
--- /dev/null
++From: Christian Tismer <tismer@stackless.com>
++Date: Tue, 21 Jun 2022 10:22:04 +0200
++Subject: Shiboken: Fix the oldest shiboken bug ever which shows up on Python
++ 3.11
++
++b7df2f1c0 "Fix signal initializer.", 18. May 2010 at 00:55
++
++There was a `PySequence_Check` in the evaluation of some signature
++function parameter processing, which should have been `PyTuple_Check`.
++
++Since the new PyEnums are also sequences, the new optimization in
++Python 3.11 changed the parameter handling in a correct way and
++replaced the argument tuple by a direct single argument of an enum
++type. And that is also a sequence ...
++
++There are probably still dormant issues like this in the codebase
++which gives reason to submit a task that checks all Python interface
++functions for correctness.
++
++Change-Id: I45996a0458c3e60795d2eb802eb98f7dd3678d92
++Pick-to: 6.3
++Task-number: PYSIDE-1735
++Task-number: PYSIDE-1987
++Fixes: PYSIDE-1988
++Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
++Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
++(cherry picked from commit 2720e01f21f3771cb755ef183b8160f691bdb575)
++---
++ sources/pyside2/libpyside/pysidesignal.cpp | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/sources/pyside2/libpyside/pysidesignal.cpp b/sources/pyside2/libpyside/pysidesignal.cpp
++index 607ce16..6824a71 100644
++--- a/sources/pyside2/libpyside/pysidesignal.cpp
+++++ b/sources/pyside2/libpyside/pysidesignal.cpp
++@@ -726,7 +726,7 @@ static QByteArray buildSignature(const QByteArray &name, const QByteArray &signa
++
++ static QByteArray parseSignature(PyObject *args)
++ {
++- if (args && (Shiboken::String::check(args) || !PySequence_Check(args)))
+++ if (args && (Shiboken::String::check(args) || !PyTuple_Check(args)))
++ return getTypeName(args);
++
++ QByteArray signature;
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Thu, 3 Sep 2020 11:14:55 +0200
++Subject: Stop using imp module
++
++Part of commit e796600c9663a26ccf1929aca8336eb0cb23fe5d.
++---
++ sources/shiboken2/tests/otherbinding/module_reload_test.py | 5 +----
++ 1 file changed, 1 insertion(+), 4 deletions(-)
++
++diff --git a/sources/shiboken2/tests/otherbinding/module_reload_test.py b/sources/shiboken2/tests/otherbinding/module_reload_test.py
++index 368425c..c63af18 100644
++--- a/sources/shiboken2/tests/otherbinding/module_reload_test.py
+++++ b/sources/shiboken2/tests/otherbinding/module_reload_test.py
++@@ -29,6 +29,7 @@
++ ##
++ #############################################################################
++
+++from importlib import reload
++ import os
++ import shutil
++ import sys
++@@ -38,10 +39,6 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
++ from shiboken_paths import init_paths
++ init_paths()
++
++-from py3kcompat import IS_PY3K
++-
++-if IS_PY3K:
++- from imp import reload
++
++ orig_path = os.path.join(os.path.dirname(__file__))
++ workdir = os.getcwd()
--- /dev/null
--- /dev/null
++From: Christian Tismer <tismer@stackless.com>
++Date: Tue, 14 Feb 2023 14:46:22 +0100
++Subject: Support running PySide on Python 3.12
++
++Builtin types no longer have tp_dict set. We need to
++use PyType_GetDict, instead. This works without Limited API
++at the moment.
++
++With some great cheating, this works with Limited API, too.
++We emulate PyType_GetDict by tp_dict if that is not 0.
++Otherwise we create an empty dict.
++
++Some small changes to Exception handling and longer
++warm-up in leaking tests were found, too.
++
++Pick-to: 6.6 6.5 6.2
++Task-number: PYSIDE-2230
++Change-Id: I8a56de6208ec00979255b39b5784dfc9b4b92def
++Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
++(cherry picked from commit 441ffbd4fc622e67acd81e9c1c6d3a0b0fbcacf0)
++---
++ build_scripts/config.py | 3 +-
++ sources/pyside2/PySide2/support/generate_pyi.py | 8 ++++--
++ sources/pyside2/libpyside/feature_select.cpp | 10 ++++---
++ sources/pyside2/libpyside/pysideproperty.cpp | 4 +--
++ sources/pyside2/libpyside/pysidesignal.cpp | 4 +--
++ sources/pyside2/tests/QtWidgets/bug_662.py | 3 +-
++ sources/pyside2/tests/signals/bug_79.py | 5 ++++
++ sources/shiboken2/libshiboken/pep384impl.cpp | 33 ++++++++++++++++++++++
++ sources/shiboken2/libshiboken/pep384impl.h | 8 ++++++
++ .../shiboken2/libshiboken/signature/signature.cpp | 2 +-
++ .../libshiboken/signature/signature_helper.cpp | 6 ++--
++ .../shibokensupport/signature/errorhandler.py | 6 ++++
++ sources/shiboken2/tests/samplebinding/enum_test.py | 2 +-
++ 13 files changed, 78 insertions(+), 16 deletions(-)
++
++diff --git a/build_scripts/config.py b/build_scripts/config.py
++index f2b4c40..5fc23d4 100644
++--- a/build_scripts/config.py
+++++ b/build_scripts/config.py
++@@ -94,7 +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.11',
+++ 'Programming Language :: Python :: 3.12',
++ ]
++
++ self.setup_script_dir = None
++diff --git a/sources/pyside2/PySide2/support/generate_pyi.py b/sources/pyside2/PySide2/support/generate_pyi.py
++index 1956533..fd05b1f 100644
++--- a/sources/pyside2/PySide2/support/generate_pyi.py
+++++ b/sources/pyside2/PySide2/support/generate_pyi.py
++@@ -116,8 +116,12 @@ class Formatter(Writer):
++ """
++ def _typevar__repr__(self):
++ return "typing." + self.__name__
++- typing.TypeVar.__repr__ = _typevar__repr__
++-
+++ # This is no longer necessary for modern typing versions.
+++ # Ignore therefore if the repr is read-only and cannot be changed.
+++ try:
+++ typing.TypeVar.__repr__ = _typevar__repr__
+++ except TypeError:
+++ pass
++ # Adding a pattern to substitute "Union[T, NoneType]" by "Optional[T]"
++ # I tried hard to replace typing.Optional by a simple override, but
++ # this became _way_ too much.
++diff --git a/sources/pyside2/libpyside/feature_select.cpp b/sources/pyside2/libpyside/feature_select.cpp
++index b9e1470..533c09d 100644
++--- a/sources/pyside2/libpyside/feature_select.cpp
+++++ b/sources/pyside2/libpyside/feature_select.cpp
++@@ -358,7 +358,8 @@ static bool SelectFeatureSetSubtype(PyTypeObject *type, PyObject *select_id)
++ * This is the selector for one sublass. We need to call this for
++ * every subclass until no more subclasses or reaching the wanted id.
++ */
++- if (Py_TYPE(type->tp_dict) == Py_TYPE(PyType_Type.tp_dict)) {
+++ static const auto *pyTypeType_tp_dict = PepType_GetDict(&PyType_Type);
+++ if (Py_TYPE(type->tp_dict) == Py_TYPE(pyTypeType_tp_dict)) {
++ // On first touch, we initialize the dynamic naming.
++ // The dict type will be replaced after the first call.
++ if (!replaceClassDict(type)) {
++@@ -385,7 +386,8 @@ static inline PyObject *SelectFeatureSet(PyTypeObject *type)
++ * Generated functions call this directly.
++ * Shiboken will assign it via a public hook of `basewrapper.cpp`.
++ */
++- if (Py_TYPE(type->tp_dict) == Py_TYPE(PyType_Type.tp_dict)) {
+++ static const auto *pyTypeType_tp_dict = PepType_GetDict(&PyType_Type);
+++ if (Py_TYPE(type->tp_dict) == Py_TYPE(pyTypeType_tp_dict)) {
++ // We initialize the dynamic features by using our own dict type.
++ if (!replaceClassDict(type))
++ return nullptr;
++@@ -721,11 +723,11 @@ static bool patch_property_impl()
++ // Turn `__doc__` into a computed attribute without changing writability.
++ auto gsp = property_getset;
++ auto type = &PyProperty_Type;
++- auto dict = type->tp_dict;
+++ AutoDecRef dict(PepType_GetDict(type));
++ AutoDecRef descr(PyDescr_NewGetSet(type, gsp));
++ if (descr.isNull())
++ return false;
++- if (PyDict_SetItemString(dict, gsp->name, descr) < 0)
+++ if (PyDict_SetItemString(dict.object(), gsp->name, descr) < 0)
++ return false;
++ // Replace property_descr_get/set by slightly changed versions
++ return true;
++diff --git a/sources/pyside2/libpyside/pysideproperty.cpp b/sources/pyside2/libpyside/pysideproperty.cpp
++index 86909d3..d2e2c68 100644
++--- a/sources/pyside2/libpyside/pysideproperty.cpp
+++++ b/sources/pyside2/libpyside/pysideproperty.cpp
++@@ -445,8 +445,8 @@ namespace {
++
++ static PyObject *getFromType(PyTypeObject *type, PyObject *name)
++ {
++- PyObject *attr = nullptr;
++- attr = PyDict_GetItem(type->tp_dict, name);
+++ AutoDecRef tpDict(PepType_GetDict(type));
+++ auto *attr = PyDict_GetItem(tpDict.object(), name);
++ if (!attr) {
++ PyObject *bases = type->tp_bases;
++ int size = PyTuple_GET_SIZE(bases);
++diff --git a/sources/pyside2/libpyside/pysidesignal.cpp b/sources/pyside2/libpyside/pysidesignal.cpp
++index 6824a71..f15d7aa 100644
++--- a/sources/pyside2/libpyside/pysidesignal.cpp
+++++ b/sources/pyside2/libpyside/pysidesignal.cpp
++@@ -670,8 +670,8 @@ void updateSourceObject(PyObject *source)
++ Py_ssize_t pos = 0;
++ PyObject *value;
++ PyObject *key;
++-
++- while (PyDict_Next(objType->tp_dict, &pos, &key, &value)) {
+++ Shiboken::AutoDecRef tpDict(PepType_GetDict(objType));
+++ while (PyDict_Next(tpDict, &pos, &key, &value)) {
++ if (PyObject_TypeCheck(value, PySideSignalTypeF())) {
++ Shiboken::AutoDecRef signalInstance(reinterpret_cast<PyObject *>(PyObject_New(PySideSignalInstance, PySideSignalInstanceTypeF())));
++ instanceInitialize(signalInstance.cast<PySideSignalInstance *>(), key, reinterpret_cast<PySideSignal *>(value), source, 0);
++diff --git a/sources/pyside2/tests/QtWidgets/bug_662.py b/sources/pyside2/tests/QtWidgets/bug_662.py
++index 7fb97de..ec0e6f9 100644
++--- a/sources/pyside2/tests/QtWidgets/bug_662.py
+++++ b/sources/pyside2/tests/QtWidgets/bug_662.py
++@@ -40,7 +40,8 @@ from PySide2.QtWidgets import QTextEdit, QApplication
++ import sys
++
++ class testQTextBlock(unittest.TestCase):
++- def tesIterator(self):
+++
+++ def testIterator(self):
++ edit = QTextEdit()
++ cursor = edit.textCursor()
++ fmt = QTextCharFormat()
++diff --git a/sources/pyside2/tests/signals/bug_79.py b/sources/pyside2/tests/signals/bug_79.py
++index ca25fb3..b70c8c5 100644
++--- a/sources/pyside2/tests/signals/bug_79.py
+++++ b/sources/pyside2/tests/signals/bug_79.py
++@@ -60,6 +60,11 @@ class ConnectTest(unittest.TestCase):
++ gc.collect()
++ # if this is no debug build, then we check at least that
++ # we do not crash any longer.
+++ for idx in range(200):
+++ # PYSIDE-2230: Warm-up is necessary before measuring, because
+++ # the code changes the constant parts after some time.
+++ o.selectionModel().destroyed.connect(self.callback)
+++ o.selectionModel().destroyed.disconnect(self.callback)
++ if not skiptest:
++ total = gettotalrefcount()
++ for idx in range(1000):
++diff --git a/sources/shiboken2/libshiboken/pep384impl.cpp b/sources/shiboken2/libshiboken/pep384impl.cpp
++index d12dae3..fed2716 100644
++--- a/sources/shiboken2/libshiboken/pep384impl.cpp
+++++ b/sources/shiboken2/libshiboken/pep384impl.cpp
++@@ -810,6 +810,39 @@ init_PepRuntime()
++ PepRuntime_38_flag = 1;
++ }
++
+++#ifdef Py_LIMITED_API
+++static PyObject *emulatePyType_GetDict(PyTypeObject *type)
+++{
+++ if (_PepRuntimeVersion() < 0x030C00 || type->tp_dict) {
+++ auto *res = type->tp_dict;
+++ Py_XINCREF(res);
+++ return res;
+++ }
+++ // PYSIDE-2230: Here we are really cheating. We don't know how to
+++ // access an internal dict, and so we simply pretend
+++ // it were an empty dict. This works great for our types.
+++ // This was an unexpectedly simple solution :D
+++ return PyDict_New();
+++}
+++#endif
+++
+++// PyType_GetDict: replacement for <static type>.tp_dict, which is
+++// zero for builtin types since 3.12.
+++PyObject *PepType_GetDict(PyTypeObject *type)
+++{
+++#if !defined(Py_LIMITED_API)
+++# if PY_VERSION_HEX >= 0x030C0000
+++ return PyType_GetDict(type);
+++# else
+++ // pre 3.12 fallback code, mimicking the addref-behavior.
+++ Py_XINCREF(type->tp_dict);
+++ return type->tp_dict;
+++# endif
+++#else
+++ return emulatePyType_GetDict(type);
+++#endif // Py_LIMITED_API
+++}
+++
++ /*****************************************************************************
++ *
++ * Module Initialization
++diff --git a/sources/shiboken2/libshiboken/pep384impl.h b/sources/shiboken2/libshiboken/pep384impl.h
++index a870d6b..440784e 100644
++--- a/sources/shiboken2/libshiboken/pep384impl.h
+++++ b/sources/shiboken2/libshiboken/pep384impl.h
++@@ -567,6 +567,14 @@ extern LIBSHIBOKEN_API PyObject *PepMapping_Items(PyObject *o);
++
++ extern LIBSHIBOKEN_API int PepRuntime_38_flag;
++
+++/*****************************************************************************
+++ *
+++ * Runtime support for Python 3.12 incompatibility
+++ *
+++ */
+++
+++LIBSHIBOKEN_API PyObject *PepType_GetDict(PyTypeObject *type);
+++
++ /*****************************************************************************
++ *
++ * Module Initialization
++diff --git a/sources/shiboken2/libshiboken/signature/signature.cpp b/sources/shiboken2/libshiboken/signature/signature.cpp
++index 191af3d..f817e47 100644
++--- a/sources/shiboken2/libshiboken/signature/signature.cpp
+++++ b/sources/shiboken2/libshiboken/signature/signature.cpp
++@@ -482,7 +482,7 @@ static PyObject *adjustFuncName(const char *func_name)
++
++ // Find the feature flags
++ auto type = reinterpret_cast<PyTypeObject *>(obtype.object());
++- auto dict = type->tp_dict;
+++ AutoDecRef dict(PepType_GetDict(type));
++ int id = SbkObjectType_GetReserved(type);
++ id = id < 0 ? 0 : id; // if undefined, set to zero
++ auto lower = id & 0x01;
++diff --git a/sources/shiboken2/libshiboken/signature/signature_helper.cpp b/sources/shiboken2/libshiboken/signature/signature_helper.cpp
++index 0246ec6..05eaa14 100644
++--- a/sources/shiboken2/libshiboken/signature/signature_helper.cpp
+++++ b/sources/shiboken2/libshiboken/signature/signature_helper.cpp
++@@ -105,7 +105,8 @@ int add_more_getsets(PyTypeObject *type, PyGetSetDef *gsp, PyObject **doc_descr)
++ */
++ assert(PyType_Check(type));
++ PyType_Ready(type);
++- PyObject *dict = type->tp_dict;
+++ AutoDecRef tpDict(PepType_GetDict(type));
+++ auto *dict = tpDict.object();
++ for (; gsp->name != nullptr; gsp++) {
++ PyObject *have_descr = PyDict_GetItemString(dict, gsp->name);
++ if (have_descr != nullptr) {
++@@ -346,7 +347,8 @@ static int _build_func_to_type(PyObject *obtype)
++ * We also check for hidden methods, see below.
++ */
++ auto *type = reinterpret_cast<PyTypeObject *>(obtype);
++- PyObject *dict = type->tp_dict;
+++ AutoDecRef tpDict(PepType_GetDict(type));
+++ auto *dict = tpDict.object();
++ PyMethodDef *meth = type->tp_methods;
++
++ if (meth == nullptr)
++diff --git a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/errorhandler.py b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/errorhandler.py
++index 47ab89a..3e1266c 100644
++--- a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/errorhandler.py
+++++ b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/errorhandler.py
++@@ -113,6 +113,12 @@ def seterror_argument(args, func_name, info):
++ msg = "{func_name}(): {info}".format(**locals())
++ err = AttributeError
++ return err, msg
+++ if isinstance(info, Exception):
+++ # PYSIDE-2230: Python 3.12 seems to always do normalization.
+++ err = type(info)
+++ info = info.args[0]
+++ msg = f"{func_name}(): {info}"
+++ return err, msg
++ if info and type(info) is dict:
++ keyword = tuple(info)[0]
++ msg = "{func_name}(): unsupported keyword '{keyword}'".format(**locals())
++diff --git a/sources/shiboken2/tests/samplebinding/enum_test.py b/sources/shiboken2/tests/samplebinding/enum_test.py
++index 0beb720..f2606a4 100644
++--- a/sources/shiboken2/tests/samplebinding/enum_test.py
+++++ b/sources/shiboken2/tests/samplebinding/enum_test.py
++@@ -95,7 +95,7 @@ class EnumTest(unittest.TestCase):
++
++ def testEnumConstructorWithTooManyParameters(self):
++ '''Calling the constructor of non-extensible enum with the wrong number of parameters.'''
++- self.assertRaises(TypeError, SampleNamespace.InValue, 13, 14)
+++ self.assertRaises((TypeError, ValueError), SampleNamespace.InValue, 13, 14)
++
++ def testEnumConstructorWithNonNumberParameter(self):
++ '''Calling the constructor of non-extensible enum with a string.'''
--- /dev/null
--- /dev/null
++From: Sophie Brun <sophie@freexian.com>
++Date: Fri, 22 Nov 2019 13:24:54 +0100
++Subject: Blacklist failing tests
++
++Forwarded:
++https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-1146?filter=allopenissues
++---
++ build_history/blacklist.txt | 11 ++++++++++-
++ 1 file changed, 10 insertions(+), 1 deletion(-)
++
++diff --git a/build_history/blacklist.txt b/build_history/blacklist.txt
++index 827191a..5565cda 100644
++--- a/build_history/blacklist.txt
+++++ b/build_history/blacklist.txt
++@@ -22,6 +22,9 @@
++ linux
++ darwin
++ win32
+++# crash on s390x Debian build, https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-1146
+++[QtCore::qbytearray_test]
+++ linux
++ [QtGui::qmatrix_test]
++ win32
++ [QtWidgets::bug_576]
++@@ -64,8 +67,9 @@
++ py2 win32
++ [QtQml::qquickitem_grabToImage]
++ darwin
+++# Fails on armel, not reproducible on a porter box.
++ [smart::smart_pointer]
++- py2
+++ linux
++ # PYSIDE-474
++ [QtWebEngineWidgets::pyside-474-qtwebengineview]
++ py2
++@@ -83,6 +87,9 @@
++ win32
++ linux
++ darwin
+++# crash on s390x Debian build, https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-1146
+++[QtQml::qquickitem_grabToImage]
+++ linux
++ # In addition to a pre-existing windows failure,
++ # qtlocation/ac899dcc40bb3ad09307583fb7e6befd45a77b33 / QTBUG-66304 introduced
++ # a failure in 5.14
++@@ -91,7 +98,9 @@
++ linux
++ darwin
++ # Open GL functions failures on macOS (2/2020)
+++# Python 3.12 considers it a failure when no tests are run
++ [registry::existence_test]
+++ linux
++ darwin
++ # Incomplehensible effect with feature switching on 3.6, qApp.process_events()
++ [QtCore::feature_with_uic_test]
--- /dev/null
--- /dev/null
++From: Sophie Brun <sophie@freexian.com>
++Date: Tue, 5 Nov 2019 10:39:14 +0100
++Subject: Fix spelling errors
++
++Last-Update: 2018-07-12
++---
++ sources/pyside2/libpyside/pysideproperty.cpp | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/sources/pyside2/libpyside/pysideproperty.cpp b/sources/pyside2/libpyside/pysideproperty.cpp
++index 0d0957f..86909d3 100644
++--- a/sources/pyside2/libpyside/pysideproperty.cpp
+++++ b/sources/pyside2/libpyside/pysideproperty.cpp
++@@ -519,7 +519,7 @@ int setValue(PySideProperty *self, PyObject *source, PyObject *value)
++ Shiboken::AutoDecRef result(PyObject_CallObject(fdel, args));
++ return (result.isNull() ? -1 : 0);
++ }
++- PyErr_SetString(PyExc_AttributeError, "Attibute read only");
+++ PyErr_SetString(PyExc_AttributeError, "Attribute read only");
++ return -1;
++ }
++
--- /dev/null
--- /dev/null
++update-sip-import.patch
++fix-spelling-errors.patch
++blacklist-failing-tests.patch
++test-with-current-interpreter.patch
++Shiboken-Fix-the-oldest-shiboken-bug-ever.patch
++PyEnum-make-forgiving-duplicates-work-with-Python-3.11.patch
++Python-3.12-Fix-the-structure-of-class-property.patch
++Support-running-PySide-on-Python-3.12.patch
++Final-details-to-enable-3.12-wheel-compatibility.patch
++Stop-using-imp-module.patch
++Do-not-change-RPATH.patch
++shiboken2-clang-Fix-clashes-between-type-name-and-enumera.patch
++shiboken2-clang-Fix-and-simplify-resolveType-helper.patch
++shiboken2-clang-Remove-typedef-expansion.patch
++shiboken2-clang-Fix-build-with-clang-16.patch
++shiboken2-clang-Record-scope-resolution-of-arguments-func.patch
++shiboken2-clang-Suppress-class-scope-look-up-for-paramete.patch
++shiboken2-clang-Write-scope-resolution-for-all-parameters.patch
++Modify-sendCommand-signatures.patch
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Tue, 25 Apr 2023 10:00:39 +0200
++Subject: shiboken2/clang: Fix and simplify resolveType() helper
++
++The function had a bug which only manifested with clang 16:
++"type" should have been assigned the type of the cursor
++obtained from clang_getTypeDeclaration(). With this, the complicated
++lookup code in getBaseClass() can be removed.
++
++Task-number: PYSIDE-2288
++Pick-to: 6.5
++Change-Id: I861e30451b3f4af2ec0c2e4ffa4179a429854533
++Reviewed-by: Christian Tismer <tismer@stackless.com>
++Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
++---
++ .../ApiExtractor/clangparser/clangbuilder.cpp | 39 ++++++++++------------
++ 1 file changed, 18 insertions(+), 21 deletions(-)
++
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++index e8e5bcf..1b4c81c 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++@@ -627,6 +627,9 @@ long clang_EnumDecl_isScoped4(BaseVisitor *bv, const CXCursor &cursor)
++ #endif // CLANG_NO_ENUMDECL_ISSCOPED
++
++ // Resolve declaration and type of a base class
+++// Note: TypeAliasTemplateDecl ("using QVector<T>=QList<T>") is automatically
+++// resolved by clang_getTypeDeclaration(), but it stops at
+++// TypeAliasDecl / TypedefDecl.
++
++ struct TypeDeclaration
++ {
++@@ -634,19 +637,23 @@ struct TypeDeclaration
++ CXCursor declaration;
++ };
++
+++static inline bool isTypeAliasDecl(const CXCursor &cursor)
+++{
+++ const auto kind = clang_getCursorKind(cursor);
+++ return kind == CXCursor_TypeAliasDecl || kind == CXCursor_TypedefDecl;
+++}
+++
++ static TypeDeclaration resolveBaseSpecifier(const CXCursor &cursor)
++ {
++ Q_ASSERT(clang_getCursorKind(cursor) == CXCursor_CXXBaseSpecifier);
++ CXType inheritedType = clang_getCursorType(cursor);
++ CXCursor decl = clang_getTypeDeclaration(inheritedType);
++- if (inheritedType.kind != CXType_Unexposed) {
++- while (true) {
++- auto kind = clang_getCursorKind(decl);
++- if (kind != CXCursor_TypeAliasDecl && kind != CXCursor_TypedefDecl)
++- break;
++- inheritedType = clang_getTypedefDeclUnderlyingType(decl);
++- decl = clang_getTypeDeclaration(inheritedType);
++- }
+++ auto resolvedType = clang_getCursorType(decl);
+++ if (resolvedType.kind != CXType_Invalid && resolvedType.kind != inheritedType.kind)
+++ inheritedType = resolvedType;
+++ while (isTypeAliasDecl(decl)) {
+++ inheritedType = clang_getTypedefDeclUnderlyingType(decl);
+++ decl = clang_getTypeDeclaration(inheritedType);
++ }
++ return {inheritedType, decl};
++ }
++@@ -656,20 +663,10 @@ void BuilderPrivate::addBaseClass(const CXCursor &cursor)
++ {
++ Q_ASSERT(clang_getCursorKind(cursor) == CXCursor_CXXBaseSpecifier);
++ // Note: spelling has "struct baseClass", use type
++- QString baseClassName;
++ const auto decl = resolveBaseSpecifier(cursor);
++- if (decl.type.kind == CXType_Unexposed) {
++- // The type is unexposed when the base class is a template type alias:
++- // "class QItemSelection : public QList<X>" where QList is aliased to QVector.
++- // Try to resolve via code model.
++- TypeInfo info = createTypeInfo(decl.type);
++- auto parentScope = m_scopeStack.at(m_scopeStack.size() - 2); // Current is class.
++- auto resolved = TypeInfo::resolveType(info, parentScope);
++- if (resolved != info)
++- baseClassName = resolved.toString();
++- }
++- if (baseClassName.isEmpty())
++- baseClassName = getTypeName(decl.type);
+++ QString baseClassName = getTypeName(decl.type);
+++ if (baseClassName.startsWith(u"std::")) // Simplify "std::" types
+++ baseClassName = createTypeInfo(decl.type).toString();
++
++ auto it = m_cursorClassHash.constFind(decl.declaration);
++ const CodeModel::AccessPolicy access = accessPolicy(clang_getCXXAccessSpecifier(cursor));
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Tue, 25 Apr 2023 14:01:45 +0200
++Subject: shiboken2/clang: Fix build with clang 16
++
++clang 16 returns more elaborated types instead of fully qualified type
++names. Qualify elaborated types when retrieving the type name.
++
++[ChangeLog][shiboken6] Support for libclang version 16 has been added.
++
++Task-number: PYSIDE-2288
++Pick-to: 6.5 5.15
++Change-Id: Ibd428280180967f11d82a72159e744c016afc927
++Reviewed-by: Christian Tismer <tismer@stackless.com>
++(cherry picked from commit 44ef1859214c66861a251d4a0faf5c38dc050850)
++---
++ .../ApiExtractor/clangparser/clangbuilder.cpp | 2 +-
++ .../ApiExtractor/clangparser/clangutils.cpp | 23 ++++++++++++++++++++++
++ .../ApiExtractor/clangparser/clangutils.h | 1 +
++ .../shiboken2/ApiExtractor/tests/testtemplates.cpp | 3 +--
++ 4 files changed, 26 insertions(+), 3 deletions(-)
++
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++index 332f1da..ed1e15d 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++@@ -524,7 +524,7 @@ TypeInfo BuilderPrivate::createTypeInfoHelper(const CXType &type) const
++ typeInfo.setConstant(clang_isConstQualifiedType(nestedType) != 0);
++ typeInfo.setVolatile(clang_isVolatileQualifiedType(nestedType) != 0);
++
++- QString typeName = getTypeName(nestedType);
+++ QString typeName = getResolvedTypeName(nestedType);
++ while (TypeInfo::stripLeadingConst(&typeName)
++ || TypeInfo::stripLeadingVolatile(&typeName)) {
++ }
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp
++index 57271ef..295ede3 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp
++@@ -130,6 +130,23 @@ QString getCursorDisplayName(const CXCursor &cursor)
++ return result;
++ }
++
+++static inline bool isBuiltinType(CXTypeKind kind)
+++{
+++ return kind >= CXType_FirstBuiltin && kind <= CXType_LastBuiltin;
+++}
+++
+++// Resolve elaborated types occurring with clang 16
+++static CXType resolveType(const CXType &type)
+++{
+++ if (!isBuiltinType(type.kind)) {
+++ CXCursor decl = clang_getTypeDeclaration(type);
+++ auto resolvedType = clang_getCursorType(decl);
+++ if (resolvedType.kind != CXType_Invalid && resolvedType.kind != type.kind)
+++ return resolvedType;
+++ }
+++ return type;
+++}
+++
++ QString getTypeName(const CXType &type)
++ {
++ CXString typeSpelling = clang_getTypeSpelling(type);
++@@ -138,6 +155,12 @@ QString getTypeName(const CXType &type)
++ return result;
++ }
++
+++// Resolve elaborated types occurring with clang 16
+++QString getResolvedTypeName(const CXType &type)
+++{
+++ return getTypeName(resolveType(type));
+++}
+++
++ Diagnostic::Diagnostic(const QString &m, const CXCursor &c, CXDiagnosticSeverity s)
++ : message(m), source(Other), severity(s)
++ {
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangutils.h b/sources/shiboken2/ApiExtractor/clangparser/clangutils.h
++index f7c230a..aacaf63 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangutils.h
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangutils.h
++@@ -52,6 +52,7 @@ QString getCursorKindName(CXCursorKind cursorKind);
++ QString getCursorSpelling(const CXCursor &cursor);
++ QString getCursorDisplayName(const CXCursor &cursor);
++ QString getTypeName(const CXType &type);
+++QString getResolvedTypeName(const CXType &type);
++ inline QString getCursorTypeName(const CXCursor &cursor)
++ { return getTypeName(clang_getCursorType(cursor)); }
++ inline QString getCursorResultTypeName(const CXCursor &cursor)
++diff --git a/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp b/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp
++index 9f929c4..fbc5c4c 100644
++--- a/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp
+++++ b/sources/shiboken2/ApiExtractor/tests/testtemplates.cpp
++@@ -236,7 +236,6 @@ struct List {
++ const AbstractMetaFunction *erase = list->findFunction(QStringLiteral("erase"));
++ QVERIFY(erase);
++ QCOMPARE(erase->arguments().size(), 1);
++- QEXPECT_FAIL("", "Clang: Some other code changes the parameter type", Abort);
++ QCOMPARE(erase->arguments().at(0)->type()->cppSignature(), QLatin1String("List::Iterator"));
++ }
++
++@@ -389,7 +388,7 @@ typedef BaseTemplateClass<TypeOne> TypeOneClass;
++ const ComplexTypeEntry* oneType = one->typeEntry();
++ const ComplexTypeEntry* baseType = base->typeEntry();
++ QCOMPARE(oneType->baseContainerType(), baseType);
++- QCOMPARE(one->baseClassNames(), QStringList(QLatin1String("BaseTemplateClass<TypeOne>")));
+++ QCOMPARE(one->baseClassNames(), QStringList(QLatin1String("NSpace::BaseTemplateClass<NSpace::TypeOne>")));
++
++ QVERIFY(one->hasTemplateBaseClassInstantiations());
++ AbstractMetaTypeList instantiations = one->templateBaseClassInstantiations();
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Tue, 25 Apr 2023 15:30:30 +0200
++Subject: shiboken2/clang: Fix clashes between type name and enumeration
++ values
++
++Remove all constant and enum value type entries found in the type lookup
++unless it is looking for template arguments; where it may be a
++non-type template argument.
++
++Task-number: PYSIDE-2288
++Pick-to: 6.5 5.15
++Change-Id: If0609ce0d0223f551ed6dee1d1e0ea3ef49d6917
++Reviewed-by: Christian Tismer <tismer@stackless.com>
++(cherry picked from commit e22f717153a5e9855531f45c0bf82ff2461a3f7e)
++---
++ .../shiboken2/ApiExtractor/abstractmetabuilder.cpp | 21 +++++++++++++++++++--
++ .../shiboken2/ApiExtractor/abstractmetabuilder.h | 3 ++-
++ .../shiboken2/ApiExtractor/typesystem_typedefs.h | 1 +
++ 3 files changed, 22 insertions(+), 3 deletions(-)
++
++diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp
++index 5a413ec..2f34e16 100644
++--- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp
+++++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp
++@@ -2144,6 +2144,13 @@ static bool isNumber(const QString &s)
++ [](QChar c) { return c.isDigit(); });
++ }
++
+++// A type entry relevant only for non type template "X<5>"
+++static bool isNonTypeTemplateArgument(const TypeEntryCPtr &te)
+++{
+++ const auto type = te->type();
+++ return type == TypeEntry::EnumValue || type == TypeEntry::ConstantValueType;
+++}
+++
++ AbstractMetaType *AbstractMetaBuilderPrivate::translateTypeStatic(const TypeInfo &_typei,
++ AbstractMetaClass *currentClass,
++ AbstractMetaBuilderPrivate *d,
++@@ -2271,7 +2278,15 @@ AbstractMetaType *AbstractMetaBuilderPrivate::translateTypeStatic(const TypeInfo
++ typeInfo.clearInstantiations();
++ }
++
++- const TypeEntries types = findTypeEntries(qualifiedName, name, currentClass, d);
+++ TypeEntries types = findTypeEntries(qualifiedName, name, currentClass, d);
+++ if (!flags.testFlag(AbstractMetaBuilder::TemplateArgument)) {
+++ // Avoid clashes between QByteArray and enum value QMetaType::QByteArray
+++ // unless we are looking for template arguments.
+++ auto end = std::remove_if(types.begin(), types.end(),
+++ isNonTypeTemplateArgument);
+++ types.erase(end, types.end());
+++ }
+++
++ if (types.isEmpty()) {
++ if (errorMessageIn) {
++ *errorMessageIn =
++@@ -2293,7 +2308,9 @@ AbstractMetaType *AbstractMetaBuilderPrivate::translateTypeStatic(const TypeInfo
++ const auto &templateArguments = typeInfo.instantiations();
++ for (int t = 0, size = templateArguments.size(); t < size; ++t) {
++ const TypeInfo &ti = templateArguments.at(t);
++- AbstractMetaType *targType = translateTypeStatic(ti, currentClass, d, flags, &errorMessage);
+++ AbstractMetaType *targType = translateTypeStatic(ti, currentClass, d,
+++ flags | AbstractMetaBuilder::TemplateArgument,
+++ &errorMessage);
++ // For non-type template parameters, create a dummy type entry on the fly
++ // as is done for classes.
++ if (!targType) {
++diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.h b/sources/shiboken2/ApiExtractor/abstractmetabuilder.h
++index d2dc080..8916eaf 100644
++--- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.h
+++++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.h
++@@ -93,7 +93,8 @@ public:
++ void setSkipDeprecated(bool value);
++
++ enum TranslateTypeFlag {
++- DontResolveType = 0x1
+++ DontResolveType = 0x1,
+++ TemplateArgument = 0x2
++ };
++ Q_DECLARE_FLAGS(TranslateTypeFlags, TranslateTypeFlag);
++
++diff --git a/sources/shiboken2/ApiExtractor/typesystem_typedefs.h b/sources/shiboken2/ApiExtractor/typesystem_typedefs.h
++index 73f92b2..5dcc65c 100644
++--- a/sources/shiboken2/ApiExtractor/typesystem_typedefs.h
+++++ b/sources/shiboken2/ApiExtractor/typesystem_typedefs.h
++@@ -48,6 +48,7 @@ using CodeSnipList = QVector<CodeSnip>;
++ using DocModificationList = QVector<DocModification>;
++ using FieldModificationList = QVector<FieldModification>;
++ using FunctionModificationList = QVector<FunctionModification>;
+++using TypeEntryCPtr = const TypeEntry *;
++ using TypeEntries = QVector<const TypeEntry *>;
++
++ #endif // TYPESYSTEM_TYPEDEFS_H
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Thu, 27 Apr 2023 12:44:10 +0200
++Subject: shiboken2/clang: Record scope resolution of arguments/function
++ return
++
++Add a flag indicating whether a type was specified with a leading "::"
++(scope resolution). Such parameters previously caused the function to
++rejected due to the "::TypeName" not being found. The type resolution
++added for clang 16 strips these qualifiers though, so, the information
++needs to be stored.
++
++Task-number: PYSIDE-2288
++Pick-to: 6.5 5.15
++Change-Id: I27d27c94ec43bcc4cb3b79e6e9ce6706c749a1e9
++Reviewed-by: Christian Tismer <tismer@stackless.com>
++(cherry picked from commit 075d8ad4660f05e6d2583ff1c05e9987ad624bfe)
++---
++ .../ApiExtractor/clangparser/clangbuilder.cpp | 8 ++++++--
++ .../ApiExtractor/clangparser/clangutils.cpp | 11 ++++++++++
++ .../ApiExtractor/clangparser/clangutils.h | 1 +
++ .../shiboken2/ApiExtractor/parser/codemodel.cpp | 24 ++++++++++++++++++++++
++ sources/shiboken2/ApiExtractor/parser/codemodel.h | 8 ++++++++
++ 5 files changed, 50 insertions(+), 2 deletions(-)
++
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++index ed1e15d..1b5cc5c 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++@@ -294,7 +294,9 @@ FunctionModelItem BuilderPrivate::createFunction(const CXCursor &cursor,
++ name = fixTypeName(name);
++ FunctionModelItem result(new _FunctionModelItem(m_model, name));
++ setFileName(cursor, result.data());
++- result->setType(createTypeInfoHelper(clang_getCursorResultType(cursor)));
+++ const auto type = clang_getCursorResultType(cursor);
+++ result->setType(createTypeInfoHelper(type));
+++ result->setScopeResolution(hasScopeResolution(type));
++ result->setFunctionType(t);
++ result->setScope(m_scope);
++ result->setStatic(clang_Cursor_getStorageClass(cursor) == CX_SC_Static);
++@@ -1031,7 +1033,9 @@ BaseVisitor::StartTokenResult Builder::startToken(const CXCursor &cursor)
++ if (d->m_currentArgument.isNull() && !d->m_currentFunction.isNull()) {
++ const QString name = getCursorSpelling(cursor);
++ d->m_currentArgument.reset(new _ArgumentModelItem(d->m_model, name));
++- d->m_currentArgument->setType(d->createTypeInfo(cursor));
+++ const auto type = clang_getCursorType(cursor);
+++ d->m_currentArgument->setScopeResolution(hasScopeResolution(type));
+++ d->m_currentArgument->setType(d->createTypeInfo(type));
++ d->m_currentFunction->addArgument(d->m_currentArgument);
++ QString defaultValueExpression = d->cursorValueExpression(this, cursor);
++ if (!defaultValueExpression.isEmpty()) {
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp
++index 295ede3..ec6d228 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangutils.cpp
++@@ -155,6 +155,17 @@ QString getTypeName(const CXType &type)
++ return result;
++ }
++
+++// Quick check for "::Type"
+++bool hasScopeResolution(const CXType &type)
+++{
+++ CXString typeSpelling = clang_getTypeSpelling(type);
+++ const QString spelling = QString::fromUtf8(clang_getCString(typeSpelling));
+++ const bool result = spelling.startsWith(QLatin1String("::"))
+++ || spelling.contains(QLatin1String(" ::"));
+++ clang_disposeString(typeSpelling);
+++ return result;
+++}
+++
++ // Resolve elaborated types occurring with clang 16
++ QString getResolvedTypeName(const CXType &type)
++ {
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangutils.h b/sources/shiboken2/ApiExtractor/clangparser/clangutils.h
++index aacaf63..33f362c 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangutils.h
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangutils.h
++@@ -52,6 +52,7 @@ QString getCursorKindName(CXCursorKind cursorKind);
++ QString getCursorSpelling(const CXCursor &cursor);
++ QString getCursorDisplayName(const CXCursor &cursor);
++ QString getTypeName(const CXType &type);
+++bool hasScopeResolution(const CXType &type);
++ QString getResolvedTypeName(const CXType &type);
++ inline QString getCursorTypeName(const CXCursor &cursor)
++ { return getTypeName(clang_getCursorType(cursor)); }
++diff --git a/sources/shiboken2/ApiExtractor/parser/codemodel.cpp b/sources/shiboken2/ApiExtractor/parser/codemodel.cpp
++index dea0812..ba07a01 100644
++--- a/sources/shiboken2/ApiExtractor/parser/codemodel.cpp
+++++ b/sources/shiboken2/ApiExtractor/parser/codemodel.cpp
++@@ -1121,11 +1121,23 @@ void _ArgumentModelItem::setDefaultValue(bool defaultValue)
++ m_defaultValue = defaultValue;
++ }
++
+++bool _ArgumentModelItem::scopeResolution() const
+++{
+++ return m_scopeResolution;
+++}
+++
+++void _ArgumentModelItem::setScopeResolution(bool v)
+++{
+++ m_scopeResolution = v;
+++}
+++
++ #ifndef QT_NO_DEBUG_STREAM
++ void _ArgumentModelItem::formatDebug(QDebug &d) const
++ {
++ _CodeModelItem::formatDebug(d);
++ d << ", type=" << m_type;
+++ if (m_scopeResolution)
+++ d << ", [m_scope resolution]";
++ if (m_defaultValue)
++ d << ", defaultValue=\"" << m_defaultValueExpression << '"';
++ }
++@@ -1200,6 +1212,16 @@ void _FunctionModelItem::setVariadics(bool isVariadics)
++ m_isVariadics = isVariadics;
++ }
++
+++bool _FunctionModelItem::scopeResolution() const
+++{
+++ return m_scopeResolution;
+++}
+++
+++void _FunctionModelItem::setScopeResolution(bool v)
+++{
+++ m_scopeResolution = v;
+++}
+++
++ bool _FunctionModelItem::isNoExcept() const
++ {
++ return m_exceptionSpecification == ExceptionSpecification::NoExcept;
++@@ -1343,6 +1365,8 @@ void _FunctionModelItem::formatDebug(QDebug &d) const
++ d << " [explicit]";
++ if (m_isInvokable)
++ d << " [invokable]";
+++ if (m_scopeResolution)
+++ d << " [scope resolution]";
++ formatModelItemList(d, ", arguments=", m_arguments);
++ if (m_isVariadics)
++ d << ",...";
++diff --git a/sources/shiboken2/ApiExtractor/parser/codemodel.h b/sources/shiboken2/ApiExtractor/parser/codemodel.h
++index b990ad9..85f298c 100644
++--- a/sources/shiboken2/ApiExtractor/parser/codemodel.h
+++++ b/sources/shiboken2/ApiExtractor/parser/codemodel.h
++@@ -499,6 +499,10 @@ public:
++ QString defaultValueExpression() const { return m_defaultValueExpression; }
++ void setDefaultValueExpression(const QString &expr) { m_defaultValueExpression = expr; }
++
+++ // Argument type has scope resolution "::ArgumentType"
+++ bool scopeResolution() const;
+++ void setScopeResolution(bool v);
+++
++ #ifndef QT_NO_DEBUG_STREAM
++ void formatDebug(QDebug &d) const override;
++ #endif
++@@ -507,6 +511,7 @@ private:
++ TypeInfo m_type;
++ QString m_defaultValueExpression;
++ bool m_defaultValue = false;
+++ bool m_scopeResolution = false;
++ };
++
++ class _MemberModelItem: public _CodeModelItem
++@@ -623,6 +628,8 @@ public:
++ bool isVariadics() const;
++ void setVariadics(bool isVariadics);
++
+++ bool scopeResolution() const; // Return type has scope resolution "::ReturnType"
+++ void setScopeResolution(bool v);
++
++ bool isSimilar(const FunctionModelItem &other) const;
++
++@@ -652,6 +659,7 @@ private:
++ uint m_isExplicit: 1;
++ uint m_isVariadics: 1;
++ uint m_isInvokable : 1; // Qt
+++ uint m_scopeResolution: 1;
++ };
++ uint m_flags;
++ };
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Thu, 20 Apr 2023 11:16:15 +0200
++Subject: shiboken2/clang: Remove typedef expansion
++
++The functionality will be re-added by a subsequent change
++expanding elaborated types.
++
++Task-number: PYSIDE-2288
++Pick-to: 6.5 5.15
++Change-Id: I3245c6dccba7de0ed1ce0e7820e1edb4567ca3c2
++Reviewed-by: Christian Tismer <tismer@stackless.com>
++(cherry picked from commit 24742dca014109bd3c2a9775fc15ca306ab22c9c)
++---
++ .../ApiExtractor/clangparser/clangbuilder.cpp | 39 ----------------------
++ 1 file changed, 39 deletions(-)
++
++diff --git a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++index 1b4c81c..332f1da 100644
++--- a/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
+++++ b/sources/shiboken2/ApiExtractor/clangparser/clangbuilder.cpp
++@@ -140,7 +140,6 @@ static bool isSigned(CXTypeKind kind)
++ class BuilderPrivate {
++ public:
++ using CursorClassHash = QHash<CXCursor, ClassModelItem>;
++- using CursorTypedefHash = QHash<CXCursor, TypeDefModelItem>;
++ using TypeInfoHash = QHash<CXType, TypeInfo>;
++
++ explicit BuilderPrivate(BaseVisitor *bv) : m_baseVisitor(bv), m_model(new CodeModel)
++@@ -197,9 +196,6 @@ public:
++ QString cursorValueExpression(BaseVisitor *bv, const CXCursor &cursor) const;
++ void addBaseClass(const CXCursor &cursor);
++
++- template <class Item>
++- void qualifyTypeDef(const CXCursor &typeRefCursor, const QSharedPointer<Item> &item) const;
++-
++ bool visitHeader(const char *cFileName) const;
++
++ void setFileName(const CXCursor &cursor, _CodeModelItem *item);
++@@ -213,7 +209,6 @@ public:
++ // classes can be correctly parented in case of forward-declared inner classes
++ // (QMetaObject::Connection)
++ CursorClassHash m_cursorClassHash;
++- CursorTypedefHash m_cursorTypedefHash;
++
++ mutable TypeInfoHash m_typeInfoHash; // Cache type information
++ mutable QHash<QString, TemplateTypeAliasModelItem> m_templateTypeAliases;
++@@ -561,7 +556,6 @@ void BuilderPrivate::addTypeDef(const CXCursor &cursor, const CXType &cxType)
++ item->setType(createTypeInfo(cxType));
++ item->setScope(m_scope);
++ m_scopeStack.back()->addTypeDef(item);
++- m_cursorTypedefHash.insert(cursor, item);
++ }
++
++ void BuilderPrivate::startTemplateTypeAlias(const CXCursor &cursor)
++@@ -703,31 +697,6 @@ static inline CXCursor definitionFromTypeRef(const CXCursor &typeRefCursor)
++ return clang_getTypeDeclaration(clang_getCursorType(typeRefCursor));
++ }
++
++-// Qualify function arguments or fields that are typedef'ed from another scope:
++-// enum ConversionFlag {};
++-// typedef QFlags<ConversionFlag> ConversionFlags;
++-// class QTextCodec {
++-// enum ConversionFlag {};
++-// typedef QFlags<ConversionFlag> ConversionFlags;
++-// struct ConverterState {
++-// explicit ConverterState(ConversionFlags);
++-// ^^ qualify to QTextCodec::ConversionFlags
++-// ConversionFlags m_flags;
++-// ^^ ditto
++-
++-template <class Item> // ArgumentModelItem, VariableModelItem
++-void BuilderPrivate::qualifyTypeDef(const CXCursor &typeRefCursor, const QSharedPointer<Item> &item) const
++-{
++- TypeInfo type = item->type();
++- if (type.qualifiedName().size() == 1) { // item's type is unqualified.
++- const auto it = m_cursorTypedefHash.constFind(definitionFromTypeRef(typeRefCursor));
++- if (it != m_cursorTypedefHash.constEnd() && !it.value()->scope().isEmpty()) {
++- type.setQualifiedName(it.value()->scope() + type.qualifiedName());
++- item->setType(type);
++- }
++- }
++-}
++-
++ void BuilderPrivate::setFileName(const CXCursor &cursor, _CodeModelItem *item)
++ {
++ const SourceRange range = getCursorRange(cursor);
++@@ -1120,14 +1089,6 @@ BaseVisitor::StartTokenResult Builder::startToken(const CXCursor &cursor)
++ }
++ break;
++ case CXCursor_TypeRef:
++- if (!d->m_currentFunction.isNull()) {
++- if (d->m_currentArgument.isNull())
++- d->qualifyTypeDef(cursor, d->m_currentFunction); // return type
++- else
++- d->qualifyTypeDef(cursor, d->m_currentArgument);
++- } else if (!d->m_currentField.isNull()) {
++- d->qualifyTypeDef(cursor, d->m_currentField);
++- }
++ break;
++ case CXCursor_CXXFinalAttr:
++ if (!d->m_currentFunction.isNull())
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Thu, 27 Apr 2023 13:00:37 +0200
++Subject: shiboken2/clang: Suppress class scope look up for parameters with
++ scope resolution
++
++Add a flag to AbstractMetaBuilderPrivate::findTypeEntriesHelper()
++to suppress the class scope look in case scope resolution.
++
++Task-number: PYSIDE-2288
++Pick-to: 6.5 5.15
++Change-Id: I04a4810d03845fb48393c5efed3641220bd12d87
++Reviewed-by: Christian Tismer <tismer@stackless.com>
++---
++ sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp | 16 ++++++++++++----
++ sources/shiboken2/ApiExtractor/abstractmetabuilder.h | 3 ++-
++ sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h | 1 +
++ 3 files changed, 15 insertions(+), 5 deletions(-)
++
++diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp
++index 2f34e16..4bf4ab4 100644
++--- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp
+++++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp
++@@ -1845,7 +1845,10 @@ AbstractMetaFunction *AbstractMetaBuilderPrivate::traverseFunction(const Functio
++ return nullptr;
++ }
++
++- AbstractMetaType *type = translateType(returnType, currentClass, {}, &errorMessage);
+++ TranslateTypeFlags flags;
+++ if (functionItem->scopeResolution())
+++ flags.setFlag(AbstractMetaBuilder::NoClassScopeLookup);
+++ AbstractMetaType *type = translateType(returnType, currentClass, flags, &errorMessage);
++ if (!type) {
++ const QString reason = msgUnmatchedReturnType(functionItem, errorMessage);
++ qCWarning(lcShiboken, "%s",
++@@ -1880,7 +1883,10 @@ AbstractMetaFunction *AbstractMetaBuilderPrivate::traverseFunction(const Functio
++ return nullptr;
++ }
++
++- AbstractMetaType *metaType = translateType(arg->type(), currentClass, {}, &errorMessage);
+++ TranslateTypeFlags flags;
+++ if (arg->scopeResolution())
+++ flags.setFlag(AbstractMetaBuilder::NoClassScopeLookup);
+++ AbstractMetaType *metaType = translateType(arg->type(), currentClass, flags, &errorMessage);
++ if (!metaType) {
++ // If an invalid argument has a default value, simply remove it
++ // unless the function is virtual (since the override in the
++@@ -2073,11 +2079,13 @@ static const TypeEntry* findTypeEntryUsingContext(const AbstractMetaClass* metaC
++ // Helper for translateTypeStatic()
++ TypeEntries AbstractMetaBuilderPrivate::findTypeEntries(const QString &qualifiedName,
++ const QString &name,
+++ TranslateTypeFlags flags,
++ AbstractMetaClass *currentClass,
++ AbstractMetaBuilderPrivate *d)
++ {
++ // 5.1 - Try first using the current scope
++- if (currentClass) {
+++ if (currentClass != nullptr
+++ && !flags.testFlag(AbstractMetaBuilder::NoClassScopeLookup)) {
++ if (auto type = findTypeEntryUsingContext(currentClass, qualifiedName))
++ return {type};
++
++@@ -2278,7 +2286,7 @@ AbstractMetaType *AbstractMetaBuilderPrivate::translateTypeStatic(const TypeInfo
++ typeInfo.clearInstantiations();
++ }
++
++- TypeEntries types = findTypeEntries(qualifiedName, name, currentClass, d);
+++ TypeEntries types = findTypeEntries(qualifiedName, name, flags, currentClass, d);
++ if (!flags.testFlag(AbstractMetaBuilder::TemplateArgument)) {
++ // Avoid clashes between QByteArray and enum value QMetaType::QByteArray
++ // unless we are looking for template arguments.
++diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.h b/sources/shiboken2/ApiExtractor/abstractmetabuilder.h
++index 8916eaf..f333ad5 100644
++--- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.h
+++++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.h
++@@ -94,7 +94,8 @@ public:
++
++ enum TranslateTypeFlag {
++ DontResolveType = 0x1,
++- TemplateArgument = 0x2
+++ TemplateArgument = 0x2,
+++ NoClassScopeLookup = 0x4
++ };
++ Q_DECLARE_FLAGS(TranslateTypeFlags, TranslateTypeFlag);
++
++diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h b/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
++index 8468950..8ddd369 100644
++--- a/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
+++++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
++@@ -154,6 +154,7 @@ public:
++ TranslateTypeFlags flags = {},
++ QString *errorMessageIn = nullptr);
++ static TypeEntries findTypeEntries(const QString &qualifiedName, const QString &name,
+++ TranslateTypeFlags flags = {},
++ AbstractMetaClass *currentClass = nullptr,
++ AbstractMetaBuilderPrivate *d = nullptr);
++
--- /dev/null
--- /dev/null
++From: Friedemann Kleint <Friedemann.Kleint@qt.io>
++Date: Thu, 27 Apr 2023 12:18:39 +0200
++Subject: shiboken2/clang: Write scope resolution for all parameters of native
++ wrappers
++
++Make sure types are correct for cases like:
++
++- QtDBusHelper::QDBusReply::QDBusReply(::QDBusReply<void>)
++- Qt3DInput*Event constructors taking the equivalent QtGui classes
++ (Qt3DInput::QMouseEvent(::QMouseEvent *);
++
++[ChangeLog][shiboken6] Support for parameters/function return
++types with scope resolution has been improved.
++
++Fixes: PYSIDE-2288
++Pick-to: 6.5 5.15
++Change-Id: Id29758fceb88188f4cd834fbd5a7cc0ab511fb1a
++Reviewed-by: Christian Tismer <tismer@stackless.com>
++(cherry picked from commit dd863857436bbeeba4c0a1077f5ad16653296277)
++---
++ sources/shiboken2/generator/generator.cpp | 24 +++++++++++++-----------
++ 1 file changed, 13 insertions(+), 11 deletions(-)
++
++diff --git a/sources/shiboken2/generator/generator.cpp b/sources/shiboken2/generator/generator.cpp
++index 6028282..6147b8a 100644
++--- a/sources/shiboken2/generator/generator.cpp
+++++ b/sources/shiboken2/generator/generator.cpp
++@@ -899,21 +899,23 @@ QString Generator::translateType(const AbstractMetaType *cType,
++ if (index >= (s.size() - (constLen + 1))) // (VarType const) or (VarType const[*|&])
++ s = s.remove(index, constLen);
++ }
++- } else if (options & Generator::ExcludeConst || options & Generator::ExcludeReference) {
+++ } else {
++ AbstractMetaType *copyType = cType->copy();
+++ if (options & Generator::ExcludeConst || options & Generator::ExcludeReference) {
+++ if (options & Generator::ExcludeConst)
+++ copyType->setConstant(false);
++
++- if (options & Generator::ExcludeConst)
++- copyType->setConstant(false);
++-
++- if (options & Generator::ExcludeReference)
++- copyType->setReferenceType(NoReference);
++-
+++ if (options & Generator::ExcludeReference)
+++ copyType->setReferenceType(NoReference);
+++ }
++ s = copyType->cppSignature();
++- if (!copyType->typeEntry()->isVoid() && !copyType->typeEntry()->isCppPrimitive())
++- s.prepend(QLatin1String("::"));
+++ const auto te = copyType->typeEntry();
+++ if (!te->isVoid() && !te->isCppPrimitive()) { // Add scope resolution
+++ const auto pos = s.indexOf(te->qualifiedCppName()); // Skip const/volatile
+++ Q_ASSERT(pos >= 0);
+++ s.insert(pos, QLatin1String("::"));
+++ }
++ delete copyType;
++- } else {
++- s = cType->cppSignature();
++ }
++ }
++
--- /dev/null
--- /dev/null
++From: Dmitry Shachnev <mitya57@debian.org>
++Date: Sun, 14 Nov 2021 21:08:50 +0300
++Subject: Find the build directory matching the current interpreter
++
++This is needed to allow us to run tests with all supported Python versions.
++Without this patch, the latest build directory will be always picked, no
++matter what the current interpreter is.
++---
++ testing/buildlog.py | 5 +++++
++ 1 file changed, 5 insertions(+)
++
++diff --git a/testing/buildlog.py b/testing/buildlog.py
++index 216282b..5d3aa1f 100644
++--- a/testing/buildlog.py
+++++ b/testing/buildlog.py
++@@ -94,6 +94,11 @@ class BuildLog(object):
++ """.format(fpath)))
++ sys.exit(1)
++
+++ # We need to find the build directory for the current interpreter
+++ py_version = "{}.{}".format(sys.version_info[0], sys.version_info[1])
+++ if py_version not in build_classifiers:
+++ continue
+++
++ if not os.path.exists(build_dir):
++ rel_dir, low_part = os.path.split(build_dir)
++ rel_dir, two_part = os.path.split(rel_dir)
--- /dev/null
--- /dev/null
++Description: Update import of PyQt5 private sip module and remove Python 2/PyQt4 setapi calls
++Author: Kurt Kremitzki <kkremitzki@debian.org>
++Last-Updated: 2020-12-20
++
++--- a/sources/pyside2/tests/tools/list-class-hierarchy.py
+++++ b/sources/pyside2/tests/tools/list-class-hierarchy.py
++@@ -96,14 +96,10 @@
++ for l in libraries:
++ dictionary = []
++ if l =="PyQt5":
++- import sip
++- sip.setapi('QDate',2)
++- sip.setapi('QDateTime',2)
++- sip.setapi('QString',2)
++- sip.setapi('QTextStream',2)
++- sip.setapi('QTime',2)
++- sip.setapi('QUrl',2)
++- sip.setapi('QVariant',2)
+++ try:
+++ from PyQt5 import sip
+++ except ModuleNotFoundError:
+++ import sip
++
++ for m in modules:
++ exec("from %s import %s" % (l,m), globals(), locals())
--- /dev/null
--- /dev/null
++pyside3_install/py3.*/bin/pyside2-* usr/bin
--- /dev/null
--- /dev/null
++pyside3_install/py3*/share/man/man1/pyside2-*
++
--- /dev/null
--- /dev/null
++README.md
++README.pyside2.md
++README.shiboken2.md
--- /dev/null
--- /dev/null
++examples/*
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/Qt3DAnimation.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/Qt3DCore.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/Qt3DExtras.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/Qt3DInput.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/Qt3DLogic.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/Qt3DRender.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtCharts.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtConcurrent.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtCore.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtDataVisualization.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtGui.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtHelp.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtLocation.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtMultimedia.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtMultimediaWidgets.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtNetwork.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtOpenGL.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtOpenGLFunctions.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtPositioning.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtPrintSupport.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtQml.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtQuick.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtQuickControls2.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtQuickWidgets.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtRemoteObjects.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtScript.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtScriptTools.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtScxml.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtSensors.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtSerialPort.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtSql.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtSvg.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtTest.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtTextToSpeech.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtUiTools.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtWebChannel.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtWebEngine.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtWebEngineCore.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtWebEngineWidgets.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtWebSockets.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtWidgets.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtX11Extras.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtXml.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++pyside3_install/py*-relwithdebinfo/lib/python3*/site-packages/PySide2/QtXmlPatterns.*.so usr/lib/python3/dist-packages/PySide2
--- /dev/null
--- /dev/null
++#!/usr/bin/make -f
++
++include /usr/share/dpkg/default.mk
++
++# Safety measure to ensure package names match SONAMEs
++PYSIDE_MAJOR := $(shell echo $(DEB_VERSION_UPSTREAM) | cut -d. -f1-2)
++ifeq ($(shell awk '/Package:/ {print $$2}' debian/control | grep -- '-$(PYSIDE_MAJOR)\(t64\)\?$$'),)
++ $(error Please update package names for major version $(PYSIDE_MAJOR))
++endif
++ifeq ($(shell ls debian/lib* | grep -- -$(PYSIDE_MAJOR)),)
++ $(error Please update files debian/lib*.* for major version $(PYSIDE_MAJOR))
++endif
++ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
++ OPTION_JOBS = --parallel=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
++endif
++
++export PYBUILD_NAME=pyside2
++export PYBUILD_SYSTEM=distutils
++export PYBUILD_BUILD_ARGS=--relwithdebinfo --verbose-build --no-examples --build-tests --doc-build-online --ignore-git $(OPTION_JOBS)
++
++export MAIN_VERSION_UPSTREAM := $(shell echo $(DEB_VERSION_UPSTREAM))
++export DEB_BUILD_MAINT_OPTIONS = hardening=+all
++# Add CPPFLAGS to CXXFLAGS as CMake ignores CPPFLAGS by default
++CXXFLAGS+=$(CPPFLAGS)
++
++# Work around buildd bug (https://bugs.debian.org/842565)
++undefine XDG_RUNTIME_DIR
++
++%:
++ dh $@ --with python3,sphinxdoc --buildsystem=pybuild
++
++override_dh_auto_install:
++ # Don't use pybuild install process, we take over this step to
++ # split files in the way we want it. But we echo the list of files
++ # built to make it easier to update *.install files.
++ echo ">>> In pyside*_{package,install}"
++ -find pyside*_install pyside*_build
++
++override_dh_makeshlibs:
++ dh_makeshlibs -VUpstream-Version
++
++override_dh_install-indep:
++ dh_install -X.doctrees
++
++override_dh_install-arch:
++ dh_install
++ # remove RUNPATH setup in shiboken2
++ chrpath -d debian/shiboken2/usr/bin/shiboken2
++ # change the library path in pkg-info/*.pc and in *.cmake files:
++ # during the build the path is setup to the build dir
++ # /build/pyside2* (required to find lib during the build) but it's
++ # not what we need
++ debian/set-paths
++
++override_dh_auto_test:
++ifeq (mips64el,$(DEB_HOST_ARCH))
++ # See https://bugs.debian.org/868745, https://bugs.debian.org/1061679
++ -QSG_NO_DEPTH_BUFFER=1 xvfb-run -a dh_auto_test -- --system=custom \
++ --test-args '{interpreter} testrunner.py test'
++else
++ xvfb-run -a dh_auto_test -- --system=custom \
++ --test-args '{interpreter} testrunner.py test'
++endif
--- /dev/null
--- /dev/null
++#!/bin/sh
++
++# Replace build directory value by install directory value
++package="libshiboken2-dev"
++for directory in "cmake/Shiboken2-$MAIN_VERSION_UPSTREAM" "pkgconfig"; do
++ sed -i "s|build.*relwithdebinfo/lib|usr/lib/$DEB_HOST_MULTIARCH|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|build.*relwithdebinfo|usr|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|\${PACKAGE_PREFIX_DIR}|/usr|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|\${_IMPORT_PREFIX}/lib|\${_IMPORT_PREFIX}/$DEB_HOST_MULTIARCH|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|\${_IMPORT_PREFIX}/include|\${_IMPORT_PREFIX}/../include|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|libshiboken2.*\.so|libshiboken2\${PYTHON_CONFIG_SUFFIX}.so|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/Shiboken2Targets-*.cmake;
++done
++
++package="libpyside2-dev"
++for directory in "pkgconfig" "cmake/PySide2-$MAIN_VERSION_UPSTREAM"; do
++ sed -i "s|build.*relwithdebinfo/lib|usr/lib/$DEB_HOST_MULTIARCH|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|build.*relwithdebinfo|usr|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|\${PACKAGE_PREFIX_DIR}|/usr|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|\${_IMPORT_PREFIX}/lib|\${_IMPORT_PREFIX}/$DEB_HOST_MULTIARCH|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|\${_IMPORT_PREFIX}/include|\${_IMPORT_PREFIX}/../include|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
++ sed -i "s|libpyside2.*\.so|libpyside2\${PYTHON_CONFIG_SUFFIX}.so|" \
++ debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/PySide2Targets-*.cmake;
++done
++
++# Set correctly the python path for pyside2 (Python3)
++sed -i "s|^set_and_check(PYSIDE_PYTHONPATH.*|set_and_check(PYSIDE_PYTHONPATH \"/usr/lib/python3/dist-packages/PySide2\")|" \
++ debian/libpyside2-dev/usr/lib/$DEB_HOST_MULTIARCH/cmake/PySide2-$MAIN_VERSION_UPSTREAM/PySide2Config.cpython-3*-$DEB_HOST_MULTIARCH.cmake
++
++# Set correctly the python path for shiboken2 (Python3)
++sed -i "s|^set_and_check(SHIBOKEN_PYTHON_MODULE_DIR.*|set_and_check(SHIBOKEN_PYTHON_MODULE_DIR \"/usr/lib/python3/dist-packages/shiboken2\")|" \
++ debian/libshiboken2-dev/usr/lib/$DEB_HOST_MULTIARCH/cmake/Shiboken2-$MAIN_VERSION_UPSTREAM/Shiboken2Config.cpython-3*-$DEB_HOST_MULTIARCH.cmake
--- /dev/null
--- /dev/null
++pyside3_build/py3*-relwithdebinfo/shiboken2/doc/html
--- /dev/null
--- /dev/null
++pyside3_install/py3*-relwithdebinfo/bin/shiboken2 usr/bin
--- /dev/null
--- /dev/null
++3.0 (quilt)
--- /dev/null
--- /dev/null
++extend-diff-ignore = "^[^/]*[.]egg-info/"
--- /dev/null
--- /dev/null
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtcore PySide2.QtCore
++Depends: python3-pyside2.qtcore, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtwidgets PySide2.QtWidgets
++Depends: python3-pyside2.qtwidgets, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qt3drender PySide2.Qt3DRender
++Depends: python3-pyside2.qt3drender, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtquick PySide2.QtQuick
++Depends: python3-pyside2.qtquick, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtquickcontrols2 PySide2.QtQuickControls2
++Depends: python3-pyside2.qtquickcontrols2, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtpositioning PySide2.QtPositioning
++Depends: python3-pyside2.qtpositioning, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtremoteobjects PySide2.QtRemoteObjects
++Depends: python3-pyside2.qtremoteobjects, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtx11extras PySide2.QtX11Extras
++Depends: python3-pyside2.qtx11extras, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtqml PySide2.QtQml
++Depends: python3-pyside2.qtqml, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtwebenginecore PySide2.QtWebEngineCore
++Depends: python3-pyside2.qtwebenginecore, python3
++Restrictions: allow-stderr, superficial
++Architecture: amd64 arm64 armhf i386 mips64el
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qttexttospeech PySide2.QtTextToSpeech
++Depends: python3-pyside2.qttexttospeech, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qthelp PySide2.QtHelp
++Depends: python3-pyside2.qthelp, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtscripttools PySide2.QtScriptTools
++Depends: python3-pyside2.qtscripttools, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtnetwork PySide2.QtNetwork
++Depends: python3-pyside2.qtnetwork, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtmultimediawidgets PySide2.QtMultimediaWidgets
++Depends: python3-pyside2.qtmultimediawidgets, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtlocation PySide2.QtLocation
++Depends: python3-pyside2.qtlocation, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qt3dlogic PySide2.Qt3DLogic
++Depends: python3-pyside2.qt3dlogic, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtsensors PySide2.QtSensors
++Depends: python3-pyside2.qtsensors, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtserialport PySide2.QtSerialPort
++Depends: python3-pyside2.qtserialport, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtmultimedia PySide2.QtMultimedia
++Depends: python3-pyside2.qtmultimedia, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtscript PySide2.QtScript
++Depends: python3-pyside2.qtscript, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtwebchannel PySide2.QtWebChannel
++Depends: python3-pyside2.qtwebchannel, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtprintsupport PySide2.QtPrintSupport
++Depends: python3-pyside2.qtprintsupport, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtquickwidgets PySide2.QtQuickWidgets
++Depends: python3-pyside2.qtquickwidgets, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qt3dinput PySide2.Qt3DInput
++Depends: python3-pyside2.qt3dinput, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtxml PySide2.QtXml
++Depends: python3-pyside2.qtxml, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qttest PySide2.QtTest
++Depends: python3-pyside2.qttest, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtwebenginewidgets PySide2.QtWebEngineWidgets
++Depends: python3-pyside2.qtwebenginewidgets, python3
++Restrictions: allow-stderr, superficial
++Architecture: amd64 arm64 armhf i386 mips64el
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtconcurrent PySide2.QtConcurrent
++Depends: python3-pyside2.qtconcurrent, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtxmlpatterns PySide2.QtXmlPatterns
++Depends: python3-pyside2.qtxmlpatterns, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtcharts PySide2.QtCharts
++Depends: python3-pyside2.qtcharts, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtuitools PySide2.QtUiTools
++Depends: python3-pyside2.qtuitools, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtopengl PySide2.QtOpenGL
++Depends: python3-pyside2.qtopengl, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qt3danimation PySide2.Qt3DAnimation
++Depends: python3-pyside2.qt3danimation, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qt3dcore PySide2.Qt3DCore
++Depends: python3-pyside2.qt3dcore, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qt3dextras PySide2.Qt3DExtras
++Depends: python3-pyside2.qt3dextras, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtsql PySide2.QtSql
++Depends: python3-pyside2.qtsql, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtgui PySide2.QtGui
++Depends: python3-pyside2.qtgui, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtsvg PySide2.QtSvg
++Depends: python3-pyside2.qtsvg, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtwebsockets PySide2.QtWebSockets
++Depends: python3-pyside2.qtwebsockets, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtdatavisualization PySide2.QtDataVisualization
++Depends: python3-pyside2.qtdatavisualization, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtopenglfunctions PySide2.QtOpenGLFunctions
++Depends: python3-pyside2.qtopenglfunctions, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtscxml PySide2.QtScxml
++Depends: python3-pyside2.qtscxml, python3
++Restrictions: allow-stderr, superficial
++
++Test-Command: debian/tests/test_install_python3.sh python3-pyside2.qtwebengine PySide2.QtWebEngine
++Depends: python3-pyside2.qtwebengine, python3
++Restrictions: allow-stderr, superficial
++Architecture: amd64 arm64 armhf i386 mips64el
--- /dev/null
--- /dev/null
++#!/bin/sh
++
++# Remove debian/tests/control
++rm -f debian/tests/control
++
++# Create the basic (import) test for Python 3 modules
++for binary_package in $(dh_listpackages|grep "python3-pyside2.qt"); do
++ module_name=$(echo $binary_package|awk -F. '{print $2}')
++ # find import_name
++ import_name=$(find sources/pyside2/PySide2/ -maxdepth 1 -type d| xargs -n 1 basename|grep -i ^$module_name$)
++ echo "Test-Command: debian/tests/test_install_python3.sh $binary_package PySide2.$import_name
++Depends: $binary_package, python3
++Restrictions: allow-stderr, superficial" >>debian/tests/control
++ architecture=$(sed -n "/^Package: ${binary_package}$/{n; p}" debian/control)
++ if [ "$architecture" != 'Architecture: any' ]; then
++ echo "$architecture" >>debian/tests/control
++ fi
++ echo "" >>debian/tests/control
++done
++
++sed -i '$d' debian/tests/control
--- /dev/null
--- /dev/null
++#!/bin/sh
++
++set -e
++
++echo "Testing python3 package $1"
++for py in $(py3versions -d 2>/dev/null) ; do
++ cd "$AUTOPKGTEST_TMP" ;
++ echo "Testing with $py:" ;
++ $py -c "import $2; print($2)" ;
++done
--- /dev/null
--- /dev/null
++version=4
++https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-([\d\.]+)-src/ pyside-setup-.*-src-@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate