Hi all,Kvantum 1.1.0 has been released and changed the default compilation to Qt6. Due to this change, I would like to change the packaging such that the base package is Qt6 and a subpackage provides the Qt5 plugin. This causes major changes to the spec and resulting packages, so I would like some feedback on that. I also removed the dependency on the base package for the data subpackage. The circular dependency was a bit strange, and separating it allows installing kvantum-qt5 and kvantum-data separately.
Attached is the patch outlining these changes. Your feedback would be greatly appreciated.
Kind regards, Arthur Bols fas/irc: principis
From 2d7a2c39be4baee14bc830c9e7fbf0d7480095bf Mon Sep 17 00:00:00 2001 From: Arthur Bols <arthur@xxxxxxxx> Date: Mon, 18 Mar 2024 11:49:52 +0100 Subject: [PATCH] Update to 1.1.0 (fedora#2269918) --- .gitignore | 1 + kvantum.spec | 84 ++++++++++++++++++++++++++++++---------------------- sources | 2 +- 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/.gitignore b/.gitignore index 65200b2..7422abf 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /kvantum-1.0.7.tar.gz /kvantum-1.0.9.tar.gz /kvantum-1.0.10.tar.gz +/kvantum-1.1.0.tar.gz diff --git a/kvantum.spec b/kvantum.spec index b403bc3..d2d47c8 100644 --- a/kvantum.spec +++ b/kvantum.spec @@ -1,8 +1,8 @@ %global _vpath_srcdir Kvantum -%bcond_without qt6 +%bcond_without qt5 Name: kvantum -Version: 1.0.10 +Version: 1.1.0 Release: %autorelease Summary: SVG-based theme engine for Qt, KDE and LXQt @@ -15,26 +15,35 @@ BuildRequires: cmake BuildRequires: make BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(Qt6Core) +BuildRequires: pkgconfig(Qt6Gui) +BuildRequires: pkgconfig(Qt6Linguist) +BuildRequires: pkgconfig(Qt6Svg) +BuildRequires: pkgconfig(Qt6Widgets) +%if 0%{?fedora} >= 40 +BuildRequires: cmake(KF6WindowSystem) +%endif +%if %{with qt5} BuildRequires: pkgconfig(Qt5) BuildRequires: pkgconfig(Qt5Designer) BuildRequires: pkgconfig(Qt5Svg) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: cmake(KF5WindowSystem) -%if %{with qt6} -BuildRequires: pkgconfig(Qt6Core) -BuildRequires: pkgconfig(Qt6Gui) -BuildRequires: pkgconfig(Qt6Svg) -BuildRequires: pkgconfig(Qt6Widgets) %endif BuildRequires: desktop-file-utils BuildRequires: kde-filesystem -Requires: %{name}-data + Requires: hicolor-icon-theme +Requires: %{name}-data = %{version}-%{release} -%if %{with qt6} -Recommends: (%{name}-qt6 if qt6-qtbase-gui) +%if %{with qt5} +Recommends: (%{name}-qt5 if qt5-qtbase-gui) %endif +# Qt6 is default since 1.1.0 +Provides: kvantum-qt6 = %{version}-%{release} +Obsoletes: kvantum-qt6 < 1.1.0 + %description Kvantum is an SVG-based theme engine for Qt, tuned to KDE and LXQt, with an emphasis on elegance, usability and practicality. @@ -50,22 +59,21 @@ Qt widgets. Kvantum also comes with many other themes that are installed as root and can be selected and activated by using Kvantum Manager. -%if %{with qt6} -%package qt6 -Summary: SVG-based theme engine for Qt6 -Requires: %{name}-data +%if %{with qt5} +%package qt5 +Summary: SVG-based theme engine for Qt5 +Requires: %{name}-data = %{version}-%{release} -%description qt6 +%description qt5 Kvantum is an SVG-based theme engine for Qt, tuned to KDE and LXQt, with an emphasis on elegance, usability and practicality. -This package contains the Qt6 integration plugin. +This package contains the Qt5 integration plugin. %endif %package data Summary: SVG-based theme engine for Qt5, KDE and LXQt BuildArch: noarch -Requires: kvantum %description data Kvantum is an SVG-based theme engine for Qt, tuned to KDE and LXQt, with an @@ -77,22 +85,28 @@ This package contains the data needed Kvantum. %autosetup -n Kvantum-%{version} %build -%if %{with qt6} -%global _vpath_builddir %{_target_platform}-qt6 -%cmake -DENABLE_QT5:BOOL=OFF -%cmake_build -%endif +%if %{with qt5} %global _vpath_builddir %{_target_platform}-qt5 %cmake -DENABLE_QT5:BOOL=ON %cmake_build +%endif -%install -%if %{with qt6} %global _vpath_builddir %{_target_platform}-qt6 -%cmake_install +%cmake \ + -DENABLE_QT5:BOOL=OFF \ +%if 0%{?fedora} < 40 + -DWITHOUT_KF=ON %endif +%cmake_build + +%install +%if %{with qt5} %global _vpath_builddir %{_target_platform}-qt5 %cmake_install +%endif + +%global _vpath_builddir %{_target_platform}-qt6 +%cmake_install # desktop-file-validate doesn't recognize LXQt sed -i "s|LXQt|X-LXQt|" %{buildroot}%{_datadir}/applications/kvantummanager.desktop @@ -105,23 +119,23 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/kvantummanager.deskto %doc Kvantum/ChangeLog Kvantum/NEWS Kvantum/README.md %{_bindir}/kvantummanager %{_bindir}/kvantumpreview -%{_qt5_plugindir}/styles/libkvantum.so - -%if %{with qt6} -%files qt6 -%license Kvantum/COPYING %{_qt6_plugindir}/styles/libkvantum.so -%endif - -%files data -%{_datadir}/Kvantum/ %{_datadir}/applications/kvantummanager.desktop -%{_datadir}/color-schemes/Kv*.colors %{_datadir}/icons/hicolor/scalable/apps/kvantum.svg %dir %{_datadir}/kvantumpreview %dir %{_datadir}/kvantumpreview/translations %dir %{_datadir}/kvantummanager %dir %{_datadir}/kvantummanager/translations +%if %{with qt5} +%files qt5 +%{_qt5_plugindir}/styles/libkvantum.so +%endif + +%files data +%license Kvantum/COPYING +%{_datadir}/Kvantum/ +%{_datadir}/color-schemes/Kv*.colors + %changelog %autochangelog diff --git a/sources b/sources index d446366..38d1ea3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (kvantum-1.0.10.tar.gz) = fb31f424a16c37eafaaa0a1cdddde165bcaa58ed6ea3ef76e77d689c2b8b47e516a651d066712eaf14b1344e4b30955ce6c955367caf25d51f2aaa2c8970b0fd +SHA512 (kvantum-1.1.0.tar.gz) = dc6bc3cb44d3a050a7e43196f7c0ab69d5f33c5fa645cdf191631164384aed8d8130093a4da4367b061c33d0d844dc57f91352d96a9368dd9abd6694a404d7f6 -- 2.44.0
-- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue