%global toolchain gcc14 Name: dde-appearance Version: 1.1.83 Release: 1%{?dist} Summary: DDE appearance management daemon License: GPL-3.0-or-later AND LGPL-3.0-or-later URL: https://github.com/linuxdeepin/dde-appearance Source0: %{url}/archive/refs/tags/%{version}.tar.gz BuildRequires: gcc14 BuildRequires: gcc14-c++ BuildRequires: cmake >= 3.16 BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qttools-devel BuildRequires: qt6-qttools-cmake-provides BuildRequires: dtk6core-devel BuildRequires: dtk6gui-devel BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gdk-3.0) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb-render) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-randr) BuildRequires: pkgconfig(xcb-cursor) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(openssl) BuildRequires: deepin-service-manager Requires: deepin-service-manager Requires: deepin-desktop-theme Requires: deepin-gtk-theme %description DDE Appearance manages wallpaper, fonts, themes, icons, and cursor themes for the Deepin Desktop Environment. It runs as a plugin under deepin-service-manager and provides a D-Bus interface for appearance settings. This build patches out KF6WindowSystem and gsettings-qt6 dependencies (not available in AL2023 COPR) with minimal stubs. %prep %autosetup -n %{name}-%{version} # Remove fakewm (requires KF6Config, KF6WindowSystem, KF6GlobalAccel) sed -i '/add_subdirectory(fakewm)/d' CMakeLists.txt # Patch out KF6WindowSystem dependency from service plugin sed -i '/find_package(KF6WindowSystem/d' src/service/CMakeLists.txt sed -i '/KF6::WindowSystem/d' src/service/CMakeLists.txt sed -i 's|#include |// KX11Extras removed|' src/service/impl/appearancemanager.cpp sed -i 's|return KX11Extras::currentDesktop();|return 1; // stub|' src/service/impl/appearancemanager.cpp # Patch out gsettings-qt6 dependency (not available for Qt6 in COPR) sed -i '/pkg_check_modules(GSETTINGS_QT/d' src/service/CMakeLists.txt sed -i '/PkgConfig::GSETTINGS_QT/d' src/service/CMakeLists.txt # Stub out QGSettings usage in themes.cpp sed -i 's|#include |// QGSettings removed - gsettings-qt6 not available|' src/service/modules/api/themes.cpp # Replace the gsettings block with a no-op sed -i '/if (QGSettings::isSchemaInstalled/,/^ }/{ s/.*/ \/\/ gsettings-qt6 stub - GTK theme not set via gsettings/; }' src/service/modules/api/themes.cpp %build %cmake \ -DCMAKE_C_COMPILER=gcc14-gcc \ -DCMAKE_CXX_COMPILER=gcc14-g++ \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} %cmake_build %install %cmake_install %files %license LICENSE LICENSES/* %doc README.md %{_libdir}/deepin-service-manager/libplugin-dde-appearance.so %{_datadir}/deepin-service-manager/user/plugin-dde-appearance.json %{_datadir}/dbus-1/services/org.deepin.dde.Appearance1.service %{_datadir}/dbus-1/services/com.deepin.wm.service %{_datadir}/dsg/configs/org.deepin.dde.appearance/ %{_datadir}/dde-appearance/ %{_datadir}/plugin-dde-appearance/ %{_prefix}/lib/systemd/user/dde-fakewm.service %changelog * Fri Jul 17 2026 Yonghang Wang - 1.1.83-1 - Initial package for al-stream-2023 - Patch: Removed fakewm (requires KF6), stubbed KX11Extras and QGSettings