Compare commits

1 Commits
main ... 1.1

7 changed files with 31 additions and 1472 deletions

BIN
PyQt6-6.7.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -1,14 +0,0 @@
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.8.1.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,71 +1,3 @@
-------------------------------------------------------------------
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,47 +19,24 @@
%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}%{?pkg_suffix}
Version: 6.8.1
Name: python-%{mname}
Version: 6.7.0
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
# PATCH-FIX-UPSTREAM PyQt6-Qt6.9.0.patch -- this is basically 6.9.0.dev2504021615 without the version bump
Patch2: PyQt6-Qt6.9.0.patch
# 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 PyQt6-sip >= 13.6}
BuildRequires: %{python_module dbus-python-devel >= 0.8}
BuildRequires: %{python_module devel >= 3.9}
BuildRequires: %{python_module pyqt-builder >= 1.17}
BuildRequires: %{python_module sip-devel >= 6.9}
BuildRequires: %{python_module devel >= 3.6.1}
BuildRequires: %{python_module pyqt-builder >= 1.15}
BuildRequires: %{python_module sip-devel >= 6.5}
BuildRequires: dbus-1-devel
BuildRequires: dos2unix
BuildRequires: fdupes
@@ -68,11 +45,6 @@ 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)
@@ -83,6 +55,14 @@ 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)
@@ -98,7 +78,6 @@ 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)
@@ -110,15 +89,9 @@ BuildRequires: cmake(Qt6WebChannel)
BuildRequires: cmake(Qt6WebSockets)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(Qt6Xml)
%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
%requires_ge python-PyQt6-sip
%requires_ge python-dbus-python
Provides: python-qt6 = %{version}-%{release}
%endif
%python_subpackages
%description
@@ -132,10 +105,6 @@ 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)
@@ -146,6 +115,14 @@ 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)
@@ -172,19 +149,14 @@ 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.
@@ -204,7 +176,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
@@ -215,42 +187,17 @@ dos2unix examples/multimedia*/*/*.ui
-s %{quote:--pep484-pyi \
--confirm-license \
--qt-shared \
--qmake-setting 'QMAKE_CXXFLAGS_RELEASE=%{optflags} -DQT_NO_INT128'\
%if %{with qt6pdf}
--enable QtPdf \
%endif
%{nil}
}}
--qmake-setting 'QMAKE_CXXFLAGS_RELEASE=%{optflags} -DQT_NO_INT128'}}
%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}/PyQt6-%{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.
@@ -264,11 +211,8 @@ $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/
@@ -278,15 +222,9 @@ $python -c 'from PyQt6 import QtCore; assert QtCore.PYQT_VERSION_STR == "%{versi
%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/
@@ -295,6 +233,7 @@ $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
@@ -302,6 +241,5 @@ $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