%define _disable_source_fetch 0 %define debug_package %{nil} Name: sonic-win Version: 6.4.5 Release: 1%{?dist} Summary: KWin window manager for SonicDE (fork of kwin) License: GPL-2.0-or-later URL: https://github.com/Sonic-DE/sonic-win Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: extra-cmake-modules BuildRequires: kf6-rpm-macros BuildRequires: systemd-rpm-macros # Qt BuildRequires: cmake(QAccessibilityClient6) BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qtsensors-devel BuildRequires: qt6-qttools-devel BuildRequires: qt6-qtwayland-devel BuildRequires: cmake(Qt6Core5Compat) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6Multimedia) # X11/OpenGL BuildRequires: pkgconfig(libxcvt) BuildRequires: mesa-libGL-devel BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libgbm-devel BuildRequires: libxkbcommon-devel BuildRequires: libxkbcommon-x11-devel BuildRequires: libX11-devel BuildRequires: libXi-devel BuildRequires: libxcb-devel BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libXcursor-devel BuildRequires: xcb-util-wm-devel BuildRequires: xcb-util-image-devel BuildRequires: xcb-util-keysyms-devel BuildRequires: xcb-util-cursor-devel BuildRequires: xcb-util-devel BuildRequires: libepoxy-devel BuildRequires: libcap-devel BuildRequires: lcms2-devel BuildRequires: glib2-devel BuildRequires: pipewire-devel # Wayland BuildRequires: wayland-devel >= 1.22.0 BuildRequires: wayland-protocols-devel BuildRequires: pkgconfig(libinput) >= 0.10 BuildRequires: pkgconfig(libudev) %if 0%{?rhel} == 10 # Integrate with Xlibre on EL10 BuildRequires: xlibre-xserver-devel Requires: xlibre-xserver Requires: xlibre-xf86-input-libinput %else BuildRequires: pkgconfig(xwayland) %endif # KF6 BuildRequires: cmake(KF6Completion) BuildRequires: cmake(KF6Config) BuildRequires: cmake(KF6ConfigWidgets) BuildRequires: cmake(KF6CoreAddons) BuildRequires: cmake(KF6Crash) BuildRequires: cmake(KF6DBusAddons) BuildRequires: cmake(KF6GlobalAccel) BuildRequires: cmake(KF6GuiAddons) BuildRequires: cmake(KF6I18n) BuildRequires: cmake(KF6KIO) BuildRequires: cmake(KF6Notifications) BuildRequires: cmake(KF6Service) BuildRequires: cmake(KF6WidgetsAddons) BuildRequires: cmake(KF6WindowSystem) BuildRequires: cmake(KF6DocTools) BuildRequires: cmake(KF6KCMUtils) BuildRequires: cmake(KF6NewStuff) BuildRequires: cmake(KF6Declarative) BuildRequires: cmake(KF6IconThemes) BuildRequires: cmake(KF6IdleTime) BuildRequires: cmake(KF6TextWidgets) BuildRequires: cmake(KF6Kirigami2) BuildRequires: cmake(KF6Runner) BuildRequires: cmake(KF6Svg) # Workspace components BuildRequires: cmake(KDecoration3) BuildRequires: kscreenlocker-devel BuildRequires: plasma-breeze-devel BuildRequires: plasma-wayland-protocols-devel BuildRequires: cmake(KGlobalAccelD) BuildRequires: libdisplay-info-devel BuildRequires: cmake(KWayland) BuildRequires: cmake(Plasma) BuildRequires: cmake(PlasmaActivities) BuildRequires: libeis-devel BuildRequires: pkgconfig(libcanberra) # Conflicts with standard kwin Conflicts: kwin %description Sonic Win is a fork of KWin, the window manager and compositor for SonicDE, focusing on an optimized X11 experience. %package libs Summary: KWin libraries for SonicDE Conflicts: kwin-libs %description libs Shared libraries for sonic-win. %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Conflicts: kwin-devel %description devel Development files for sonic-win. %prep %autosetup -p1 %build %cmake_kf6 %cmake_build %install %cmake_install %find_lang %{name} --all-name %files -f %{name}.lang %license LICENSES/* %{_bindir}/sonic-win %{_libdir}/qt6/plugins/org.kde.kwin.* %{_datadir}/sonic-win/ %{_datadir}/qlogging-categories6/sonic-win.categories %files libs %{_libdir}/libSonicWin*.so.* %files devel %{_includedir}/SonicWin/ %{_libdir}/libSonicWin*.so %{_libdir}/cmake/SonicWin/ %changelog * Wed Mar 11 2026 Anders Rh - 6.4.5-1 - Downgrade to 6.4.5 for EL 10.1 compatibility - Sync with epel10.1 spec base - Preserve Xlibre integration