Name: kwin Version: 6.7.4 Release: 2%{?dist} Summary: KDE Window manager License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT URL: https://userbase.kde.org/KWin Source0: https://download.kde.org/stable/plasma/%{version}/%{name}-%{version}.tar.xz # Apps may get disconnected on mesa 26+ # https://invent.kde.org/plasma/kwin/-/commit/2d0613acd044544e79b034b1cbc248664edf2884 Patch0: 2d0613acd044544e79b034b1cbc248664edf2884.patch BuildRequires: extra-cmake-modules BuildRequires: kf6-rpm-macros BuildRequires: systemd-rpm-macros BuildRequires: gcc-c++ BuildRequires: cmake # Qt BuildRequires: cmake(QAccessibilityClient6) BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-static BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qttools-devel BuildRequires: qt6-qttools-static BuildRequires: cmake(Qt6Core5Compat) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6Qml) BuildRequires: cmake(Qt6LinguistTools) # 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 # Wayland BuildRequires: wayland-devel >= 1.23.0 BuildRequires: wayland-protocols-devel BuildRequires: pkgconfig(libinput) >= 0.10 BuildRequires: pkgconfig(libudev) BuildRequires: xorg-x11-server-Xwayland BuildRequires: pkgconfig(libevdev) # 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) BuildRequires: cmake(KNightTime) 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) Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: kscreenlocker%{?_isa} Requires: kf6-kirigami%{?_isa} Requires: kf6-kdeclarative%{?_isa} Requires: libplasma%{?_isa} >= %{version} Requires: xorg-x11-server-Xwayland %description %{summary}. Built without pipewire-devel (genuinely absent on this distro): kwin's own CMakeLists.txt does a plain pkg_check_modules(PipeWire ...) with no REQUIRED keyword, purely to gate Wayland screencasting support -- everything else builds and works without it, just minus screen sharing. Built without qt6-qtwayland-devel: kwin's real upstream CMakeLists.txt only find_package()s Qt6WaylandClient/Qt6WaylandClientPrivate (both satisfied by qt6-qtbase-devel + qt6-qtbase-private-devel on this Qt build), and Qt6WaylandClientPrivate is only pulled in under if(BUILD_TESTING), which is off here -- the separate compositor-side qtwayland module is never referenced. %package common Summary: Common files for KWin X11 and KWin Wayland Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: kwayland%{?_isa} %description common %{summary}. %package libs Summary: KWin runtime libraries Requires: libwayland-server%{?_isa} >= 1.23.0 %description libs %{summary}. %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-common%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -p1 %build %cmake_kf6 %cmake_build_kf6 %install %cmake_install_kf6 mkdir -p %{buildroot}%{_sysconfdir}/xdg/Xwayland-session.d ln -sr %{buildroot}%{_kf6_bindir}/kwin_wayland %{buildroot}%{_bindir}/kwin %files %exclude %{_datadir}/locale/*/LC_MESSAGES/*.qm %exclude %{_datadir}/locale/*/LC_MESSAGES/*.mo %{_bindir}/kwin %{_bindir}/kwin_wayland_wrapper %{_datadir}/kwin-wayland/ %caps(cap_sys_nice=ep) %{_kf6_bindir}/kwin_wayland %{_userunitdir}/plasma-kwin_wayland.service %dir %{_sysconfdir}/xdg/Xwayland-session.d %files common %{_kf6_qtplugindir}/plasma/kcms/systemsettings/*.so %{_kf6_qtplugindir}/plasma/kcms/systemsettings_qwidgets/*.so %{_kf6_qtplugindir}/kwin/ %{_kf6_qtplugindir}/kf6/packagestructure/kwin_*.so %{_qt6_qmldir}/org/kde/kwin/ %{_kf6_libdir}/kconf_update_bin/kwin5_update_default_rules %{_kf6_libdir}/kconf_update_bin/kwin-6.0-delete-desktop-switching-shortcuts %{_kf6_libdir}/kconf_update_bin/kwin-6.0-remove-breeze-tabbox-default %{_kf6_libdir}/kconf_update_bin/kwin-6.0-reset-active-mouse-screen %{_kf6_libdir}/kconf_update_bin/kwin-6.1-remove-gridview-expose-shortcuts %{_kf6_libdir}/kconf_update_bin/kwin-6.5-showpaint-changes %{_libexecdir}/kwin_killer_helper %{_libexecdir}/kwin-applywindowdecoration %{_libexecdir}/kwin-tabbox-preview %{_libexecdir}/kwin_dialog_helper %{_libexecdir}/kwin_eis_prompter %{_datadir}/kconf_update/kwin.upd %{_kf6_datadir}/knotifications6/kwin.notifyrc %{_kf6_datadir}/config.kcfg/kwin.kcfg %{_kf6_datadir}/config.kcfg/kwindecorationsettings.kcfg %{_kf6_datadir}/config.kcfg/virtualdesktopssettings.kcfg %{_kf6_datadir}/config.kcfg/nightlightsettings.kcfg %{_datadir}/icons/hicolor/*/apps/kwin.* %{_datadir}/knsrcfiles/*.knsrc %{_datadir}/krunner/dbusplugins/kwin-runner-windows.desktop %{_datadir}/applications/*.desktop %{_bindir}/kwindowprop %{_datadir}/doc/HTML/*/kcontrol/ %files libs %{_kf6_datadir}/qlogging-categories6/org_kde_kwin.categories %{_libdir}/libkwin.so.* %{_libdir}/libkcmkwincommon.so.* %files devel %{_datadir}/dbus-1/interfaces/*.xml %{_libdir}/cmake/KWinDBusInterface %{_includedir}/kwin %{_libdir}/cmake/KWin %{_libdir}/libkwin.so %changelog * Sat Aug 29 2026 Smech - 6.7.4-2 - Bumped wayland-protocols requirement satisfied (repo package now at 1.48, kwin's real CMakeLists.txt hard-requires >=1.48, not 1.46); claimed %%{_datadir}/doc/HTML/*/kcontrol/ (690 localized KCM help pages from KF6DocTools were building but unpackaged) * Sat Aug 29 2026 Smech - 6.7.4-1 - Real upstream source, kde-filesystem chain, real Mesa 26+ disconnect fix patch pulled from upstream; dropped pipewire-devel and qt6-qtwayland-devel (both verified unnecessary against real upstream CMakeLists.txt -- optional/soft or client-only, not compositor-side); used xorg-x11-server-Xwayland directly instead of the nonexistent pkgconfig(xwayland) (kwin's own FindXwayland.cmake only needs the Xwayland binary via find_program, its pkg_check_modules call is QUIET); dropped Requires on qt6-qtmultimedia/aurorae/iio-sensor-proxy (none packaged on this distro; kwin functions without them, just minus a few optional hardware/theme integrations); fixed kf6-kirigami2 Requires to the real built package name kf6-kirigami