SonicDE-rpmspecs/sonic-silver-gtk/sonic-silver-gtk.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

130 lines
3.7 KiB
RPMSpec

# Generated for SonicDE from Fedora's breeze-gtk.spec.
# SonicDE is a hard fork of KDE Plasma; the sources come from the
# https://github.com/Sonic-DE/sonic-silver-gtk fork, not from download.kde.org.
%define _disable_source_fetch 0
%define debug_package %{nil}
%global reponame sonic-silver-gtk
# Upstream KDE project: breeze-gtk
%global oldname breeze-gtk
#Name: breeze-gtk
Name: sonic-silver-gtk
Version: 6.7.4
Release: 3%{?dist}
Summary: Breeze widget theme for GTK
License: BSD-3-Clause AND CC0-1.0
#URL: https://invent.kde.org/plasma/%%{name}
URL: https://github.com/Sonic-DE/%{reponame}
#Source0: http://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{name}-%%{version}.tar.xz
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
#Source1: http://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{name}-%%{version}.tar.xz.sig
BuildArch: noarch
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: gtk2-engines
BuildRequires: sonic-breeze-devel
BuildRequires: python3-cairo-devel
BuildRequires: sassc
BuildRequires: sonic-frameworks-cmake-modules
BuildRequires: sonic-rpm-macros
# not used directly, but is an indirect dep from ECMQueryQmake.cmake
# probably should be fixed there -- rex
BuildRequires: cmake(Qt6Core)
# main meta package to depend on all subpkgs, for cleaner/simpler upgrade path
Requires: %{name}-gtk2 = %{version}-%{release}
Requires: %{name}-gtk3 = %{version}-%{release}
Requires: %{name}-gtk4 = %{version}-%{release}
Provides: breeze-gtk%{?_isa} = %{version}-%{release}
Obsoletes: breeze-gtk < %{version}-%{release}
%description
%{summary}.
%package common
Summary: Breeze widget theme for GTK common files
Conflicts: sonic-silver-gtk < 5.20.2-2
Provides: breeze-gtk-common%{?_isa} = %{version}-%{release}
Obsoletes: breeze-gtk-common < %{version}-%{release}
%description common
%{summary}.
%package gtk2
Summary: Breeze widget theme for GTK 2
Requires: gtk2-engines
Requires: %{name}-common = %{version}-%{release}
Supplements: (sonic-breeze and gtk2)
Provides: breeze-gtk-gtk2%{?_isa} = %{version}-%{release}
Obsoletes: breeze-gtk-gtk2 < %{version}-%{release}
%description gtk2
%{summary}.
%package gtk3
Summary: Breeze widget theme for GTK 3
Requires: %{name}-common = %{version}-%{release}
Supplements: (sonic-breeze and gtk3)
Provides: breeze-gtk-gtk3%{?_isa} = %{version}-%{release}
Obsoletes: breeze-gtk-gtk3 < %{version}-%{release}
%description gtk3
%{summary}.
%package gtk4
Summary: Breeze widget theme for GTK 4
Requires: %{name}-common = %{version}-%{release}
Supplements: (sonic-breeze and gtk4)
Provides: breeze-gtk-gtk4%{?_isa} = %{version}-%{release}
Obsoletes: breeze-gtk-gtk4 < %{version}-%{release}
%description gtk4
%{summary}.
%prep
%autosetup -p1 -n %{reponame}-%{version}
%build
%cmake_kf6 -DBUILD_WITH_QT6=ON
%cmake_build
%install
%cmake_install
%files
# empty metapackage
%files common
%license LICENSES/*.txt
%doc README.md
%dir %{_datadir}/themes/Silver/
%{_datadir}/themes/Silver/assets/
%{_datadir}/themes/Silver/settings.ini
%dir %{_datadir}/themes/Silver-Dark/
%{_datadir}/themes/Silver-Dark/assets/
%{_datadir}/themes/Silver-Dark/settings.ini
%files gtk2
%{_datadir}/themes/Silver/gtk-2.0/
%{_datadir}/themes/Silver-Dark/gtk-2.0/
%files gtk3
%{_datadir}/themes/Silver/gtk-3.0/
%{_datadir}/themes/Silver-Dark/gtk-3.0/
%files gtk4
%{_datadir}/themes/Silver/gtk-4.0/
%{_datadir}/themes/Silver-Dark/gtk-4.0/
%changelog
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.7.4-1
- SonicDE hard fork build for Enterprise Linux 10 and Fedora