commit 9a9aa5b767568f63d0205fbfb84de47dbef42326 Author: Adrian Schröter Date: Tue Dec 19 15:20:50 2023 +0100 Sync from SUSE:ALP:Source:Standard:1.0 python-qt5 revision 6157b748a99b041d3caff66244cb214c diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch b/0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch new file mode 100644 index 0000000..72e8215 --- /dev/null +++ b/0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch @@ -0,0 +1,123 @@ +From 90b1d19e4a65b1490f4ea277d81cbc96bcaa4c4d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Sun, 16 Feb 2020 18:00:54 +0100 +Subject: [PATCH] Use a noarch wrapper for dbus mainloop integration + +python-dbus installs in a noarch directory by default, so it not a +suitable place for the binary module. + +Install the binary module to the same directory as all other binary +modules, and just install a small wrapper for dbus.mainloop.pyqt5. +--- + configure.py | 11 +++++++++-- + dbus/dbus.cpp | 8 ++++---- + dbus/pyqt5.py | 5 +++++ + project.py | 6 ++++++ + 4 files changed, 24 insertions(+), 6 deletions(-) + create mode 100644 dbus/pyqt5.py + +Index: PyQt5-5.15.1/configure.py +=================================================================== +--- PyQt5-5.15.1.orig/configure.py ++++ PyQt5-5.15.1/configure.py +@@ -58,7 +58,7 @@ class ModuleMetadata: + # The module meta-data. + MODULE_METADATA = { + 'dbus': ModuleMetadata(qmake_QT=['-gui'], +- qmake_TARGET='pyqt5'), ++ qmake_TARGET='dbus_mainloop'), + 'QAxContainer': ModuleMetadata(qmake_QT=['axcontainer']), + 'Qt': ModuleMetadata(qmake_QT=['-core', '-gui']), + 'QtAndroidExtras': ModuleMetadata(qmake_QT=['androidextras']), +@@ -1674,7 +1674,6 @@ del find_qt + + generate_module_makefile(target_config, verbose, mname, + include_paths=target_config.dbus_inc_dirs, libs=libs, +- install_path=target_config.pydbus_module_dir, + src_dir=sp_src_dir) + + subdirs.append(mname) +@@ -1704,6 +1703,14 @@ INSTALLS += init_py + + all_installs.append(root_dir + '/__init__.py') + ++ # Install the dbus mainloop wrapper. ++ if target_config.pydbus_module_dir != '': ++ out_f.write(''' ++mainloop_wrapper.files = %s ++mainloop_wrapper.path = %s ++INSTALLS += mainloop_wrapper ++''' % (source_path('dbus', 'pyqt5.py'), target_config.pydbus_module_dir)) ++ + # Install the uic module. + out_f.write(''' + uic_package.files = %s +Index: PyQt5-5.15.1/dbus/dbus.cpp +=================================================================== +--- PyQt5-5.15.1.orig/dbus/dbus.cpp ++++ PyQt5-5.15.1/dbus/dbus.cpp +@@ -405,11 +405,11 @@ static PyMethodDef module_functions[] = + + // The module entry point. + #if PY_MAJOR_VERSION >= 3 +-PyMODINIT_FUNC PyInit_pyqt5() ++PyMODINIT_FUNC PyInit_dbus_mainloop() + { + static PyModuleDef module_def = { + PyModuleDef_HEAD_INIT, +- "pyqt5", ++ "dbus_mainloop", + NULL, + -1, + module_functions, +@@ -422,12 +422,12 @@ PyMODINIT_FUNC PyInit_pyqt5() + return PyModule_Create(&module_def); + } + #else +-PyMODINIT_FUNC initpyqt5() ++PyMODINIT_FUNC initdbus_mainloop() + { + // Import the generic part of the Python DBus bindings. + if (import_dbus_bindings("dbus.mainloop.pyqt5") < 0) + return; + +- Py_InitModule("pyqt5", module_functions); ++ Py_InitModule("dbus_mainloop", module_functions); + } + #endif +Index: PyQt5-5.15.1/dbus/pyqt5.py +=================================================================== +--- /dev/null ++++ PyQt5-5.15.1/dbus/pyqt5.py +@@ -0,0 +1,5 @@ ++"""Qt main loop integration using "python-qt5""" ++ ++__all__ = ('DBusQtMainLoop', ) ++ ++from PyQt5.dbus_mainloop import DBusQtMainLoop +Index: PyQt5-5.15.1/project.py +=================================================================== +--- PyQt5-5.15.1.orig/project.py ++++ PyQt5-5.15.1/project.py +@@ -290,7 +290,7 @@ del find_qt + # Create the buildable. + sources_dir = os.path.join(self.root_dir, 'dbus') + +- buildable = BuildableModule(self, 'dbus', 'dbus.mainloop.pyqt5', ++ buildable = BuildableModule(self, 'dbus', 'PyQt5.dbus_mainloop', + uses_limited_api=True) + buildable.builder_settings.append('QT -= gui') + buildable.sources.extend(glob.glob(os.path.join(sources_dir, '*.cpp'))) +@@ -300,6 +300,12 @@ del find_qt + buildable.libraries.extend(dbus_libs) + buildable.debug = debug + ++ installable = Installable('pyqt5', target_subdir=dbus_module_dir) ++ installable.files.append( ++ os.path.join(self.root_dir, 'dbus', ++ 'pyqt5.py')) ++ self.installables.append(installable) ++ + self.buildables.append(buildable) + + def _add_plugin(self, name, user_name, target_name, target_subdir, debug): diff --git a/PyQt5-5.15.10.tar.gz b/PyQt5-5.15.10.tar.gz new file mode 100644 index 0000000..6dea8f9 --- /dev/null +++ b/PyQt5-5.15.10.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d46b7804b1b10a4ff91753f8113e5b5580d2b4462f3226288e2d84497334898a +size 3242654 diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..922e6dc --- /dev/null +++ b/_constraints @@ -0,0 +1,7 @@ + + + + 12 + + + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..ccce4a9 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + nonring-extras + diff --git a/disable-rpaths.diff b/disable-rpaths.diff new file mode 100644 index 0000000..79fdcef --- /dev/null +++ b/disable-rpaths.diff @@ -0,0 +1,10 @@ +Index: PyQt5_gpl-5.12/designer/designer.pro-in +=================================================================== +--- PyQt5_gpl-5.12.orig/designer/designer.pro-in ++++ PyQt5_gpl-5.12/designer/designer.pro-in +@@ -1,4 +1,5 @@ + CONFIG += plugin @QTCONFIG@ warn_on ++CONFIG -= rpath_libdirs + QT += designer + + # Work around QTBUG-39300. diff --git a/python-qt5-rpmlintrc b/python-qt5-rpmlintrc new file mode 100644 index 0000000..2b2ce52 --- /dev/null +++ b/python-qt5-rpmlintrc @@ -0,0 +1,6 @@ +# rpmlint thinks this has to be /etc/alternatives/PyQt5, +# but we use pyqt5-sip as slave link name +addFilter("alternative-link-missing /etc/alternatives/PyQt5") +# rpmlint does not consider the Python/SIP internals. +# similar to https://github.com/rpm-software-management/rpmlint/issues/361 +addFilter("shared-library-without-dependency-information .*Qt.abi3.so") diff --git a/python-qt5.changes b/python-qt5.changes new file mode 100644 index 0000000..5997b68 --- /dev/null +++ b/python-qt5.changes @@ -0,0 +1,970 @@ +------------------------------------------------------------------- +Sun Oct 15 13:57:31 UTC 2023 - Ben Greiner + +- Update to 5.15.10 + * Added the missing QEvent.Type.NativeGesture member (Qt v5.2 and + later). + * Added the missing QEvent.Type.EnterEditFocus and + QEvent.Type.LeaveEditFocus members. + * PyQt5-sip v12.13 is now required for Python v3.12 support. + * Bug fixes. + +------------------------------------------------------------------- +Mon Jun 26 12:04:36 UTC 2023 - Hans-Peter Jansen + +- Fix shell stubs of pyuic5 pylupdate5 pyrcc5 in order to run the + correct interpreter + +------------------------------------------------------------------- +Sat Jun 10 09:36:20 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Thu Feb 9 10:17:53 UTC 2023 - Ben Greiner + +- Update to v5.15.9 + * Fix the order in which modules are built so that the composite + Qt module is built after everything it depends on. + +------------------------------------------------------------------- +Sun Jan 29 19:45:58 UTC 2023 - Ben Greiner + +- Update to 5.15.8 + * Added the missing QLocale.Language.NigerianPidgin member (Qt + v5.15.2 and later). + * Added the missing QOperatingSystemVersion.MacOSBigSure + attribute (Qt v5.15.1 and later). + * Added the missing QThreadPool.contains() method (Qt v5.15.1 and + later). + * Added the missing + QBluetoothDeviceDiscoveryAgent.DiscoveryMethod members. + * Bug fixes. + +------------------------------------------------------------------- +Tue Jun 21 10:20:23 UTC 2022 - Ben Greiner + +- Update to 5.15.7 + * Refactored the draw methods of QPainter to accept sip.array + objects of appropriate types. Such arrays, once initialised, + can be used very efficiently as they do not require repeated + conversion from the usual Python collection types. + * Added the missing QBluetoothUuid constructors. + * PyQt5-sip v12.11 is now required to enable support for + sip.array. + * Bug fixes. +- PyQt5-sip 12.11 does not support Python 3.6: No build for SLE or + Leap 15.x anymore! + +------------------------------------------------------------------- +Thu Dec 23 09:09:08 UTC 2021 - Dominique Leuenberger + +- Fix dependencies of python-qt5-remoteobjects: do not require all + python flavors (i.e. avoid requires python_module). + +------------------------------------------------------------------- +Thu Nov 4 10:07:17 UTC 2021 - Ben Greiner + +- Remove py_ssize_t_clean argument from QtCoremod.sip in order to + make downstream packages buildable with sip < 6.4 -- boo#1192300 + +------------------------------------------------------------------- +Wed Nov 3 14:18:07 UTC 2021 - Ben Greiner + +- Don't require python-sip-devel for python-qt5-devel. The project + building against PyQt should explicitly know about the proper + requirement. -- boo#1192300 + +------------------------------------------------------------------- +Fri Oct 29 15:16:55 UTC 2021 - Ben Greiner + +- Update to 5.15.6 + * Bug fixes + * affecting source builds for Python 3.10 + * minor improvements to the QObject type hints + +------------------------------------------------------------------- +Tue Oct 19 08:54:16 UTC 2021 - Ben Greiner + +- Update to v5.15.5 + * Added the missing QPdfWriter.setPageSize() overload. + * pylupdate5 now assumes that the default codec is UTF-8 and + specified v2.1 + as the .ts file format. + * Bug fixes. +- Silence some rpmlint errors + +------------------------------------------------------------------- +Tue Jul 6 11:51:07 UTC 2021 - Ben Greiner + +- remove the noop %requires_ge libqt5-x11 + +------------------------------------------------------------------- +Wed Apr 14 08:29:39 UTC 2021 - Christophe Giboudeaux + +- Remove the QtWebKit dependency everywhere. + The QtWebKit module was abandoned upstream years ago and the + community fork didn't get far. The only package that had a + dependency on qtwebkit bindings (spyder) was fixed. + +------------------------------------------------------------------- +Thu Mar 11 19:28:26 UTC 2021 - Ben Greiner + +- Update to version 5.15.4 + * Packaging bug fixes. +- Fixes problems with packages checking the package metadata like + boo#1183144 + +------------------------------------------------------------------- +Thu Feb 25 11:56:07 UTC 2021 - Ben Greiner + +- Update to version 5.15.3 + * Added the missing QImage.setAlphaChannel(). + * Support for the QtNetworkAuth library has been moved to a + separate PyQtNetworkAuth package. + * Bug fixes. +- Disable the build for SIPv4 and Python2. It does not build + anymore. According to upstream, the change was not intentional, + albeit SIP v4 is not officially supported anymore. We use this + opportunity to ditch the old cruft. Moves the SLE/Leap builds + to SIP v5. +- Remove unused QtWebEngine libraries from build system. Those are + handled in the python-qtwebengine-qt5 package. + +------------------------------------------------------------------- +Tue Feb 23 11:23:24 UTC 2021 - Benjamin Greiner + +- Remove the unnecessary strict binary compatibility requirement + for PyQt5.sip: python-sip[56]-devel will not runtime require any + PyQt[56].sip module anymore and the %requires_eq would do nothing + because the package is not installed. + +------------------------------------------------------------------- +Mon Feb 22 11:29:04 UTC 2021 - Benjamin Greiner + +- Some rpmlint runs were complaining that the PyQt5 dir was not + also owned by the nonring extra packages + +------------------------------------------------------------------- +Tue Dec 29 14:32:12 UTC 2020 - Benjamin Greiner + +- Mark the package as typed for mypy deb#978586 + +------------------------------------------------------------------- +Tue Nov 24 15:09:44 UTC 2020 - Benjamin Greiner + +- Update to version 5.15.2 + * Bound signals are now hashable. +- Drop patches merged upstream + * pyqt5-customaudio-qt511.patch + * pyqt5-signals-hashable.patch + +------------------------------------------------------------------- +Tue Nov 17 13:02:10 UTC 2020 - Benjamin Greiner + +- Fix boo#1178814: migration of old /usr/share/sip/PyQt5 to + update-alternatives needs special treatment +- add QtRemoteObjects bindings to nonring build + +------------------------------------------------------------------- +Wed Oct 7 15:13:41 UTC 2020 - Benjamin Greiner + +- disable _quick3d flavors in staging through ringdisabled + +------------------------------------------------------------------- +Sat Oct 3 17:55:30 UTC 2020 - Benjamin Greiner + +- enable python2 Quick3D package for Leaps in new multibuild flavor + +------------------------------------------------------------------- +Sat Oct 3 17:02:43 UTC 2020 - Benjamin Greiner + +- Fix pyi stub installation for Quick3D subpackage on sip4 builds + +------------------------------------------------------------------- +Fri Oct 2 21:31:32 UTC 2020 - Benjamin Greiner + +- Outsource to Quick3D subpackage for sip5 too + +------------------------------------------------------------------- +Fri Oct 2 11:13:14 UTC 2020 - Benjamin Greiner + +- Build Quick3D extension in separate package + * This keeps the dependency tree in staging smaller. (Requested + by Factory maintainers.) + * Is simply unresolvable for repositores which don't have + Quick3d but can still build the other extensions. +- Clean alternatives setup: Make use of %python_clone macro. + +------------------------------------------------------------------- +Sat Sep 26 18:25:32 UTC 2020 - Benjamin Greiner + +- Build Quick3D support in every repository that has it: presumably + all Qt 5.15 repositories + +------------------------------------------------------------------- +Sat Sep 26 14:26:13 UTC 2020 - Hans-Peter Jansen + +- Qt5Quick3D is not available on Leaps + +------------------------------------------------------------------- +Sat Sep 26 12:28:17 UTC 2020 - Benjamin Greiner + +- Add missing Quick3D and TextToSpeech build requirements + +------------------------------------------------------------------- +Sat Sep 26 11:44:26 UTC 2020 - Benjamin Greiner + +- New upstream patch pyqt5-customaudio-qt511.patch + * versionize QCustomAudioRoleControl for older Leaps + * https://www.riverbankcomputing.com/pipermail/pyqt/2020-September/043241.html +- Updated patch pyqt5-signals-hashable.patch + * Fix typedef for old python versions + * Patch is submitted to the PyQt5 mailing list + +------------------------------------------------------------------- +Sat Sep 19 15:10:22 UTC 2020 - Benjamin Greiner + +- Fix qtbot failures pyqt5-signals-hashable.patch, see + * https://www.riverbankcomputing.com/pipermail/pyqt/2020-September/043160.html + * gh#pytest-dev/pytest-qt#316 + +------------------------------------------------------------------- +Mon Sep 14 17:14:16 UTC 2020 - Benjamin Greiner + +- Use sip5 where possible +- Remove multibuild, use python singlespec. + +------------------------------------------------------------------- +Mon Sep 14 15:41:28 UTC 2020 - Benjamin Greiner + +- Update to Version 5.15.1 + * Added the QtTextToSpeech module. + * None is now interpreted as a null QJsonValue. + * Bound signals can now be compared for equality. + * Q_CLASSINFO, Q_ENUM, Q_ENUMS, Q_FLAG and Q_FLAGS are not + implemented when using PyPy. +- Drop update-timeline.patch once more. Nobody is using + nonexistent tags. +- 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch + * another fix for the project.py for sip5 builds + +------------------------------------------------------------------- +Sun Aug 30 21:48:00 UTC 2020 - Benjamin Greiner + +- Fix 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch + * Variable project is undefined. root_dir is attribute of self. + * This is a preparation for sip5 usage + +------------------------------------------------------------------- +Sat Aug 29 08:12:55 UTC 2020 - Christophe Giboudeaux + +- Update update-timeline.patch + +------------------------------------------------------------------- +Thu Aug 27 18:31:41 UTC 2020 - Benjamin Greiner + +- Update to 5.15.0 + * Added support for Qt v5.15.0. + * Added the QtQuick3D module. + * Added a callStaticMethod() overload to QAndroidJniObject that + takes a QJsonDocument as the method argument and returns another + QJsonDocument. + * Added the missing QMultimedia control classes. + * pyuic5 now supports QUndoView. +- v5.14.2 3rd April 2020 + * Added the missing QTextCodec.convertFromUnicode(). + * Added the OpenGL ES bindings. + * Added QFlags.__index__(). +- v5.14.1 6th January 2020 + * This is a bug fix release. +- v5.14.0 18th December 2019 + * Added support for Qt v5.14.0. +- Source URL moved to PyPI +- refresh 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch + +------------------------------------------------------------------- +Fri Mar 13 12:39:14 UTC 2020 - Christophe Giboudeaux + +- Stop building python2-qt5 for openSUSE Tumbleweed. + +------------------------------------------------------------------- +Sun Feb 16 17:04:29 UTC 2020 - Stefan Brüns + +- Fix dbus mainloop integration, install a noarch wrapper in + the dbus/mainloop module path, and move the implementation + alongside the other binary modules. bnc#1163755, bnc#1163763. + * 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch + +------------------------------------------------------------------- +Sat Feb 1 21:11:44 UTC 2020 - Stefan Brüns + +- Disable debug assertions, e.g. Cura passes None for empty dicts and + crashes when trying to convert to QVariantMap, fixes boo#1157504. +- Split python2 and python3 builds using _multibuild. +- Rename python-qt5-utils package to python-qt5-common-devel to + better reflect its use, and drop the dependencies to it from the + bindings package. +- Make doc and common-devel subpackages noarch. +- Adjust _constraints, build requires 5 GByte disk space regardless + of architecture. +- Fix install location of binary dbus-mainloop integration module. + +------------------------------------------------------------------- +Fri Dec 6 20:17:33 UTC 2019 - Christophe Giboudeaux + +- Update to 5.13.2 + * pyuic now handles QKeySequenceEdit + * The new on-exit scheme now ignores running QThreads + * Added the missing pos() and two setPos() overloads to QCursor + * A QVariant for a pointer to an instance of unknown type will now be + converted to a voidptr object +- Update the package description +- Drop add-qkeysequenceedit-to-uic.patch. Merged upstream +- Update update-timeline.patch + +------------------------------------------------------------------- +Thu Sep 26 09:42:49 UTC 2019 - Michel Normand + +- Add _constraints file for ppc64/ppc64le to avoid build failure + on power8-06 that ran out of disk space + +------------------------------------------------------------------- +Fri Sep 20 11:32:57 UTC 2019 - Christophe Giboudeaux + +- Update to 5.13.1. Check the ChangeLog file for the list of changes + +------------------------------------------------------------------- +Fri Sep 13 09:28:36 UTC 2019 - Michel Normand + +- Add %dir plugindir/designer for %{python_files devel} in spec + to avoid build error for PowerPC. + +------------------------------------------------------------------- +Wed Sep 11 14:51:41 UTC 2019 - Hans-Peter Jansen + +- Add patch to support QKeySequenceEdit widgets in pyuic: + add-qkeysequenceedit-to-uic.patch + +------------------------------------------------------------------- +Fri Jul 12 09:58:02 UTC 2019 - Christophe Giboudeaux + +- Update to 5.13.0 + * Code updated to support Qt 5.13 + * Fixed the conversion of the result of + QNetworkCacheMetaData.attributes() +- Drop reproducible.patch, merged upstream. + +------------------------------------------------------------------- +Thu Jun 6 17:32:30 UTC 2019 - Bernhard Wiedemann + +- Add reproducible.patch to make package build reproducible (boo#1041090) + +------------------------------------------------------------------- +Mon Jun 3 18:39:15 UTC 2019 - Christophe Giboudeaux + +- Update to 5.12.2 + * Fixed QIcon(QIconEngine) to reflect that the engine is explicitly + shared between every copy of the icon. + * Eliminated a warning message from QObject::connect() + * Increased the number of QQuickItem types that can be registered + from 30 to 60. + * Fixed the QPolygon ctors + * Fixed pyuic's handling of 'sizePolicy' properties. + * Fixed pylupdate to handle empty strings at the end of a line so + that the line number remains correct. + +------------------------------------------------------------------- +Thu Apr 18 17:53:06 UTC 2019 - Jan Engelhardt + +- Trim name repetition from summary. + +------------------------------------------------------------------- +Wed Apr 17 15:22:28 UTC 2019 - Todd R + +- Package .dist-info directory. The bugs with it have been fixed + and some packages require it in order to properly detect that + pyqt5 is installed. + +------------------------------------------------------------------- +Sat Apr 6 14:19:33 UTC 2019 - Christophe Giboudeaux + +- Update to 5.12.1 + Fixed QIcon(QIconEngine) to reflect that the engine is explicitly + shared between every copy of the icon. +- Prepare update-timeline.patch for Qt 5.13.0 + +------------------------------------------------------------------- +Mon Feb 11 09:03:27 UTC 2019 - Adrian Schröter + +- update to final 5.12 version + * Support for Qt 5.12 + * Details at https://www.riverbankcomputing.com/static/Downloads/PyQt5/ChangeLog +- fix-sip-detection.patch is obsolete + +------------------------------------------------------------------- +Thu Jan 10 08:44:02 UTC 2019 - Adrian Schröter + +- update to 5.12 development snapshot + +------------------------------------------------------------------- +Wed Nov 14 13:33:59 UTC 2018 - Antonio Larrosa + +- Do not build Qt5NetworkAuth support in SLE, which doesn't have the + libqt5-qtnetworkauth package + +------------------------------------------------------------------- +Thu Nov 8 17:44:05 UTC 2018 - Todd R + +- python-enum34 is also required at runtime. + +------------------------------------------------------------------- +Mon Oct 22 06:40:48 UTC 2018 - Christophe Giboudeaux + +- Make sure python-enum34 is installed when building packages + depending on python-qt5. + +------------------------------------------------------------------- +Sun Oct 21 09:03:38 UTC 2018 - Christophe Giboudeaux + +- Add fix-sip-detection.patch. Picked from the Fedora package + +------------------------------------------------------------------- +Mon Sep 17 10:18:42 UTC 2018 - Christophe Giboudeaux + +- Update to 5.11.3 + * Fixed a build problem with Python v2. + * Removed the checks for PyQt5.sip + * Fix issues with out of source builds + +------------------------------------------------------------------- +Wed Aug 8 08:31:03 UTC 2018 - schwab@suse.de + +- No qtwebengine for riscv64 yet + +------------------------------------------------------------------- +Mon Jul 2 15:45:48 UTC 2018 - christophe@krop.fr + +- Update to 5.11.2: + * Added support for Qt v5.11.0 and v5.11.1. + * Added support for Python v3.7. + * Enum members are also visible as attributes of the enum in order to emulate + the behaviour of Python enums. + * The connect() method of a bound signal now returns a QMetaObject.Connection + object that can be passed to the disconnect() method. + * Added the signatures attribute to unbound signals. + * Added QtCore.Q_ENUM() and QtCore.Q_FLAG(). + * Python enums can now be used with Q_ENUM() etc. + * Added the missing QGuiApplication.inputMethod() method. + * Added the missing QGuiApplication.styleHints() method. + * Added the missing QSqlQuery.exec() overload for Python v3. + * Added glReadPixels(). +- Drop remove-qtest-waitforevents.patch. Fixed upstream. +- Drop qt_quick_crash_fix.patch. Fixed upstream + +------------------------------------------------------------------- +Mon Jun 11 19:58:12 UTC 2018 - fabian@ritter-vogt.de + +- Amend patch to mention even more Qt versions: + * update-timeline.patch + +------------------------------------------------------------------- +Tue May 15 06:15:46 UTC 2018 - adrian@suse.de + +- fix URL +- fix crash in Qt Quick when used with Cura (from upstream) + (regression in 5.10.1, qt_quick_crash_fix.patch) + +------------------------------------------------------------------- +Thu May 3 07:49:19 UTC 2018 - fabian@ritter-vogt.de + +- Add patch to remove use of internal Qt function: + * remove-qtest-waitforevents.patch + +------------------------------------------------------------------- +Fri Apr 27 07:13:11 UTC 2018 - fabian@ritter-vogt.de + +- Add patch to support Qt 5.9.4, 5.9.5 and Qt 5.11.0: + * update-timeline.patch +- Refresh patch to work with -p1: + * disable-rpaths.diff + +------------------------------------------------------------------- +Tue Apr 17 14:44:34 UTC 2018 - lbeltrame@kde.org + +- Remove source URL to workaround SourceForge's unreliability + +------------------------------------------------------------------- +Tue Apr 17 01:23:38 UTC 2018 - termim@gmail.com + +- Update to version v5.10.1 + * Added support for Qt v5.10.1. + * Added the missing qmlClearTypeRegistrations() to the QtQml module. + * Added the --disabled-feature option to configure.py. + +------------------------------------------------------------------- +Fri Jan 26 08:49:11 UTC 2018 - aloisio@gmx.com + +- Update to version v5.10 + * Added support for Qt v5.10.0. + * Added the QtNetworkAuth module. + version v5.9.2 + * Added support for Qt v5.9.3. + * Added the QtAndroidExtras module. + version v5.9.1 + * Added support for Qt v5.9.2. + * Added the --allow-sip-warnings option to configure.py. + * Removed the unimplemented -name option to pyrcc5. + * SIP v4.19.4 is required. + +- Dropped configure_py_Fix_handling_of_disabled_features.patch + (merged upstream) + +------------------------------------------------------------------- +Wed Oct 25 22:04:51 UTC 2017 - stefan.bruens@rwth-aachen.de + +- add configure_py_Fix_handling_of_disabled_features.patch + configure.py is broken if features are disabled, which e.g. happens + when building using GLEs Qt5 builds. Taken from upstream + developement snapshot. + +------------------------------------------------------------------- +Fri Sep 1 15:59:06 UTC 2017 - mlin@suse.com + +- Disable WebKit and WebEngine on SLE15. + +------------------------------------------------------------------- +Tue Aug 29 12:07:25 UTC 2017 - toddrme2178@gmail.com + +- Fix shebangs + +------------------------------------------------------------------- +Mon Aug 28 21:04:21 UTC 2017 - toddrme2178@gmail.com + +- Update to 5.9 + * Added support for Qt v5.9.0 and v5.9.1. + * Improved detection of the destruction of QObject-based instances by C++. + * QFlags instances are now hashable. + * pyrcc5 now supports v2 of the resource file format. + * Added the interview.py, frozencolumn.py and storageview.py examples from + Hans-Peter Jansen. + * SIP v4.19.3 is required. +- Remove reproducible.patch + Implemented upstream. + +------------------------------------------------------------------- +Fri Jun 2 11:22:22 UTC 2017 - jengelh@inai.de + +- Trim redundant platform support mentions. + +------------------------------------------------------------------- +Mon May 22 20:23:46 UTC 2017 - bwiedemann@suse.com + +- Add reproducible.patch to sort input files to make build fully reproducible + +------------------------------------------------------------------- +Tue May 16 17:57:51 UTC 2017 - toddrme2178@gmail.com + +- Fix issues with requires. + +------------------------------------------------------------------- +Fri Apr 21 12:59:55 UTC 2017 - mpluskal@suse.com + +- Move requirements for development package to correct place + +------------------------------------------------------------------- +Sat Apr 8 13:57:45 UTC 2017 - hpj@urpla.net + +- Update to 5.8.2 + * lib/configure.py: + Fixes for the OpenGL detection needed by the incompatible + configuration changes in Qt v5.8.0. + * qpy/QtCore/qpycore_chimera.cpp: + When parsing a Python type map list and dict to QVariantList and + QVariantMap. + * lib/LICENSE.commercial, lib/LICENSE.commercial.short, + lib/LICENSE.gpl, lib/LICENSE.gpl.short, lib/LICENSE.internal: + Remove the license copies that are now part of rb-tools. + * pyuic/uic/uiparser.py: + Fixed the margins of the top layout in a tab by pyuic. + * pyuic/uic/driver.py, pyuic/uic/exceptions.py, + pyuic/uic/properties.py, pyuic/uic/pyuic.py: + Improved the error handling of an unknown C++ class. + * sphinx/qml.rst: + Added explicit warnings about PyQt's ability to support QML to the + docs. + * PyQt5.msp: + Added a comment about why opengl_types.sip is included twice. + * PyQt5.msp: + Only enable QOpenGLTextureBlitter if OpenGL is supported. + * PyQt5.msp: + Avoid a deadlock when using asynchronous image providers in QML. + +- Update to 5.8.1 + * qpy/QtCore/qpycore_chimera.cpp: + Special case a QVariant containing std::nullptr_t. + * METADATA.in: + Updated the Requires-Dist meta-data so it includes the values from + the release file. + * lib/configure.py: + Disable desktop OpenGL if OpenGLES v3 or v3.1 is detected. + * qpy/QtQml/qpyqml_register_type.cpp: + Fixed the handling of properties in Qml because of changes to the + internals in Qt v5.8.0. + * PyQt5.msp: + Fixed QLocale.toString() for Python v2. + * PyQt5.msp: + Anticipate that Qt v5.9.0 will be released before Qt v5.8.1 to avoid + problems building PyQt v5.9 against Qt v5.8.1. + * qpy/QtPrintSupport/qpyprintsupport_qlist.sip: + The QtPrintSupport mapped types are only included if printers are + supported. + * sphinx/pyqt_qvariant.rst: + Updated the docs regarding support for QVariant. + * qpy/QtQml/qpyqmlobject.cpp: + Fixed signals in QML registered types that are defined in a Python + sub-class of the registered type. + +------------------------------------------------------------------- +Wed Mar 29 15:09:37 UTC 2017 - toddrme2178@gmail.com + +- Fix singlespec macro usage. BuildRequires are shared between + python versions, only the requires should be specific to particular + python versions. + +------------------------------------------------------------------- +Fri Mar 24 06:14:17 UTC 2017 - lbeltrame@kde.org + +- Temporarily undo some of the single spec changes to allow building + until a newer python-dbus is available + +------------------------------------------------------------------- +Mon Mar 6 20:51:00 UTC 2017 - toddrme2178@gmail.com + +- Switch to single-spec version. +- Add doc-file-dependency to rpmlintrc to handle the example files. + +------------------------------------------------------------------- +Wed Feb 15 19:06:06 UTC 2017 - termim@gmail.com + +- Update to 5.8 + * Added support for Qt v5.8.0. + * Added __fspath__() to QFileInfo. + * Added the --qml-debug option to configure.py. The --debug option + no longer enables the QML debugging infrastructure. + * Added the --link-full-dll option to configure.py. +- Removed patches: + * disable_qml_debug.diff - fixed upstream + * fix_qreal_check.diff - not needed acording the package developer + * license.diff - fixed upstream + * obsolete_window_flag.diff - fixed upstream + +------------------------------------------------------------------- +Tue Jan 3 19:30:49 UTC 2017 - termim@gmail.com + +- Update to 5.7.1 + * added the QtWebEngine module + * added QRegion.setRects() + * added QtMac to the QtMacExtras module + * added support for QChartView and QWebEngineView to pyuic5. + +------------------------------------------------------------------- +Wed Nov 30 07:07:51 UTC 2016 - hrvoje.senjan@gmail.com + +- Add obsolete_window_flag.diff: remore declaration that was removed + in Qt 5.8 (it was WinCE-only) +- Add license.diff: QLibrary::Licensee is deprecated in Qt 5.8, and + produce empty string. We know we are always building opensource + Qt. + +------------------------------------------------------------------- +Tue Nov 15 10:41:24 UTC 2016 - lbeltrame@kde.org + +- Remove Source URL, the validator doesn't work too well with + SourceForge + +------------------------------------------------------------------- +Mon Nov 14 19:59:32 UTC 2016 - hpj@urpla.net + +- add patch to disable qml_debug: disable_qml_debug.diff. + Without this, the message "QML debugging is enabled. Only use + this in a safe environment." appears on PyQt5 apps startup, + and allows qmljsdebugger to connect via network. + +------------------------------------------------------------------- +Tue Nov 8 15:21:49 UTC 2016 - hpj@urpla.net + +- make utils dependent on exact version + +------------------------------------------------------------------- +Tue Jul 26 17:59:41 UTC 2016 - termim@gmail.com + +- Update to 5.7 + * Added support for Qt v5.7.0. + * Removed patch pyqt5-fix-dbus-config.diff as applyed upstream + +------------------------------------------------------------------- +Mon Jul 4 06:02:41 UTC 2016 - hpj@urpla.net + +- Update to 5.6 + * Added full support for Qt v5.6.0. + * Python v3.5 wheels are available for 64-bit Linux, 64-bit OS X + and 32 and 64-bit Windows. (After this release Windows .exe + installers will no longer be produced.) + * Added the QtWebEngineCore module. + * Added the missing qt_set_sequence_auto_mnemonic() to QtGui. + * Added the missing MouseLock to QWebEnginePage.Feature. + * Added the missing WA_DontShowOnScreen. + * PEP 484 stub files are installed by default. + * Added the --import-from command line argument to pyuic5. + * Added the --no-stubs and --stubsdir options to configure.py. + * Added the --qtconf-prefix option to configure.py. +- add PATCH-FIX-OPENSUSE pyqt5-fix-dbus-config.diff to fix build of + dbus bindings +- supply %{optflags} to the QMAKE machinery +- add libqt5-qtlocation-devel build dependency + +------------------------------------------------------------------- +Sun Jun 5 00:20:18 UTC 2016 - hrvoje.senjan@gmail.com + +- Drop unused libqt5-qtquick1-devel (Build)Requires + +------------------------------------------------------------------- +Mon Mar 7 15:29:44 UTC 2016 - dvaleev@suse.com + +- Don't buildrequire libqt5-qtwebengine-devel for POWER and s390x + +------------------------------------------------------------------- +Mon Feb 1 06:29:22 UTC 2016 - lbeltrame@kde.org + +- BuildRequire libqt5-qtconnectivity-devel to gain support for + QtBluetooth (bnc#964256) + +------------------------------------------------------------------- +Fri Oct 30 18:17:37 UTC 2015 - termim@gmail.com + +- Update to 5.5.1 + * added support for Qt v5.5.1 + * added the --disable option to configure.py + * implemented __matmul__ and __imatmul__ for QMatrix4x4 and + QTransform. + +------------------------------------------------------------------- +Fri Aug 14 03:40:56 UTC 2015 - termim@gmail.com + +- change required sip version to 4.16.9 + +------------------------------------------------------------------- +Mon Jul 20 15:39:53 UTC 2015 - termim@gmail.com + +- remove patch build-compare.diff as adapted in upstream +- Update to 5.5 + * Added full support for Qt v5.5.0. + * Added the QtLocation module. + * Added the QtNfc module. + * Added Qt.NoOpaqueDetection amd Qt.NoFormatConversion to QtCore. + * Added QMacToolBar and QMacToolBarItem to QtMacExtras. + * Added QProxyStyle to QtWidgets. +- Update to 5.4.2 + * Added support for Qt v5.4.2. + * Added QWIDGETSIZE_MAX to QtWidgets. + * Added the --no-python-dbus command line option to configure.py. +- Update to 5.4.1 + * Added support for Qt v5.4.1. + * Added the QMacCocoaViewContainer class. + * All OpenGL examples use QOpenGLWidget and no longer require + PyOpenGL. + * Added initial implementations of _QOpenGLFunctions_2_1 and + _QOpenGLFunctions_4_1_Core. + * QEvent.None is now QEvent.None_. + * Added missing QEvent.Type members that are now documented in Qt. + * Added the --license-dir option to configure.py. + * Installing into a virtual env should now work. + * pyuic5 and pyrcc5 no longer include a timestamp in the + generated code. + +------------------------------------------------------------------- +Fri Jan 16 20:32:07 UTC 2015 - hrvoje.senjan@gmail.com + +- Enable QtWebEngineWidgets and QtWebChannel integration +- Update build-compare.diff +- Drop fdupes usage due to unpredictable symlinking +- Add rpmlintrc due to duplicates waste warnings: we rather have + a few bytes more than to republish same binaries due to fdupes + +------------------------------------------------------------------- +Tue Dec 30 20:09:15 UTC 2014 - hrvoje.senjan@gmail.com + +- Update to 5.4 + * Major functional release that adds full support for Qt v5.4.0. + * Added the QtWebChannel module + * Added the QtWebEngineWidgets module + * Added the QtXml module. +- Drop add_dep.patch, merged upstream +- Bump python(3)-sip-devel (Build)Requires to 4.16.4 + +------------------------------------------------------------------- +Sat Oct 11 21:08:39 UTC 2014 - hrvoje.senjan@gmail.com + +- Update to 5.3.2 + * Added the Enginio module. + * Added the QJsonDocument and QJsonValue classes. + * QJsonObject is implemented as a Python dict. + * QJsonArray is implemented as a Python list. + * Added setUnifiedTitleAndToolBarOnMac() and + unifiedTitleAndToolBarOnMac() to QWidget. + * Added windowHandle() to QWidget. +- Drop usage of rversion, use version directly +- Disable disable-rpaths.diff, upstream removed RPATH usage in this + release + +------------------------------------------------------------------- +Wed Sep 10 06:29:27 UTC 2014 - hrvoje.senjan@gmail.com + +- Added add_dep.patch: make the buildsystem know that QtPrintSUpport + module is needed for QtWebkitWidgets one, previously the build + only succeeded due to QTBUG-39249 + +------------------------------------------------------------------- +Sun Jul 6 00:59:36 UTC 2014 - hrvoje.senjan@gmail.com + +- Update to 5.3.1 + * minor bug-fix release + +------------------------------------------------------------------- +Wed Jun 25 01:29:45 UTC 2014 - hrvoje.senjan@gmail.com + +- Drop link-python.diff, it's unused + +------------------------------------------------------------------- +Thu May 29 20:49:46 UTC 2014 - hrvoje.senjan@gmail.com + +- Update to 5.3 + * By default a Python slot is only invoked if the underlying C++ + instance still exists. + * Added the no_receiver_check argument to connect(). + * Added support for Qt v5.3.0. + * Added the QtQuickWidgets module. + * Added the QtWebSockets module. + * Added the --target_py_version, --sysroot and --no-tools option + to configure.py. + * Cross-compilation (specifically to iOS and Android) is now supported +- Drop qglobal.patch, included in this release +- Added libqt5-qtwebsockets-devel BuildRequires +- Bump required python(3)-sip-devel version to 4.16 + +------------------------------------------------------------------- +Fri May 16 19:38:53 UTC 2014 - hrvoje.senjan@gmail.com + +- Added qglobal.patch, to resolve build failure with Qt 5.3 API + +------------------------------------------------------------------- +Sun May 4 15:06:38 UTC 2014 - i@marguerite.su + +- added missing qtmultimedia/qtserialport/qtxmlpatterns modules. + +------------------------------------------------------------------- +Fri Mar 21 22:36:04 UTC 2014 - hrvoje.senjan@gmail.com + +- Update to 5.2.1 + * Full support for Qt v5.2.1. + * Properties, signals and slots can now be defined in mixins + (i.e. non-QObject classes). + * Support for creating QSGGeometry.AttributeSet instances. + * Fundamental values may now be given whenever a QJSValue + is expected. + * Building PyQt5 as static libraries now works. + * Support for building without OpenGL. +- Bump sip BuildRequire to current requirements (4.15.5). Also, + that is now minimal requires for devel subpackages +- Rebase disable-rpaths.diff for this release +- Disable fix_qreal_check.diff, for now the issue is fixed with + Qt >= 5.2 +- Drop checks for ancient releases + +------------------------------------------------------------------- +Thu Feb 6 20:51:47 UTC 2014 - hrvoje.senjan@gmail.com + +- Added fix_qreal_check.diff, fixes build on arm + +------------------------------------------------------------------- +Fri Jan 10 22:11:23 UTC 2014 - lbeltrame@kde.org + +- Use %ghost with files generated by update-alternatives + +------------------------------------------------------------------- +Fri Jan 10 19:48:33 UTC 2014 - lbeltrame@kde.org + +- New upstream release 5.2: + - Full support for Qt5.2 + - Support added for the QtBluetooth, QtPositioning, QtMacExtras, + QtWinExtras and QtX11Extras +- Fix SNAFU in preun scriptlet (missing spaces) + +------------------------------------------------------------------- +Tue Dec 17 03:00:16 UTC 2013 - hrvoje.senjan@gmail.com + +- Move away from pkgconfig(...) BuildRequires and just use + libqt5-$upstreammodulename-(devel|private-headers-devel) + +------------------------------------------------------------------- +Mon Oct 21 17:01:45 UTC 2013 - hrvoje.senjan@gmail.com + +- Fix Requires for the devel packages + +------------------------------------------------------------------- +Sun Oct 20 12:04:00 UTC 2013 - lbeltrame@kde.org + +- Use alternatives to prevent conflicts between Python 2 and Python 3 + tools + +------------------------------------------------------------------- +Thu Oct 17 15:40:06 UTC 2013 - toddrme2178@gmail.com + +- New upstream release (5.1.1): + * Bugfixes +- Rebase disable-rpaths.diff + +------------------------------------------------------------------- +Sat Oct 5 07:19:57 UTC 2013 - lbeltrame@kde.org + +- New upstream release (5.1): + * Full support for Qt 5.1 + * Support for QtSensors and QtSerialPort modules + * Almost complete set of bindings for OpenGL 2.0 and OpenGL ES/2 +- Bump required SIP version + +------------------------------------------------------------------- +Wed Sep 11 18:43:53 UTC 2013 - lbeltrame@kde.org + +- New upstream release (5.0.1): + * Added the QtQuick module including the ability to create + Python Quick items from QML. + * Added the QtQml module including the ability to create Python objects from + QML. + * Added the QtMultimediaWidgets module. + * Completed the implementation of the QtMultimedia module including support + for cameras and radios. + * Added the remaining OpenGL classes to the QtGui module. + * Added the revision keyword argument to pyqtProperty(). + * Added the revision and arguments keyword arguments to pyqtSignal(). + * Added the revision keyword argument to pyqtSlot(). + * Added the pyqt5qmlplugin plugin for qmlscene. + * The DBus main loop module has been renamed to dbus.mainloop.pyqt5 + from dbus.mainloop.qt. + * Added the --no-qml-plugin and --qml-plugindir options to configure.py. + * Added many QtMultimedia, QML and QtQuick related examples. + * Classes now support co-operative multi-inheritance. (This may + introduce incompatibilities with PyQt v5.0.) +- Drop mainloop_rename.diff (merged upstream) + +------------------------------------------------------------------- +Tue Aug 6 16:14:36 UTC 2013 - lbeltrame@kde.org + +- Add Patch3 to fix the dbus mainloop lib name (already upstream) + +------------------------------------------------------------------- +Mon Aug 5 17:00:28 UTC 2013 - lbeltrame@kde.org + +- Initial package for PyQt5. + diff --git a/python-qt5.spec b/python-qt5.spec new file mode 100644 index 0000000..aa1b981 --- /dev/null +++ b/python-qt5.spec @@ -0,0 +1,363 @@ +# +# spec file for package python-qt5 +# +# Copyright (c) 2021 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "nonring-extras" +# These modules are not in staging +%if 0%{?_with_ringdisabled} +ExclusiveArch: do_not_build +%else +%define build_nonring 1 +%endif +%endif + +%define oldpython python +%define mname qt5 +%{?sle15_python_module_pythons} +Name: python-%{mname} +Version: 5.15.10 +Release: 0 +Summary: Python bindings for Qt 5 +License: SUSE-GPL-2.0-with-FLOSS-exception OR GPL-3.0-only OR NonFree +Group: Development/Libraries/Python +URL: https://www.riverbankcomputing.com/software/pyqt +Source: https://files.pythonhosted.org/packages/source/P/PyQt5/PyQt5-%{version}.tar.gz +Source99: python-qt5-rpmlintrc +# PATCH-FIX-OPENSUSE - disable-rpaths.diff - Disable RPATH when building PyQt5. +Patch0: disable-rpaths.diff +# PATCH-FIX-OPENSUSE - install binary dbus mainloop integration in arch dependent directory +Patch1: 0001-Use-a-noarch-wrapper-for-dbus-mainloop-integration.patch +BuildRequires: %{python_module dbus-python-devel} +BuildRequires: %{python_module devel} +BuildRequires: dbus-1-devel +BuildRequires: dos2unix +BuildRequires: fdupes +BuildRequires: gdb +BuildRequires: libqt5-qtbase-devel +BuildRequires: pkgconfig +BuildRequires: python-pyqt-rpm-macros +BuildRequires: python-rpm-macros +BuildRequires: pkgconfig(Qt5Bluetooth) +BuildRequires: pkgconfig(Qt5Designer) +BuildRequires: pkgconfig(Qt5Help) +BuildRequires: pkgconfig(Qt5Location) +BuildRequires: pkgconfig(Qt5Multimedia) +BuildRequires: pkgconfig(Qt5MultimediaWidgets) +BuildRequires: pkgconfig(Qt5Nfc) +BuildRequires: pkgconfig(Qt5Positioning) +BuildRequires: pkgconfig(Qt5Qml) +BuildRequires: pkgconfig(Qt5Quick) +BuildRequires: pkgconfig(Qt5QuickWidgets) +BuildRequires: pkgconfig(Qt5SerialPort) +BuildRequires: pkgconfig(Qt5Svg) +BuildRequires: pkgconfig(Qt5TextToSpeech) +BuildRequires: pkgconfig(Qt5UiTools) +BuildRequires: pkgconfig(Qt5WebChannel) +BuildRequires: pkgconfig(Qt5WebSockets) +BuildRequires: pkgconfig(Qt5X11Extras) +BuildRequires: pkgconfig(Qt5XmlPatterns) +%if 0%{?build_nonring} +BuildRequires: pkgconfig(Qt5Quick3D) +BuildRequires: pkgconfig(Qt5RemoteObjects) +%endif +BuildRequires: %{python_module pyqt-builder >= 1.14.1} +BuildRequires: %{python_module qt5-sip >= 12.13} +BuildRequires: %{python_module sip-devel >= 6.7.12} +Requires: python-qt5-sip >= 12.13 +%requires_ge python-dbus-python +Provides: python-PyQt5 = %{version}-%{release} +Suggests: python-%{mname}-quick3d + +%python_subpackages + +%description +PyQt is a set of Python bindings for the Qt framework. + +%package devel +Summary: PyQt - devel part of python bindings for Qt 5 +Group: Development/Libraries/Python +Requires: libqt5-qtbase-devel +Requires: python-%{mname} = %{version} +Requires: python-dbus-python-devel +Requires: python-devel +Requires: pkgconfig(Qt5Bluetooth) +Requires: pkgconfig(Qt5Designer) +Requires: pkgconfig(Qt5Help) +Requires: pkgconfig(Qt5Location) +Requires: pkgconfig(Qt5Multimedia) +Requires: pkgconfig(Qt5MultimediaWidgets) +Requires: pkgconfig(Qt5Nfc) +Requires: pkgconfig(Qt5Positioning) +Requires: pkgconfig(Qt5Qml) +Requires: pkgconfig(Qt5Quick) +Requires: pkgconfig(Qt5QuickWidgets) +Requires: pkgconfig(Qt5SerialPort) +Requires: pkgconfig(Qt5Svg) +Requires: pkgconfig(Qt5TextToSpeech) +Requires: pkgconfig(Qt5UiTools) +Requires: pkgconfig(Qt5WebChannel) +Requires: pkgconfig(Qt5WebSockets) +Requires: pkgconfig(Qt5X11Extras) +Requires: pkgconfig(Qt5XmlPatterns) +# silence rpmlint +Requires: %{oldpython}(abi) = %{python_version} +Requires(post): update-alternatives +Requires(postun): update-alternatives +# If and which version of sip is required depends on the project trying +# to build against PyQt5. +Recommends: python-sip-devel +Recommends: python-qscintilla-qt5 +Recommends: pkgconfig(Qt5Quick3D) +Provides: python-PyQt5-devel = %{version}-%{release} +Obsoletes: python-PyQt5-devel < %{version}-%{release} +Provides: %{oldpython}-%{mname}-common-devel = %{version}-%{release} +Provides: %{oldpython}-%{mname}-utils = %{version}-%{release} +Obsoletes: %{oldpython}-%{mname}-common-devel < %{version}-%{release} +Obsoletes: %{oldpython}-%{mname}-utils < %{version}-%{release} + +%description devel +PyQt is a set of Python bindings for the Qt framework. + +This package contains all the developer tools you need to create your +own PyQt applications + +%package quick3d-devel +Summary: PyQt - devel part of python bindings for QtQuick3D +Group: Development/Libraries/Python +Requires: python-%{mname}-devel = %{version} +Requires: pkgconfig(Qt5Quick3D) +Requires: %{oldpython}(abi) = %{python_version} + +%description quick3d-devel +PyQt is a set of Python bindings for the Qt framework. + +This package contains all the developer tools you need to create your +own PyQt applications with QtQuick3D + +%package remoteobjects-devel +Summary: PyQt - devel part of python bindings for QtRemoteObjects +Group: Development/Libraries/Python +Requires: python-%{mname}-devel = %{version} +Requires: pkgconfig(Qt5RemoteObjects) +Requires: %{oldpython}(abi) = %{python_version} + +%description remoteobjects-devel +PyQt is a set of Python bindings for the Qt framework. + +This package contains all the developer tools you need to create your +own PyQt applications with QtRemoteObjects + +%package doc +Summary: Examples for %{name} +Group: Documentation/Other +Provides: python-PyQt5-doc = %{version} +BuildArch: noarch + +%description doc +PyQt is a set of Python bindings for the Qt framework. + +This package contains programming examples for PyQt5. + +%package quick3d +Summary: Python bindings for QtQuick3D +Group: Development/Libraries/Python +Requires: python-qt5 = %{version} + +%description quick3d +PyQt is a set of Python bindings for the Qt framework. + +This package contains the extension for QtQuick3D. + +%package remoteobjects +Summary: Python bindings for QtRemoteObjects +Group: Development/Libraries/Python +Requires: python-qt5 = %{version} + +%description remoteobjects +PyQt is a set of Python bindings for the Qt framework. + +This package contains the extension for QtRemoteObjects. + +%prep +%autosetup -p1 -n PyQt5-%{version} +chmod -x examples/activeqt/webbrowser/webbrowser.py +dos2unix examples/tools/codecs/encodedfiles/iso-8859-1.txt +dos2unix examples/tools/codecs/encodedfiles/iso-8859-15.txt + +# remove argument to `#define PY_SSIZE_T_CLEAN` +# before any `#include ` which was introduced by SIP 6.4 +# for Python 3.10 builds but prevents downstream packages stuck on +# SIP v4 or SIP v5 (qgis) from building -- boo#1192300 +# https://docs.python.org/3/c-api/arg.html#arg-parsing + sed -e 's/, py_ssize_t_clean=True//' \ + -i sip/QtCore/QtCoremod.sip + +%build +# sip-build requires QtCore as target, even if we want a nonring module only +%{pyqt_build -v \ + -s %{quote:--pep484-pyi \ + --confirm-license \ + --qt-shared \ + %{!?build_nonring: --disable QtQuick3D --disable QtRemoteObjects} \ + %{?build_nonring: --enable QtQuick3D --enable QtRemoteObjects \ + --enable QtCore \ + --no-dbus-python \ + --no-designer-plugin \ + --no-qml-plugin \ + --no-tools}}} + +%install +%if ! 0%{?build_nonring} +%pyqt_install +%pyqt_install_examples %mname + +%python_clone -a %{buildroot}%{_bindir}/pyuic5 +%python_clone -a %{buildroot}%{_bindir}/pylupdate5 +%python_clone -a %{buildroot}%{_bindir}/pyrcc5 + +# we need to fix up these helper scripts, because the build env just replaces shebang args +# but these are plain shell scripts, where the wrong interpreter is called from the second line +%{python_expand for p in pyuic5 pylupdate5 pyrcc5; do \ + sed -ri '2s@python[0-9.]+@python%{$python_bin_suffix}@' %{buildroot}%{_bindir}/$p-%{$python_bin_suffix}; +done +} + +# Provide the legacy path to the SIP files for packages stuck on sip4 +mkdir -p %{buildroot}%{_datadir}/sip/ +%{python_expand ln -sr \ + %{buildroot}%{$python_sitearch}/PyQt5/bindings \ + %{buildroot}%{_datadir}/pyqt5-sip-%{$python_bin_suffix} +} +%prepare_alternative -t %{_datadir}/sip/PyQt5 pyqt5-sip +%else +%{python_expand pushd build +%__make sub-QtQuick3D-install_subtargets-ordered \ + sub-QtRemoteObjects-install_subtargets-ordered \ + INSTALL="%__install -p" INSTALL_ROOT=%{buildroot} +popd +} +%endif + +%{python_expand %fdupes %{buildroot}%{$python_sitearch}} + +%if ! 0%{?build_nonring} +%pre devel +# boo#1178814 -- migration to update-alternatives, part 1 +# If it exists but is not a link yet, move existing old directory before cpio +# starts to unpack the archive and tries to create the update-alternatives link +if [ -d %{_datadir}/sip/PyQt5 -a ! -L %{_datadir}/sip/PyQt5 ]; then + mv %{_datadir}/sip/PyQt5 %{_datadir}/sip/PyQt5~ +fi + +%post devel +%{python_install_alternative pyuic5 pylupdate5 pyrcc5} \ + --slave %{_datadir}/sip/PyQt5 pyqt5-sip %{_datadir}/pyqt5-sip-%{python_bin_suffix} +# boo#1178814 -- migration to update-alternatives, part 2 +# temporaryily disable the u-a slave link again so that package removals later +# in the same transaction, e.g. obsoleted python-qt5-devel-common don't remove +# the freshly installed binding files +if [ -d %{_datadir}/sip/PyQt5~ ]; then + mv %{_datadir}/sip/PyQt5 %{_datadir}/sip/PyQt5.u-a-link + mv %{_datadir}/sip/PyQt5~ %{_datadir}/sip/PyQt5 +fi + +%postun devel +%python_uninstall_alternative pyuic5 + +%posttrans devel +# boo#1178814 -- migration to update-alternatives, part 3 +if [ ! -L %{_datadir}/sip/PyQt5 ]; then + # move remaining files from foreign packages, if any, into new + # bindings dir + find %{_datadir}/sip/PyQt5/ -mindepth 1 -maxdepth 1 -exec \ + mv '{}' %{_datadir}/pyqt5-sip-%{python_bin_suffix}/ \; + rmdir %{_datadir}/sip/PyQt5 + # restore the u-a link after all old packages have been removed + mv %{_datadir}/sip/PyQt5.u-a-link %{_datadir}/sip/PyQt5 +fi + +%files %{python_files} +%license LICENSE +%doc README NEWS ChangeLog +%{python_sitearch}/PyQt5/ +%{python_sitearch}/PyQt5-%{version}.dist-info/ +%exclude %pyqt5_sipdir +%dir %{python_sitelib}/dbus +%dir %{python_sitelib}/dbus/mainloop +%{python_sitelib}/dbus/mainloop/pyqt5.py +%dir %{_libqt5_plugindir}/PyQt5/ +%{_libqt5_plugindir}/PyQt5/libpy%{python_bin_suffix}qt5qmlplugin.so + +%files %{python_files devel} +%license LICENSE +%python_alternative %{_bindir}/pyuic5 +%python_alternative %{_bindir}/pylupdate5 +%python_alternative %{_bindir}/pyrcc5 +%dir %{_libqt5_plugindir}/designer/ +%{_libqt5_plugindir}/designer/libpy%{python_bin_suffix}qt5.so +%dir %{_datadir}/qt5/qsci/ +%dir %{_datadir}/qt5/qsci/api/ +%dir %{_datadir}/qt5/qsci/api/python_%{python_bin_suffix}/ +%{_datadir}/qt5/qsci/api/python_%{python_bin_suffix}/PyQt5.api +%dir %_datadir/sip +%ghost %{_sysconfdir}/alternatives/pyqt5-sip +%{_datadir}/sip/PyQt5 +%{_datadir}/pyqt5-sip-%{python_bin_suffix} +%pyqt5_sipdir + +%files %{python_files doc} +%license LICENSE +%{_docdir}/%{python_prefix}-%{mname} +%exclude %{_docdir}/%{python_prefix}-%{mname}/README +%exclude %{_docdir}/%{python_prefix}-%{mname}/NEWS +%exclude %{_docdir}/%{python_prefix}-%{mname}/ChangeLog + +%else + +%files %{python_files quick3d} +%license LICENSE +%doc README +%dir %{python_sitearch}/PyQt5 +%{python_sitearch}/PyQt5/QtQuick3D* +%sip5_only %exclude %{python_sitearch}/PyQt5/QtCore* +%sip5_only %exclude %pyqt5_sipdir + +%files %{python_files quick3d-devel} +%license LICENSE +%dir %pyqt5_sipdir +%pyqt5_sipdir/QtQuick3D +%exclude %pyqt5_sipdir/QtCore + +%files %{python_files remoteobjects} +%license LICENSE +%doc README +%dir %{python_sitearch}/PyQt5 +%{python_sitearch}/PyQt5/QtRemoteObjects* +%exclude %{python_sitearch}/PyQt5/QtCore* +%exclude %pyqt5_sipdir + +%files %{python_files remoteobjects-devel} +%license LICENSE +# sip v4 builds have the sip files in the regular devel package +%dir %pyqt5_sipdir +%pyqt5_sipdir/QtRemoteObjects +%exclude %pyqt5_sipdir/QtCore + +%endif + +%changelog