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
openSUSE Build Service is sponsored by