SHA256
1
0
forked from pool/python-PyQt6

18 Commits

Author SHA256 Message Date
20eb71242d Update package from 6.8.1 to 6.9.1 to support Qt 6.9 properly
This is a migration of https://build.suse.de/request/show/385250
2025-10-02 12:37:51 +02:00
e0f3c5e3e2 Accepting request 1272850 from KDE:Qt:PyQt
OBS-URL: https://build.opensuse.org/request/show/1272850
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PyQt6?expand=0&rev=30
2025-04-28 14:16:04 +00:00
8d0d48fea6 - Split the package to build the Qt6Pdf bindings as a separate
flavor. This allows to build most of the bindings in SLFO but
  only build the Qt6Pdf bindings (which need qt6-webengine) in
  Backports.
- Add patch to allow building only the Qt6Pdf bindings without
  having to build Qt6Core too:
  * fix-build-without-qtcore.patch

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=41
2025-04-26 10:59:43 +00:00
caae201481 Accepting request 1266947 from KDE:Qt:PyQt
- Update to 6.8.1
  * Added the QtStateMachine module.
  * Bug fixes.
- Drop 0001-Fix-build-with-Qt-6.8.2.patch
- Add PyQt6-Qt6.9.0.patch in order to build with Qt 6.9.0. This is
  basically PyQt6 6.9.0.dev2504021615 without the version bump (forwarded request 1266946 from bnavigator)

OBS-URL: https://build.opensuse.org/request/show/1266947
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PyQt6?expand=0&rev=29
2025-04-07 15:35:54 +00:00
4d8ac99d05 - Update to 6.8.1
* Added the QtStateMachine module.
  * Bug fixes.
- Drop 0001-Fix-build-with-Qt-6.8.2.patch
- Add PyQt6-Qt6.9.0.patch in order to build with Qt 6.9.0. This is
  basically PyQt6 6.9.0.dev2504021615 without the version bump

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=40
2025-04-03 18:18:01 +00:00
58b9532b70 Accepting request 1242235 from KDE:Qt:PyQt
OBS-URL: https://build.opensuse.org/request/show/1242235
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PyQt6?expand=0&rev=28
2025-02-03 20:41:39 +00:00
36e6d0ad47 - Add build fix:
* 0001-Fix-build-with-Qt-6.8.2.patch

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=39
2025-02-02 15:03:24 +00:00
522d0aff90 Accepting request 1236044 from KDE:Qt:PyQt
OBS-URL: https://build.opensuse.org/request/show/1236044
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PyQt6?expand=0&rev=27
2025-01-12 10:10:02 +00:00
dab0bb9bc5 - Update to 6.8.0
* Added support for Qt v6.8 (excluding any technical previews).
  * Python enums are now handled correctly by Qt Designer (requires
    Qt v6.8.1 or later).
  * Implemented QtAudio as a synonym for QAudio.
  * Added QWindow.setVulkanInstance(), QWindow.vulkanInstance(),
    QVulkanExtension, QVulkanInstance and QVulkanLayer.
  * Bug fixes.
- Should fix boo#1234295

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=38
2025-01-08 21:19:26 +00:00
c7564e60b7 Accepting request 1222700 from KDE:Qt:PyQt
- Fix requires_eq replacement gh#openSUSE/python-rpm-macros#185

OBS-URL: https://build.opensuse.org/request/show/1222700
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PyQt6?expand=0&rev=26
2024-11-09 19:52:50 +00:00
bb7ea86855 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=37 2024-11-08 09:50:23 +00:00
f94abdbf09 - Fix requires_eq replacement gh#openSUSE/python-rpm-macros#185
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=36
2024-11-08 09:14:04 +00:00
e9f8220df3 Accepting request 1221363 from KDE:Qt:PyQt
OBS-URL: https://build.opensuse.org/request/show/1221363
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PyQt6?expand=0&rev=25
2024-11-06 15:49:35 +00:00
b7b4a15a84 - Avoid using requires_eq, which after the last modifications
conflicts with python singlespec (order of expansion).

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=35
2024-11-05 09:24:16 +00:00
f14b7bb29e Accepting request 1208477 from KDE:Qt:PyQt
- Change version to 6.8.0~dev2410061818
  * Mark development version for correct order before release
- Changes from 6.7.1
  * SIP v6.8.6 and PyQt6-sip v13.8 are now required for Python
    v3.13 support and for Linux on ARM.

- Update to 6.8.0.dev2410061818:
  * Added support for Qt v6.8 (excluding any technical previews).
  * Implemented QtAudio as a synonym for QAudio.
  * Bug fixes.

OBS-URL: https://build.opensuse.org/request/show/1208477
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-PyQt6?expand=0&rev=24
2024-10-17 16:38:29 +00:00
c8e6cde1d2 - Changes from 6.7.1
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=34
2024-10-16 15:52:16 +00:00
da98f8b6d3 - Change version to 6.8.0~dev2410061818
* Mark development version for correct order before release
- Changes from 6.7.  
  * SIP v6.8.6 and PyQt6-sip v13.8 are now required for Python
    v3.13 support and for Linux on ARM.

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=33
2024-10-16 15:51:38 +00:00
Christophe Marin
1f035e94c5 PyQt6 for 6.8. Tested on 15.6 by using retext + webengine. Works!
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:PyQt/python-PyQt6?expand=0&rev=32
2024-10-16 09:39:44 +00:00
6 changed files with 194 additions and 32 deletions

Binary file not shown.

4
_multibuild Normal file
View File

@@ -0,0 +1,4 @@
<multibuild>
<flavor>qt6pdf</flavor>
</multibuild>

View File

@@ -0,0 +1,14 @@
Index: pyqt6-6.8.1/project.py
===================================================================
--- pyqt6-6.8.1.orig/project.py
+++ pyqt6-6.8.1/project.py
@@ -180,7 +180,8 @@ del find_qt
'win32': 'Windows',
}
- self.bindings['QtCore'].tags.append(
+ if QtCore in self.bindings:
+ self.bindings['QtCore'].tags.append(
platform_tags_map.get(self.py_platform, 'Linux'))
# Make sure the bindings are buildable.

BIN
pyqt6-6.9.1.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -1,3 +1,87 @@
-------------------------------------------------------------------
Mon Jun 9 16:50:12 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 6.9.1
* The licensing information now conforms to PEP 639.
* Added the missing setNativeArguments() and nativeArguments() to
QProcess (Windows only).
* Enums that have a base type smaller than int are now properly
specified and handled.
* Fixed a regression that broke building against versions of Qt
older than v6.5.
* Fixed pyuic6 to handle QIcons created from QIcon.ThemeIcon.
- Release note for 6.9.0
* This adds support for Qt v6.9.
- Drop PyQt6-Qt6.9.0.patch
-------------------------------------------------------------------
Fri Apr 25 07:44:03 UTC 2025 - Antonio Larrosa <alarrosa@suse.com>
- Split the package to build the Qt6Pdf bindings as a separate
flavor. This allows to build most of the bindings in SLFO but
only build the Qt6Pdf bindings (which need qt6-webengine) in
Backports.
- Add patch to allow building only the Qt6Pdf bindings without
having to build Qt6Core too:
* fix-build-without-qtcore.patch
-------------------------------------------------------------------
Thu Apr 3 17:05:34 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 6.8.1
* Added the QtStateMachine module.
* Bug fixes.
- Drop 0001-Fix-build-with-Qt-6.8.2.patch
- Add PyQt6-Qt6.9.0.patch in order to build with Qt 6.9.0. This is
basically PyQt6 6.9.0.dev2504021615 without the version bump
-------------------------------------------------------------------
Sun Feb 2 12:00:43 UTC 2025 - Christophe Marin <christophe@krop.fr>
- Add build fix:
* 0001-Fix-build-with-Qt-6.8.2.patch
-------------------------------------------------------------------
Wed Jan 8 15:33:06 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 6.8.0
* Added support for Qt v6.8 (excluding any technical previews).
* Python enums are now handled correctly by Qt Designer (requires
Qt v6.8.1 or later).
* Implemented QtAudio as a synonym for QAudio.
* Added QWindow.setVulkanInstance(), QWindow.vulkanInstance(),
QVulkanExtension, QVulkanInstance and QVulkanLayer.
* Bug fixes.
- Should fix boo#1234295
-------------------------------------------------------------------
Fri Nov 8 08:57:02 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Fix requires_eq replacement gh#openSUSE/python-rpm-macros#185
-------------------------------------------------------------------
Tue Nov 5 08:20:32 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Avoid using requires_eq, which after the last modifications
conflicts with python singlespec (order of expansion).
-------------------------------------------------------------------
Wed Oct 16 15:48:52 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Change version to 6.8.0~dev2410061818
* Mark development version for correct order before release
- Changes from 6.7.1
* SIP v6.8.6 and PyQt6-sip v13.8 are now required for Python
v3.13 support and for Linux on ARM.
-------------------------------------------------------------------
Wed Oct 16 08:11:34 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Update to 6.8.0.dev2410061818:
* Added support for Qt v6.8 (excluding any technical previews).
* Implemented QtAudio as a synonym for QAudio.
* Bug fixes.
-------------------------------------------------------------------
Tue Sep 10 14:40:49 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>

View File

@@ -19,24 +19,45 @@
%define plainpython python
%define mname PyQt6
%define pyqt_build_for_qt6 1
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "qt6pdf"
%define pkg_suffix -qt6pdf
%bcond_without qt6pdf
%if (0%{?suse_version} == 1600 && !0%{?is_opensuse}) || 0%{?suse_version} < 1600
# SLFO and SLE15 don't have cmake(Qt6Pdf)
ExclusiveArch: do_not_build
%endif
%ifnarch aarch64 x86_64 riscv64
# qt6-pdf-devel is built in qt6-webengine with ExclusiveArch
ExclusiveArch: do_not_build
%endif
%else
%bcond_with qt6pdf
%endif
%{?sle15_python_module_pythons}
Name: python-%{mname}
Version: 6.7.0
Name: python-%{mname}%{?pkg_suffix}
Version: 6.9.1
Release: 0
Summary: Python bindings for Qt 6
License: GPL-3.0-only OR SUSE-GPL-2.0-with-FLOSS-exception OR NonFree
Group: Development/Libraries/Python
URL: https://www.riverbankcomputing.com/software/pyqt
Source: https://files.pythonhosted.org/packages/source/P/PyQt6/PyQt6-%{version}.tar.gz
Source: https://files.pythonhosted.org/packages/source/P/PyQt6/pyqt6-%{version}.tar.gz
# PATCH-FIX-OPENSUSE - disable-rpaths.diff - Disable RPATH when building PyQt6.
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 PyQt6-sip >= 13.6}
# PATCH-FIX-UPSTREAM fix-build-without-qtcore.patch -- Allow building only the Qt6Pdf bindings
Patch3: fix-build-without-qtcore.patch
BuildRequires: %{python_module PyQt6-sip >= 13.8}
BuildRequires: %{python_module dbus-python-devel >= 0.8}
BuildRequires: %{python_module devel >= 3.6.1}
BuildRequires: %{python_module pyqt-builder >= 1.15}
BuildRequires: %{python_module sip-devel >= 6.5}
BuildRequires: %{python_module devel >= 3.9}
BuildRequires: %{python_module pyqt-builder >= 1.17}
BuildRequires: %{python_module sip-devel >= 6.12}
BuildRequires: dbus-1-devel
BuildRequires: dos2unix
BuildRequires: fdupes
@@ -45,6 +66,11 @@ BuildRequires: python-pyqt-rpm-macros
BuildRequires: python-rpm-macros
BuildRequires: qt6-base-devel
BuildRequires: qt6-macros
%if %{with qt6pdf}
BuildRequires: cmake(Qt6Pdf)
BuildRequires: cmake(Qt6PdfWidgets)
BuildRequires: %{python_module PyQt6-devel}
%else
BuildRequires: cmake(Qt6Bluetooth)
BuildRequires: cmake(Qt6Designer)
BuildRequires: cmake(Qt6DBus)
@@ -55,14 +81,6 @@ BuildRequires: cmake(Qt6Network)
BuildRequires: cmake(Qt6Nfc)
BuildRequires: cmake(Qt6OpenGL)
BuildRequires: cmake(Qt6OpenGLWidgets)
%if %{?suse_version} >= 1550
# no pdf headers in 15.X
%ifarch aarch64 x86_64 riscv64
# qt6-pdf-devel is built in qt6-webengine with ExclusiveArch
BuildRequires: cmake(Qt6Pdf)
BuildRequires: cmake(Qt6PdfWidgets)
%endif
%endif
BuildRequires: cmake(Qt6Positioning)
BuildRequires: cmake(Qt6PrintSupport)
BuildRequires: cmake(Qt6Qml)
@@ -78,6 +96,7 @@ BuildRequires: cmake(Qt6SerialPort)
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 155000
BuildRequires: cmake(Qt6SpatialAudio)
%endif
BuildRequires: cmake(Qt6StateMachine)
BuildRequires: cmake(Qt6Sql)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6SvgWidgets)
@@ -89,9 +108,15 @@ BuildRequires: cmake(Qt6WebChannel)
BuildRequires: cmake(Qt6WebSockets)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(Qt6Xml)
%requires_ge python-PyQt6-sip
%requires_ge python-dbus-python
%endif
Requires: python-PyQt6-sip >= %(rpm -q --whatprovides python-PyQt6-sip --qf "%%{version}")
Requires: python-dbus-python >= %(rpm -q --whatprovides python-dbus-python --qf "%%{version}")
%if %{with qt6pdf}
Requires: python-PyQt6
%else
Recommends: python-PyQt6-qt6pdf
Provides: python-qt6 = %{version}-%{release}
%endif
%python_subpackages
%description
@@ -105,6 +130,10 @@ Requires: python-dbus-python-devel >= 0.8
Requires: python-devel
Requires: qt6-base-devel
Requires: qt6-macros
%if %{with qt6pdf}
Requires: cmake(Qt6Pdf)
Requires: cmake(Qt6PdfWidgets)
%else
Requires: cmake(Qt6Bluetooth)
Requires: cmake(Qt6Designer)
Requires: cmake(Qt6DBus)
@@ -115,14 +144,6 @@ Requires: cmake(Qt6Network)
Requires: cmake(Qt6Nfc)
Requires: cmake(Qt6OpenGL)
Requires: cmake(Qt6OpenGLWidgets)
%if %{?suse_version} >= 1550
# no pdf headers in 15.X
%ifarch aarch64 x86_64 riscv64
# qt6-pdf-devel is built in qt6-webengine with ExclusiveArch
Requires: cmake(Qt6Pdf)
Requires: cmake(Qt6PdfWidgets)
%endif
%endif
Requires: cmake(Qt6Positioning)
Requires: cmake(Qt6PrintSupport)
Requires: cmake(Qt6Qml)
@@ -149,14 +170,19 @@ Requires: cmake(Qt6WebChannel)
Requires: cmake(Qt6WebSockets)
Requires: cmake(Qt6Widgets)
Requires: cmake(Qt6Xml)
%endif
Requires: %plainpython(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 PyQt6.
%if %{with qt6pdf}
Requires: python-PyQt6-devel
%else
Recommends: python-sip-devel
Recommends: python-qscintilla-qt6
Provides: python-qt6-devel = %{version}-%{release}
%endif
%description devel
PyQt is a set of Python bindings for the Qt framework.
@@ -176,7 +202,7 @@ PyQt is a set of Python bindings for the Qt framework.
This package contains programming examples for PyQt6.
%prep
%autosetup -p1 -n PyQt6-%{version}
%autosetup -p1 -n pyqt6-%{version}
dos2unix examples/quick/models/*/view.qml
dos2unix examples/multimedia*/*/*.ui
@@ -187,17 +213,42 @@ dos2unix examples/multimedia*/*/*.ui
-s %{quote:--pep484-pyi \
--confirm-license \
--qt-shared \
--qmake-setting 'QMAKE_CXXFLAGS_RELEASE=%{optflags} -DQT_NO_INT128'}}
--qmake-setting 'QMAKE_CXXFLAGS_RELEASE=%{optflags} -DQT_NO_INT128'\
%if %{with qt6pdf}
--enable QtPdf \
%endif
%{nil}
}}
%install
%pyqt_install
%if %{without qt6pdf}
%pyqt_install_examples %mname
%python_clone -a %{buildroot}%{_bindir}/pyuic6
%python_clone -a %{buildroot}%{_bindir}/pylupdate6
%else
# We have to remove installed files that aren't part of qt6pdf
rm %{buildroot}%{_bindir}/pyuic6 \
%{buildroot}%{_bindir}/pylupdate6
rm -Rf %{buildroot}%{_qt6_datadir}/qsci
%{python_expand
rm -Rf %{buildroot}%{$python_sitelib}/dbus \
%{buildroot}%{$python_sitearch}/PyQt6/uic \
%{buildroot}%{$python_sitearch}/PyQt6/lupdate \
%{buildroot}%{$python_sitearch}/[Pp]y[Qq]t6-%{version}.dist-info
rm %{buildroot}%{$python_sitearch}/PyQt6/__init__.py \
%{buildroot}%{$python_sitearch}/PyQt6/dbus_mainloop.abi3.so \
%{buildroot}%{$python_sitearch}/PyQt6/py.typed \
%{buildroot}%{$python_sitearch}/PyQt6/sip.pyi
}
%endif
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%if %{without qt6pdf}
%check
export PYTHONDONTWRITEBYTECODE=1 # boo#1047218
%{python_expand # there is no test suite. If it compiles and imports, it should be okay.
@@ -211,20 +262,29 @@ $python -c 'from PyQt6 import QtCore; assert QtCore.PYQT_VERSION_STR == "%{versi
%postun devel
%python_uninstall_alternative pyuic6
%endif
%files %{python_files}
%license LICENSE
%if %{without qt6pdf}
%doc README.md NEWS ChangeLog
%{python_sitearch}/PyQt6/
%{python_sitearch}/PyQt6-%{version}.dist-info/
%{python_sitearch}/[Pp]y[Qq]t6-%{version}.dist-info/
%dir %{python_sitelib}/dbus
%dir %{python_sitelib}/dbus/mainloop
%{python_sitelib}/dbus/mainloop/pyqt6.py
%dir %{_qt6_pluginsdir}/PyQt6/
%{_qt6_pluginsdir}/PyQt6/libpy%{python_bin_suffix}qt6qmlplugin.so
%exclude %pyqt6_sipdir
%exclude %{python_sitearch}/PyQt6/QtPdf.*
%else
%{python_sitearch}/PyQt6/QtPdf.*
%endif
%files %{python_files devel}
%license LICENSE
%pyqt6_sipdir
%if %{without qt6pdf}
%python_alternative %{_bindir}/pyuic6
%python_alternative %{_bindir}/pylupdate6
%dir %{_qt6_pluginsdir}/designer/
@@ -233,7 +293,6 @@ $python -c 'from PyQt6 import QtCore; assert QtCore.PYQT_VERSION_STR == "%{versi
%dir %{_qt6_datadir}/qsci/api/
%dir %{_qt6_datadir}/qsci/api/python_%{python_bin_suffix}/
%{_qt6_datadir}/qsci/api/python_%{python_bin_suffix}/PyQt6.api
%pyqt6_sipdir
%files %{python_files doc}
%license LICENSE
@@ -241,5 +300,6 @@ $python -c 'from PyQt6 import QtCore; assert QtCore.PYQT_VERSION_STR == "%{versi
%exclude %{_docdir}/%{python_prefix}-%{mname}/README.md
%exclude %{_docdir}/%{python_prefix}-%{mname}/NEWS
%exclude %{_docdir}/%{python_prefix}-%{mname}/ChangeLog
%endif
%changelog