SonicDE-rpmspecs/sonic-breeze/sonic-breeze.spec
test a88703e93e
Some checks failed
Build RPMs / build (push) Has been cancelled
Add EPEL apps at latest versions and fix all EPEL dependency conflicts
Add 8 new packages built from upstream KDE sources at versions matching
the rest of SonicDE (Gear 26.04.3, Plasma 6.7.4):
- colord-kde 26.04.3
- dolphin-plugins 26.04.3
- filelight 26.04.3
- kde-gtk-config 6.7.4
- kde-inotify-survey 26.04.3
- ksanecore 26.04.3 (dependency for skanpage)
- plasma-discover 6.7.4 (with snap backend disabled)
- skanpage 26.04.3

These packages replace the EPEL versions and use SonicDE dependencies
instead of kf6-*/plasma-* packages, ensuring they are upgraded (not
removed) when SonicDE is installed alongside EPEL KDE.

Fix EPEL dependencies in existing SonicDE packages that caused packages
to be removed during dnf upgrade --allowerasing:
- sonic-desktop-interface: kde-cli-tools -> sonic-terminal-tools,
  kmenuedit -> sonic-launcher-menu-edit, kwrited -> sonic-write-daemon,
  signon-plugin-oauth2 and plasma-systemsettings changed to Recommends
- sonic-workspace: kio-fuse -> sonic-frameworks-io-fuse,
  polkit-kde -> sonic-polkit-agent,
  xdg-desktop-portal-kde -> xdg-desktop-portal-sonicde,
  plasma-keyboard and kde-settings-plasma changed to Recommends
- sonic-workspace-addons: kf6-plasma -> sonic-interface-libraries
- kde-gtk-config: breeze-gtk-common -> sonic-silver-gtk-common
- sonic-login-manager: kde-settings-plasma changed to Recommends
- kcm-soniclogin: plasma-systemsettings changed to Recommends
- sonic-rpm-macros: kde-qdoc-common changed to Recommends
- sonic-welcome-center: add Obsoletes for plasma-welcome

Also includes Obsoletes/Provides fixes across all spec files for proper
EPEL package replacement, and Conflicts tag removal from spec files.

Result: dnf upgrade --allowerasing from standard EPEL KDE removes 0
packages. dnf install of SonicDE packages installs 195 packages with
0 removals.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-27 17:11:06 +00:00

199 lines
5.7 KiB
RPMSpec

# Generated for SonicDE from Fedora's plasma-breeze.spec.
# SonicDE is a hard fork of KDE Plasma; the sources come from the
# https://github.com/Sonic-DE/sonic-breeze fork, not from download.kde.org.
%define _disable_source_fetch 0
%define debug_package %{nil}
%global reponame sonic-breeze
# Upstream KDE project: breeze
%global oldname plasma-breeze
%global base_name breeze
# SonicDE is a Qt6/KF6-only hard fork; no KF5 packages are shipped.
%bcond_with kf5
#Name: plasma-breeze
Name: sonic-breeze
Version: 6.7.4.3
Release: 3%{?dist}
Summary: Artwork, styles and assets for the Breeze visual style for the Plasma Desktop
License: BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND MIT
#URL: https://invent.kde.org/plasma/%%{base_name}.git
URL: https://github.com/Sonic-DE/%{reponame}
#Source0: https://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{base_name}-%%{version}.tar.xz
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
#Source1: https://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{base_name}-%%{version}.tar.xz.sig
# Upstream Patches
# Use font metrics to only inset where the text can spare it
# https://invent.kde.org/plasma/breeze/-/commit/a74ad95349ec913f1042f5390dbd95a8341aea06
Patch0: a74ad95349ec913f1042f5390dbd95a8341aea06.patch
# Misc
BuildRequires: sonic-frameworks-cmake-modules
BuildRequires: gettext
%if %{with kf5}
# Qt5
BuildRequires: kf5-rpm-macros
BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5FrameworkIntegration)
BuildRequires: cmake(KF5GuiAddons)
BuildRequires: cmake(KF5Kirigami2)
BuildRequires: cmake(KF5WindowSystem)
BuildRequires: cmake(Qt5DBus)
BuildRequires: cmake(Qt5Quick)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: cmake(Qt5X11Extras)
Requires: (%{name}-qt5 if qt5-qtbase-gui)
%endif
# Qt6
BuildRequires: sonic-rpm-macros
BuildRequires: cmake(KDecoration3)
BuildRequires: cmake(KF6ColorScheme)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6FrameworkIntegration)
BuildRequires: cmake(KF6GuiAddons)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6KCMUtils)
BuildRequires: cmake(KF6KirigamiPlatform)
BuildRequires: cmake(KF6WindowSystem)
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6DBus)
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(Qt6Svg)
Requires: %{name}-qt6
# since we provide a cmake dev-like file
Provides: %{name}-devel = %{version}-%{release}
Provides: plasma-breeze%{?_isa} = %{version}-%{release}
Obsoletes: plasma-breeze < %{version}-%{release}
%description
%{summary}.
%package qt6
Summary: Breeze application style for Qt6
Requires: %{name}-common = %{version}-%{release}
Provides: plasma-breeze-qt6%{?_isa} = %{version}-%{release}
Obsoletes: plasma-breeze-qt6 < %{version}-%{release}
%description qt6
%{summary}.
%if %{with kf5}
%package qt5
Summary: Breeze application style for Qt5
Requires: %{name}-common = %{version}-%{release}
Provides: plasma-breeze-qt5%{?_isa} = %{version}-%{release}
Obsoletes: plasma-breeze-qt5 < %{version}-%{release}
%description qt5
%{summary}.
%endif
%package common
Summary: Common files shared between Plasma 5 and Plasma 6 versions of the Breeze style
BuildArch: noarch
Provides: plasma-breeze-common%{?_isa} = %{version}-%{release}
Obsoletes: plasma-breeze-common < %{version}-%{release}
%description common
%{summary}.
%package -n breeze-cursor-theme
Summary: Breeze cursor theme
BuildArch: noarch
Obsoletes: breeze-icon-theme < 5.17.0
Provides: breeze-cursor-themes = %{version}-%{release}
%description -n breeze-cursor-theme
%{summary}.
%prep
%autosetup -p1 -n %{reponame}-%{version}
%build
mkdir -p qt6build
pushd qt6build
%cmake_kf6 -S .. -DBUILD_QT6=ON -DBUILD_QT5=OFF
%cmake_build
popd
%if %{with kf5}
mkdir -p qt5build
pushd qt5build
%cmake_kf5 -S .. -DBUILD_QT6=OFF -DBUILD_QT5=ON
%cmake_build
popd
%endif
%install
%if %{with kf5}
pushd qt5build
%cmake_install
popd
%endif
pushd qt6build
%cmake_install
popd
%find_lang breeze --all-name
%files -f breeze.lang
%license LICENSES/*.txt
%{_bindir}/breeze-settings6
%{_kf6_datadir}/applications/breezestyleconfig.desktop
%{_kf6_datadir}/applications/kcm_breezedecoration.desktop
%dir %{_kf6_qtplugindir}/kstyle_config/
%{_kf6_qtplugindir}/kstyle_config/breezestyleconfig.so
%{_kf6_qtplugindir}/org.kde.kdecoration3.kcm/kcm_breezedecoration.so
%{_kf6_qtplugindir}/org.kde.kdecoration3/org.kde.breeze.so
%{_libdir}/cmake/SonicBreeze/
%if %{with kf5}
%files qt5
%{_kf5_qtplugindir}/styles/breeze5.so
%endif
%files qt6
%{_kf6_qtplugindir}/styles/breeze6.so
%files common
%{_datadir}/color-schemes/*.colors
%{_datadir}/plasma/desktoptheme/
%{_datadir}/plasma/look-and-feel/
%{_datadir}/kstyle/themes/breeze.themerc
%{_datadir}/icons/hicolor/*/apps/breeze-settings.*
%dir %{_datadir}/QtCurve/
%{_datadir}/QtCurve/Breeze.qtcurve
%{_datadir}/wallpapers/Next/
%files -n breeze-cursor-theme
%dir %{_kf6_datadir}/icons/Breeze_Light/
%{_kf6_datadir}/icons/Breeze_Light/cursors/
%{_kf6_datadir}/icons/Breeze_Light/cursors_scalable/
%{_kf6_datadir}/icons/Breeze_Light/index.theme
%dir %{_kf6_datadir}/icons/breeze_cursors/
%{_kf6_datadir}/icons/breeze_cursors/cursors/
%{_kf6_datadir}/icons/breeze_cursors/cursors_scalable/
%{_kf6_datadir}/icons/breeze_cursors/index.theme
%changelog
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.7.4.3-1
- SonicDE hard fork build for Enterprise Linux 10 and Fedora