File klassy.spec of Package klassy
%global kf6_version 6.2.0
%define qt6_version 6.6.0
%define kf5_version 5.102.0
%define qt5_version 5.15.2
# Full Plasma 6 version (e.g. 6.0.0)
%{!?_plasma6_bugfix: %define _plasma6_bugfix 6.3.0}
# Latest ABI-stable Plasma (e.g. 6.0 in KF6, but 6.0.80 in KUF)
%{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')}
Name: klassy
Version: 6.4.breeze6.4.0
Release: 0
Summary: Highly customizable theming for the KDE Plasma desktop
License: GPL-2.0-or-later
Group: System/GUI/KDE
Url: https://github.com/paulmcauley/klassy
Source: %{name}-%{version}.tar.gz
BuildRequires: cmake >= 3.16
BuildRequires: fdupes
BuildRequires: gettext
%if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel_version}
BuildRequires: extra-cmake-modules >= %{kf6_version}
BuildRequires: kf5-rpm-macros
BuildRequires: kf6-rpm-macros
%elif 0%{?mageia}
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
BuildRequires: kf5-macros
BuildRequires: kf6-macros
%else
#OpenSUSE
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
BuildRequires: plasma6-framework >= %{_plasma6_bugfix}
BuildRequires: kf5-filesystem
BuildRequires: kf6-filesystem
%endif
BuildRequires: pkgconfig
#klassy5 dependencies
BuildRequires: cmake(KF5Config) >= %{kf5_version}
BuildRequires: cmake(KF5ConfigWidgets) >= %{kf5_version}
BuildRequires: cmake(KF5CoreAddons) >= %{kf5_version}
BuildRequires: cmake(KF5FrameworkIntegration) >= %{kf5_version}
BuildRequires: cmake(KF5GuiAddons) >= %{kf5_version}
BuildRequires: cmake(KF5I18n) >= %{kf5_version}
BuildRequires: cmake(KF5IconThemes) >= %{kf5_version}
BuildRequires: cmake(KF5Kirigami2) >= %{kf5_version}
BuildRequires: cmake(KF5WindowSystem) >= %{kf5_version}
BuildRequires: cmake(Qt5DBus) >= %{qt5_version}
BuildRequires: cmake(Qt5Quick) >= %{qt5_version}
BuildRequires: cmake(Qt5Widgets) >= %{qt5_version}
BuildRequires: cmake(Qt5X11Extras) >= %{qt5_version}
BuildRequires: cmake(KDecoration3) >= %{_plasma6_bugfix}
BuildRequires: cmake(KF6ColorScheme) >= %{kf6_version}
BuildRequires: cmake(KF6Config) >= %{kf6_version}
BuildRequires: cmake(KF6CoreAddons) >= %{kf6_version}
BuildRequires: cmake(KF6FrameworkIntegration) >= %{kf6_version}
BuildRequires: cmake(KF6GuiAddons) >= %{kf6_version}
BuildRequires: cmake(KF6I18n) >= %{kf6_version}
BuildRequires: cmake(KF6IconThemes) >= %{kf6_version}
BuildRequires: cmake(KF6KCMUtils) >= %{kf6_version}
BuildRequires: cmake(KF6KirigamiPlatform) >= %{kf6_version}
BuildRequires: cmake(KF6WindowSystem) >= %{kf6_version}
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
BuildRequires: cmake(Qt6Quick) >= %{qt6_version}
BuildRequires: cmake(Qt6Svg) >= %{qt6_version}
BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
BuildRequires: cmake(Qt6Xml) >= %{qt6_version}
%description
Highly customizable theming for the KDE Plasma desktop. Install, and enable in System Settings -> Appearance -> Global Themes (or individually in Window Decorations, Application Style and Icons).
%prep
%autosetup -n %{name}-%{version} -p1
%build
%cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
%cmake_build
%install
%cmake_install
%fdupes %{buildroot}/%{_prefix}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel_version}
%license LICENSES/*.txt
%{_libdir}/libklassycommon5.so.*
%{_libdir}/libklassycommon6.so.*
%{_datadir}/applications/klassystyleconfig.desktop
%{_datadir}/applications/kcm_klassydecoration.desktop
%dir %{_kf6_qtplugindir}
%dir %{_kf6_qtplugindir}/org.kde.kdecoration3.kcm
%{_kf6_qtplugindir}/org.kde.kdecoration3.kcm/kcm_klassydecoration.so
%dir %{_kf6_qtplugindir}/org.kde.kdecoration3.kcm/klassydecoration
%{_kf6_qtplugindir}/org.kde.kdecoration3.kcm/klassydecoration/presets
%dir %{_kf6_qtplugindir}/org.kde.kdecoration3/
%{_kf6_qtplugindir}/org.kde.kdecoration3/org.kde.klassy.so
%dir %{_kf6_qtplugindir}/kstyle_config
%{_kf6_qtplugindir}/kstyle_config/klassystyleconfig.so
%dir %{_kf5_qtplugindir}/styles
%{_kf5_qtplugindir}/styles/klassy5.so
%dir %{_kf6_qtplugindir}/styles
%{_kf6_qtplugindir}/styles/klassy6.so
%dir %{_datadir}/kstyle
%dir %{_datadir}/kstyle/themes
%{_datadir}/kstyle/themes/klassy.themerc
%{_bindir}/klassy-settings
%{_datadir}/applications/klassy-settings.desktop
%dir %{_datadir}/icons/hicolor/scalable
%dir %{_datadir}/icons/hicolor/scalable/apps
%{_datadir}/icons/hicolor/scalable/apps/klassy-settings.svgz
%{_datadir}/icons/klassy
%{_datadir}/icons/klassy-dark
%dir %{_datadir}/color-schemes/
%{_datadir}/color-schemes/KlassyDark.colors
%{_datadir}/color-schemes/KlassyLight.colors
%{_datadir}/color-schemes/KlassyTwilight.colors
%dir %{_datadir}/plasma
%dir %{_datadir}/plasma/layout-templates
%{_datadir}/plasma/layout-templates/org.kde.klassy.plasma.desktop.leftPanel
%{_datadir}/plasma/layout-templates/org.kde.klassy.plasma.desktop.bottomPanel
%dir %{_datadir}/plasma/look-and-feel
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetdarkbottompanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetdarkleftpanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetlightbottompanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetlightleftpanel.desktop
%dir %{_datadir}/plasma/desktoptheme
%{_datadir}/plasma/desktoptheme/klassy
%{_libdir}/cmake/Klassy/
%elif 0%{?mageia}
%{_kf6_libdir}/libklassycommon5.so.*
%{_kf6_libdir}/libklassycommon6.so.*
%{_datadir}/applications/klassystyleconfig.desktop
%{_datadir}/applications/kcm_klassydecoration.desktop
%dir %{_qt6_plugindir}
%dir %{_qt6_plugindir}/org.kde.kdecoration3.kcm
%{_qt6_plugindir}/org.kde.kdecoration3.kcm/kcm_klassydecoration.so
%dir %{_qt6_plugindir}/org.kde.kdecoration3.kcm/klassydecoration
%{_qt6_plugindir}/org.kde.kdecoration3.kcm/klassydecoration/presets
%dir %{_qt6_plugindir}/org.kde.kdecoration3/
%{_qt6_plugindir}/org.kde.kdecoration3/org.kde.klassy.so
%dir %{_qt6_plugindir}/kstyle_config
%{_qt6_plugindir}/kstyle_config/klassystyleconfig.so
%dir %{_qt5_plugindir}/styles
%{_qt5_plugindir}/styles/klassy5.so
%dir %{_qt6_plugindir}/styles
%{_qt6_plugindir}/styles/klassy6.so
%dir %{_datadir}/kstyle
%dir %{_datadir}/kstyle/themes
%{_kf6_sharedir}/kstyle/themes/klassy.themerc
%{_kf6_datadir}/applications/klassystyleconfig.desktop
%{_kf6_bindir}/klassy-settings
%{_datadir}/applications/klassy-settings.desktop
%dir %{_kf6_iconsdir}/hicolor/scalable
%dir %{_kf6_iconsdir}/hicolor/scalable/apps
%{_kf6_iconsdir}/hicolor/scalable/apps/klassy-settings.svgz
%{_kf6_iconsdir}/klassy
%{_kf6_iconsdir}/klassy-dark
%dir %{_datadir}/color-schemes/
%{_datadir}/color-schemes/KlassyDark.colors
%{_datadir}/color-schemes/KlassyLight.colors
%{_datadir}/color-schemes/KlassyTwilight.colors
%dir %{_datadir}/plasma
%dir %{_datadir}/plasma/layout-templates
%{_datadir}/plasma/layout-templates/org.kde.klassy.plasma.desktop.leftPanel
%{_datadir}/plasma/layout-templates/org.kde.klassy.plasma.desktop.bottomPanel
%dir %{_datadir}/plasma/look-and-feel
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetdarkbottompanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetdarkleftpanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetlightbottompanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetlightleftpanel.desktop
%dir %{_datadir}/plasma/desktoptheme
%{_datadir}/plasma/desktoptheme/klassy
%{_kf6_libdir}/cmake/Klassy/
%else
#OpenSUSE
%license LICENSES/*
%{_libdir}/libklassycommon5.so.*
%{_libdir}/libklassycommon6.so.*
%{_kf6_applicationsdir}/klassystyleconfig.desktop
%{_kf6_applicationsdir}/kcm_klassydecoration.desktop
%dir %{_kf6_plugindir}
%dir %{_kf6_plugindir}/org.kde.kdecoration3.kcm
%{_kf6_plugindir}/org.kde.kdecoration3.kcm/kcm_klassydecoration.so
%dir %{_kf6_plugindir}/org.kde.kdecoration3.kcm/klassydecoration
%{_kf6_plugindir}/org.kde.kdecoration3.kcm/klassydecoration/presets
%dir %{_kf6_plugindir}/org.kde.kdecoration3/
%{_kf6_plugindir}/org.kde.kdecoration3/org.kde.klassy.so
%dir %{_kf6_plugindir}/kstyle_config
%{_kf6_plugindir}/kstyle_config/klassystyleconfig.so
%dir %{_kf5_plugindir}/styles
%{_kf5_plugindir}/styles/klassy5.so
%dir %{_kf6_plugindir}/styles
%{_kf6_plugindir}/styles/klassy6.so
%dir %{_kf6_sharedir}/kstyle
%dir %{_kf6_sharedir}/kstyle/themes
%{_kf6_sharedir}/kstyle/themes/klassy.themerc
%{_kf6_bindir}/klassy-settings
%{_kf6_applicationsdir}/klassy-settings.desktop
%dir %{_kf6_iconsdir}/hicolor/scalable
%dir %{_kf6_iconsdir}/hicolor/scalable/apps
%{_kf6_iconsdir}/hicolor/scalable/apps/klassy-settings.svgz
%{_kf6_iconsdir}/klassy
%{_kf6_iconsdir}/klassy-dark
%dir %{_datadir}/color-schemes/
%{_datadir}/color-schemes/KlassyDark.colors
%{_datadir}/color-schemes/KlassyLight.colors
%{_datadir}/color-schemes/KlassyTwilight.colors
%dir %{_datadir}/plasma
%dir %{_datadir}/plasma/layout-templates
%{_datadir}/plasma/layout-templates/org.kde.klassy.plasma.desktop.leftPanel
%{_datadir}/plasma/layout-templates/org.kde.klassy.plasma.desktop.bottomPanel
%dir %{_datadir}/plasma/look-and-feel
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetdarkbottompanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetdarkleftpanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetlightbottompanel.desktop
%{_datadir}/plasma/look-and-feel/org.kde.klassykisweetlightleftpanel.desktop
%dir %{_datadir}/plasma/desktoptheme
%{_datadir}/plasma/desktoptheme/klassy
%{_kf6_libdir}/cmake/Klassy/
%endif
%changelog