Sync from SUSE:ALP:Source:Standard:1.0 python-qt5 revision 6157b748a99b041d3caff66244cb214c

This commit is contained in:
Adrian Schröter 2023-12-19 15:20:50 +01:00
commit 9a9aa5b767
9 changed files with 1508 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

View File

@ -0,0 +1,123 @@
From 90b1d19e4a65b1490f4ea277d81cbc96bcaa4c4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
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):

BIN
PyQt5-5.15.10.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

7
_constraints Normal file
View File

@ -0,0 +1,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">12</size>
</disk>
</hardware>
</constraints>

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<flavor>nonring-extras</flavor>
</multibuild>

10
disable-rpaths.diff Normal file
View File

@ -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.

6
python-qt5-rpmlintrc Normal file
View File

@ -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")

970
python-qt5.changes Normal file
View File

@ -0,0 +1,970 @@
-------------------------------------------------------------------
Sun Oct 15 13:57:31 UTC 2023 - Ben Greiner <code@bnavigator.de>
- 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 <hpj@urpla.net>
- Fix shell stubs of pyuic5 pylupdate5 pyrcc5 in order to run the
correct interpreter
-------------------------------------------------------------------
Sat Jun 10 09:36:20 UTC 2023 - ecsos <ecsos@opensuse.org>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Thu Feb 9 10:17:53 UTC 2023 - Ben Greiner <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <dimstar@opensuse.org>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- remove the noop %requires_ge libqt5-x11
-------------------------------------------------------------------
Wed Apr 14 08:29:39 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- Mark the package as typed for mypy deb#978586
-------------------------------------------------------------------
Tue Nov 24 15:09:44 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- disable _quick3d flavors in staging through ringdisabled
-------------------------------------------------------------------
Sat Oct 3 17:55:30 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- enable python2 Quick3D package for Leaps in new multibuild flavor
-------------------------------------------------------------------
Sat Oct 3 17:02:43 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- Fix pyi stub installation for Quick3D subpackage on sip4 builds
-------------------------------------------------------------------
Fri Oct 2 21:31:32 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- Outsource to Quick3D subpackage for sip5 too
-------------------------------------------------------------------
Fri Oct 2 11:13:14 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <hpj@urpla.net>
- Qt5Quick3D is not available on Leaps
-------------------------------------------------------------------
Sat Sep 26 12:28:17 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- Add missing Quick3D and TextToSpeech build requirements
-------------------------------------------------------------------
Sat Sep 26 11:44:26 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <code@bnavigator.de>
- Use sip5 where possible
- Remove multibuild, use python singlespec.
-------------------------------------------------------------------
Mon Sep 14 15:41:28 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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 <code@bnavigator.de>
- 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 <christophe@krop.fr>
- Update update-timeline.patch
-------------------------------------------------------------------
Thu Aug 27 18:31:41 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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 <christophe@krop.fr>
- Stop building python2-qt5 for openSUSE Tumbleweed.
-------------------------------------------------------------------
Sun Feb 16 17:04:29 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- 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 <stefan.bruens@rwth-aachen.de>
- 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 <christophe@krop.fr>
- 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 <normand@linux.vnet.ibm.com>
- 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 <christophe@krop.fr>
- Update to 5.13.1. Check the ChangeLog file for the list of changes
-------------------------------------------------------------------
Fri Sep 13 09:28:36 UTC 2019 - Michel Normand <normand@linux.vnet.ibm.com>
- 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 <hpj@urpla.net>
- Add patch to support QKeySequenceEdit widgets in pyuic:
add-qkeysequenceedit-to-uic.patch
-------------------------------------------------------------------
Fri Jul 12 09:58:02 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
- 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 <bwiedemann@suse.com>
- Add reproducible.patch to make package build reproducible (boo#1041090)
-------------------------------------------------------------------
Mon Jun 3 18:39:15 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
- 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 <jengelh@inai.de>
- Trim name repetition from summary.
-------------------------------------------------------------------
Wed Apr 17 15:22:28 UTC 2019 - Todd R <toddrme2178@gmail.com>
- 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 <christophe@krop.fr>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- update to 5.12 development snapshot
-------------------------------------------------------------------
Wed Nov 14 13:33:59 UTC 2018 - Antonio Larrosa <alarrosa@suse.com>
- 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 <toddrme2178@gmail.com>
- python-enum34 is also required at runtime.
-------------------------------------------------------------------
Mon Oct 22 06:40:48 UTC 2018 - Christophe Giboudeaux <christophe@krop.fr>
- Make sure python-enum34 is installed when building packages
depending on python-qt5.
-------------------------------------------------------------------
Sun Oct 21 09:03:38 UTC 2018 - Christophe Giboudeaux <christophe@krop.fr>
- Add fix-sip-detection.patch. Picked from the Fedora package
-------------------------------------------------------------------
Mon Sep 17 10:18:42 UTC 2018 - Christophe Giboudeaux <christophe@krop.fr>
- 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.

363
python-qt5.spec Normal file
View File

@ -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 <Python.h>` 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