315 lines
9.6 KiB
RPMSpec
315 lines
9.6 KiB
RPMSpec
%if 0%{?fedora} || 0%{?rhel} > 6
|
|
%global python3_dbus_dir %(%{__python3} -c "import dbus.mainloop; print(dbus.mainloop.__path__[0])" 2>/dev/null || echo "%{python3_sitearch}/dbus/mainloop")
|
|
%endif
|
|
|
|
|
|
Summary: PyQt6 is Python bindings for Qt6
|
|
Name: python-pyqt6
|
|
Version: 6.6.0
|
|
Release: 2%{?dist}
|
|
|
|
License: gpl-3.0-only
|
|
Url: http://www.riverbankcomputing.com/software/pyqt/
|
|
Source0: https://pypi.python.org/packages/source/P/PyQt6/PyQt6-%{version}.tar.gz
|
|
Source1: macros.pyqt6
|
|
|
|
BuildRequires: make
|
|
BuildRequires: chrpath
|
|
BuildRequires: findutils
|
|
BuildRequires: cmake
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: pkgconfig(dbus-1)
|
|
BuildRequires: pkgconfig(dbus-python)
|
|
BuildRequires: pkgconfig(libpulse-mainloop-glib)
|
|
|
|
BuildRequires: qt6-qtbase-private-devel
|
|
|
|
BuildRequires: cmake(Qt6Core)
|
|
BuildRequires: cmake(Qt6Bluetooth)
|
|
BuildRequires: cmake(Qt6DBus)
|
|
BuildRequires: cmake(Qt6Designer)
|
|
BuildRequires: cmake(Qt6Gui)
|
|
BuildRequires: cmake(Qt6Multimedia)
|
|
BuildRequires: cmake(Qt6Nfc)
|
|
BuildRequires: cmake(Qt6Network)
|
|
BuildRequires: cmake(Qt6OpenGL)
|
|
%if 0%{?fedora} || 0%{?epel}
|
|
%ifarch %{qt6_qtwebengine_arches}
|
|
BuildRequires: cmake(Qt6Pdf) cmake(Qt6PdfWidgets)
|
|
%endif
|
|
%endif
|
|
BuildRequires: cmake(Qt6Positioning)
|
|
BuildRequires: cmake(Qt6Quick) cmake(Qt6QuickWidgets)
|
|
BuildRequires: cmake(Qt6Sensors)
|
|
BuildRequires: cmake(Qt6SerialPort)
|
|
BuildRequires: cmake(Qt6Sql)
|
|
BuildRequires: cmake(Qt6Svg)
|
|
BuildRequires: cmake(Qt6Test)
|
|
BuildRequires: cmake(Qt6TextToSpeech)
|
|
BuildRequires: cmake(Qt6Xml)
|
|
BuildRequires: cmake(Qt6WebChannel)
|
|
BuildRequires: cmake(Qt6WebSockets)
|
|
BuildRequires: cmake(Qt6Quick3D)
|
|
BuildRequires: cmake(Qt6Quick3DRuntimeRender)
|
|
BuildRequires: cmake(Qt6RemoteObjects)
|
|
|
|
BuildRequires: python%{python3_pkgversion}-devel python%{python3_pkgversion}
|
|
BuildRequires: python%{python3_pkgversion}-dbus
|
|
BuildRequires: %{py3_dist PyQt-builder} >= 1.1.0
|
|
BuildRequires: %{py3_dist sip}
|
|
|
|
%description
|
|
%{summary}.
|
|
|
|
%global __provides_exclude_from ^(%{_qt6_plugindir}/.*\\.so)$
|
|
|
|
%package rpm-macros
|
|
Summary: RPM macros %{name}
|
|
BuildArch: noarch
|
|
%description rpm-macros
|
|
%{summary}.
|
|
|
|
%package -n python%{python3_pkgversion}-pyqt6
|
|
Summary: Python 3 bindings for Qt6
|
|
Provides: PyQt6 = %{version}-%{release}
|
|
Provides: PyQt6%{?_isa} = %{version}-%{release}
|
|
Provides: python%{python3_pkgversion}-PyQt6 = %{version}-%{release}
|
|
Provides: python%{python3_pkgversion}-PyQt6%{?_isa} = %{version}-%{release}
|
|
Requires: python%{python3_pkgversion}-pyqt6-base%{?_isa} = %{version}-%{release}
|
|
%{?py_provides:%py_provides python%{python3_pkgversion}-pyqt6}
|
|
|
|
%description -n python%{python3_pkgversion}-pyqt6
|
|
%{summary}.
|
|
|
|
%package -n python%{python3_pkgversion}-pyqt6-base
|
|
Summary: Python 3 bindings for Qt6 base
|
|
%{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}}
|
|
Provides: python%{python3_pkgversion}-PyQt6-base = %{version}-%{release}
|
|
Provides: python%{python3_pkgversion}-PyQt6-base%{?_isa} = %{version}-%{release}
|
|
Requires: %{name}-rpm-macros = %{version}-%{release}
|
|
Requires: python%{python3_pkgversion}-dbus
|
|
%{?py_provides:%py_provides python%{python3_pkgversion}-pyqt6-base}
|
|
|
|
%description -n python%{python3_pkgversion}-pyqt6-base
|
|
%{summary}.
|
|
|
|
%package -n python%{python3_pkgversion}-pyqt6-devel
|
|
Summary: Development files for python3-qt6
|
|
Requires: python%{python3_pkgversion}-pyqt6%{?_isa} = %{version}-%{release}
|
|
Requires: qt6-qtbase-devel
|
|
Provides: python%{python3_pkgversion}-PyQt6-devel = %{version}-%{release}
|
|
%{?py_provides:%py_provides python%{python3_pkgversion}-pyqt6-devel}
|
|
|
|
%description -n python%{python3_pkgversion}-pyqt6-devel
|
|
Files needed to build other bindings for C++ classes that inherit from any
|
|
of the Qt6 classes.
|
|
|
|
%package doc
|
|
Summary: Developer documentation for %{name}
|
|
Provides: PyQt6-doc = %{version}-%{release}
|
|
BuildArch: noarch
|
|
%description doc
|
|
%{summary}.
|
|
|
|
|
|
%prep
|
|
%autosetup -n PyQt6-%{version}%{?snap:.%{snap}} -p1
|
|
|
|
%build
|
|
|
|
PATH=%{_qt6_bindir}:$PATH ; export PATH
|
|
|
|
# Python 3 build:
|
|
sip-build \
|
|
--no-make \
|
|
--qt-shared \
|
|
--confirm-license \
|
|
--qmake=%{_qt6_qmake} \
|
|
--api-dir=%{_qt6_datadir}/qsci/api/python \
|
|
--verbose \
|
|
--dbus=%{_includedir}/dbus-1.0/ \
|
|
--pep484-pyi \
|
|
--qmake-setting 'QMAKE_CFLAGS_RELEASE="%{build_cflags}"' \
|
|
--qmake-setting 'QMAKE_CXXFLAGS_RELEASE="%{build_cxxflags} `pkg-config --cflags dbus-python` -DQT_NO_INT128"' \
|
|
--qmake-setting 'QMAKE_LFLAGS_RELEASE="%{build_ldflags}"'
|
|
|
|
%make_build -C build
|
|
|
|
%install
|
|
|
|
# Python 3 build:
|
|
%make_install INSTALL_ROOT=%{buildroot} -C build
|
|
if [ "%{_prefix}" != "/usr" ]; then
|
|
cp -ru %{buildroot}/usr/* %{buildroot}%{_prefix}/ || echo "Nothing to copy"
|
|
rm -rf %{buildroot}/usr/*
|
|
fi
|
|
|
|
# Explicitly byte compile as the automagic byte compilation doesn't work for
|
|
# /app prefix in flatpak builds
|
|
%py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/PyQt6
|
|
|
|
# ensure .so modules are executable for proper -debuginfo extraction
|
|
find %{buildroot} -type f -name '*.so' | xargs chmod a+rx
|
|
|
|
# rpm macros
|
|
install -p -m644 -D %{SOURCE1} \
|
|
%{buildroot}%{_rpmmacrodir}/macros.pyqt6
|
|
sed -i \
|
|
-e "s|@@NAME@@|%{name}|g" \
|
|
-e "s|@@EPOCH@@|%{?epoch}%{!?epoch:0}|g" \
|
|
-e "s|@@VERSION@@|%{version}|g" \
|
|
-e "s|@@EVR@@|%{?epoch:%{epoch:}}%{version}-%{release}|g" \
|
|
%{buildroot}%{_rpmmacrodir}/macros.pyqt6
|
|
|
|
|
|
%files rpm-macros
|
|
%{_rpmmacrodir}/macros.pyqt6
|
|
|
|
%files -n python%{python3_pkgversion}-pyqt6
|
|
|
|
%{python3_sitearch}/PyQt6/QtBluetooth.*
|
|
%{python3_sitearch}/PyQt6/QtDesigner.*
|
|
%{python3_sitearch}/PyQt6/QtHelp.*
|
|
%{python3_sitearch}/PyQt6/QtMultimedia.*
|
|
%{python3_sitearch}/PyQt6/QtMultimediaWidgets.*
|
|
%{python3_sitearch}/PyQt6/QtNfc.*
|
|
%if 0%{?fedora} || 0%{?epel}
|
|
%ifarch %{qt6_qtwebengine_arches}
|
|
%{python3_sitearch}/PyQt6/QtPdf.*
|
|
%{python3_sitearch}/PyQt6/QtPdfWidgets.*
|
|
%endif
|
|
%endif
|
|
%{python3_sitearch}/PyQt6/QtPositioning.*
|
|
%{python3_sitearch}/PyQt6/QtQml.*
|
|
%{python3_sitearch}/PyQt6/QtQuick.*
|
|
%{python3_sitearch}/PyQt6/QtQuickWidgets.*
|
|
%{python3_sitearch}/PyQt6/QtSensors.*
|
|
%{python3_sitearch}/PyQt6/QtSerialPort.*
|
|
%{python3_sitearch}/PyQt6/QtSvg.*
|
|
%{python3_sitearch}/PyQt6/QtTextToSpeech.*
|
|
%{python3_sitearch}/PyQt6/QtWebChannel.*
|
|
%{python3_sitearch}/PyQt6/QtWebSockets.*
|
|
%{python3_sitearch}/PyQt6/QtOpenGLWidgets.*
|
|
%{python3_sitearch}/PyQt6/QtSvgWidgets.*
|
|
%{python3_sitearch}/PyQt6/QtQuick3D.*
|
|
%{python3_sitearch}/PyQt6/QtRemoteObjects.*
|
|
%{python3_sitearch}/PyQt6/QtSpatialAudio.*
|
|
|
|
|
|
%files -n python%{python3_pkgversion}-pyqt6-base
|
|
%doc NEWS README
|
|
%license LICENSE
|
|
%{python3_dbus_dir}/pyqt6.abi3.so
|
|
%dir %{python3_sitearch}/PyQt6/
|
|
%{python3_sitearch}/PyQt6-%{version}%{?snap:.%{snap}}.dist-info
|
|
%{python3_sitearch}/PyQt6/__pycache__/__init__.*
|
|
%{python3_sitearch}/PyQt6/__init__.py*
|
|
%{python3_sitearch}/PyQt6/QtCore.*
|
|
%{python3_sitearch}/PyQt6/QtDBus.*
|
|
%{python3_sitearch}/PyQt6/QtGui.*
|
|
%{python3_sitearch}/PyQt6/QtNetwork.*
|
|
%{python3_sitearch}/PyQt6/QtOpenGL.*
|
|
%{python3_sitearch}/PyQt6/QtPrintSupport.*
|
|
%{python3_sitearch}/PyQt6/QtSql.*
|
|
%{python3_sitearch}/PyQt6/QtTest.*
|
|
%{python3_sitearch}/PyQt6/QtWidgets.*
|
|
%{python3_sitearch}/PyQt6/QtXml.*
|
|
|
|
# plugins
|
|
%{_qt6_plugindir}/PyQt6/
|
|
%{_qt6_plugindir}/designer/libpyqt6.so
|
|
%{python3_sitearch}/PyQt6/uic/
|
|
%{python3_sitearch}/PyQt6/lupdate/
|
|
%{_bindir}/pylupdate6
|
|
%{_bindir}/pyuic6
|
|
%{python3_sitearch}/PyQt6/py.typed
|
|
%{python3_sitearch}/PyQt6/sip.pyi
|
|
|
|
%files -n python%{python3_pkgversion}-pyqt6-devel
|
|
%{python3_sitearch}/PyQt6/bindings/
|
|
|
|
|
|
%files doc
|
|
#doc doc/*
|
|
%doc examples/
|
|
# avoid dep on qscintilla-python, own %%_qt6_datadir/qsci/... here for now
|
|
%dir %{_qt6_datadir}/qsci/
|
|
%dir %{_qt6_datadir}/qsci/api/
|
|
%dir %{_qt6_datadir}/qsci/api/python/
|
|
%doc %{_qt6_datadir}/qsci/api/python/PyQt6.api
|
|
|
|
|
|
%changelog
|
|
* Wed Nov 29 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-2
|
|
- Rebuild (qt6)
|
|
|
|
* Mon Oct 30 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-1
|
|
- 6.6.0
|
|
|
|
* Sat Oct 14 2023 Sandro Mani <manisandro@gmail.com> - 6.5.3-1
|
|
- Update to 6.5.3
|
|
|
|
* Fri Oct 13 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.2-4
|
|
- Rebuild (qt6)
|
|
|
|
* Thu Oct 05 2023 Justin Zobel <justin.zobel@gmail.com> - 6.5.2-3
|
|
- Rebuild for Qt Private API
|
|
|
|
* Tue Sep 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 6.5.2-2
|
|
- Enable QtPdf and QtTextToSpeech bindings
|
|
|
|
* Mon Jul 24 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.2-1
|
|
- 6.5.2
|
|
|
|
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.1-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
|
|
* Wed Jul 12 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.1-5
|
|
- Rebuild for qtbase private API version change
|
|
|
|
* Wed Jul 12 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.1-4
|
|
- Rebuild for qtbase private API version change
|
|
|
|
* Mon Jun 26 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 6.5.1-3
|
|
- Rebuilt for Python 3.12 with patched python-pyqt6-sip
|
|
|
|
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 6.5.1-2
|
|
- Rebuilt for Python 3.12
|
|
|
|
* Mon Jun 05 2023 Sandro Mani <manisandro@gmail.com> - 6.5.1-1
|
|
- Update to 6.5.1
|
|
|
|
* Fri May 26 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.0-2
|
|
- Rebuild (qt6)
|
|
|
|
* Thu May 18 2023 Miro Hrončok <mhroncok@redhat.com> - 6.5.0-1
|
|
- Update to 6.5.0
|
|
|
|
* Tue Apr 04 2023 Jan Grulich <jgrulich@redhat.com> - 6.4.0-7
|
|
- Rebuild (qt6)
|
|
|
|
* Wed Mar 29 2023 Tomas Popela <tpopela@redhat.com> - 6.4.0-6
|
|
- Rebuild to fix ELN build
|
|
|
|
* Mon Mar 27 2023 Jan Grulich <jgrulich@redhat.com> - 6.4.0-5
|
|
- Rebuild (qt6)
|
|
|
|
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.4.0-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
|
|
* Tue Jan 17 2023 Jan Grulich <jgrulich@redhat.com> - 6.4.0-3
|
|
- Rebuild (qt6)
|
|
|
|
* Thu Nov 24 2022 Jan Grulich <jgrulich@redhat.com> - 6.4.0-2
|
|
- Rebuild (qt6)
|
|
|
|
* Tue Nov 08 2022 Jan Grulich <jgrulich@redhat.com> - 6.4.0-1
|
|
- 6.4.0
|
|
|
|
* Tue Sep 06 2022 Onuralp Sezer <thunderbirdtr@fedoraproject.org> - 6.3.1-1
|
|
- 6.3.1
|
|
|
|
* Tue Sep 06 2022 Onuralp Sezer <thunderbirdtr@fedoraproject.org> - 6.3.0-1
|
|
- Initial PyQt6
|
|
|