# # Please do not update/rebuild/touch this package before asking first # neoclust and/or daviddavid # This package is part of the KDE Stack. # %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}devel\\(libKGlobalAccelD %define _cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=OFF %define min_version %(echo %{version}|cut -d. -f1,2) %define rel 2.1 Summary: Plasma Window Manager Name: kwin Version: 6.5.5 Release: %mkrel %rel License: GPLv2+ Group: System/Base URL: https://www.kde.org/ Source0: https://download.kde.org/stable/plasma/%{version}/%{name}-%{version}.tar.xz ## upstream patches Patch0100: 0001-backends-drm-fix-the-hardware-cursor-on-GPUs-without.patch Patch0101: 0002-outputconfigurationstore-don-t-select-32-9-mode-for-.patch Patch0102: 0003-autotests-integration-add-test-for-Acer-24-CB242Ybmi.patch Patch0103: 0004-pointer_input-don-t-warp-the-pointer-out-of-the-wind.patch Patch0104: 0005-backends-drm-Fix-GraphicsBuffer-double-unref.patch Patch0105: 0006-core-Add-GraphicsBufferRef-reset.patch Patch0106: 0007-Avoid-adding-uninitialized-windows-to-the-attention-.patch Patch0107: 0008-Make-Workspace-addWaylandWindow-set-demanding-attent.patch Patch0108: 0009-Evacuate-initializing-windows-from-removed-virtual-d.patch Patch0109: 0010-plugins-screencast-close-screencasts-on-GPU-reset.patch Patch0110: 0011-backends-drm-destroy-all-framebuffers-before-the-egl.patch Patch0111: 0012-wayland-outputmanagement-re-allow-negative-positions.patch Patch0112: 0013-opengl-icc_shader-more-properly-apply-the-MHC2-tag.patch Patch0113: 0014-backends-drm-merge-commits-into-a-copy-never-the-ori.patch Patch0114: 0015-core-colorpipeline-don-t-add-a-tonemapping-step-for-.patch Patch0115: 0016-core-colorspace-don-t-dim-the-minimum-luminance.patch BuildRequires: kf6-rpm-macros BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(libcap) BuildRequires: pkgconfig(libcanberra) BuildRequires: pkgconfig(libpipewire-0.3) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-image) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xcb-icccm) BuildRequires: pkgconfig(xcb-util) BuildRequires: pkgconfig(libxcvt) BuildRequires: pkgconfig(hwdata) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xcb-cursor) BuildRequires: pkgconfig(xwayland) BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(libdisplay-info) BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libeis-1.0) BuildRequires: pkgconfig(libinput) >= 0.10 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(lcms2) BuildRequires: cmake(Qt6Concurrent) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Core5Compat) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6Quick) BuildRequires: cmake(Qt6DBus) BuildRequires: cmake(Qt6Multimedia) BuildRequires: cmake(Qt6UiTools) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(Qt6Test) BuildRequires: cmake(Qt6Tools) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6QuickWidgets) BuildRequires: cmake(Qt6WaylandClient) BuildRequires: cmake(Qt6Sensors) BuildRequires: cmake(KF6Auth) 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(KF6IdleTime) BuildRequires: cmake(KF6Package) BuildRequires: cmake(KF6Service) BuildRequires: cmake(KF6Svg) BuildRequires: cmake(KF6WidgetsAddons) BuildRequires: cmake(KF6WindowSystem) BuildRequires: cmake(KF6Declarative) BuildRequires: cmake(KF6KCMUtils) BuildRequires: cmake(KF6NewStuff) BuildRequires: cmake(KF6XmlGui) BuildRequires: cmake(KWayland) BuildRequires: cmake(PlasmaActivities) BuildRequires: cmake(KF6DocTools) BuildRequires: cmake(KF6Kirigami) BuildRequires: cmake(Plasma) BuildRequires: cmake(KDecoration3) BuildRequires: cmake(Breeze) BuildRequires: cmake(QAccessibilityClient6) BuildRequires: cmake(PlasmaWaylandProtocols) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-server) BuildRequires: cmake(KGlobalAccelD) BuildRequires: cmake(KScreenLocker) BuildRequires: cmake(Aurorae) BuildRequires: cmake(KNightTime) # runtime dependencies BuildRequires: kdeclarative Requires: kdeclarative Requires: hwdata Requires: qt6-qtmultimedia Requires: %name-common = %version-%release Requires: kscreenlocker Requires: breeze Requires: iio-sensor-proxy %description Plasma Window Manager. %files %license LICENSES/* %doc CONTRIBUTING.md README.md #-------------------------------------------------------------------- %package common Summary: Common files for KWin Wayland Group: System/Base # ease upgrade mga9 -> mga10 Conflicts: kdeplasma-addons < 5.27.80 %description common Common files for KWin Wayland. %files common -f %{name}.lang %_kf6_categoriesdir/org_kde_kwin.*categories %_kf6_bindir/kwindowprop %_kf6_datadir/kwin-wayland/ %_kf6_datadir/dbus-1/interfaces/*.xml %_kf6_iconsdir/*/*/apps/* %_kf6_knotificationsdir/kwin.notifyrc %_kf6_qmldir/org/kde/kwin/ %_qt6_plugindir/kwin/ %_qt6_plugindir/plasma/kcms/systemsettings/ %_qt6_plugindir/plasma/kcms/systemsettings_qwidgets/ %_libexecdir/kwin_killer_helper %_libexecdir/kwin-applywindowdecoration %_libexecdir/kwin-tabbox-preview %_kf6_datadir/config.kcfg/kwin*.kcfg %_kf6_datadir/config.kcfg/virtualdesktopssettings.kcfg %_kf6_datadir/config.kcfg/nightlightsettings.kcfg %_kf6_datadir/kconf_update/kwin*.upd %_kf6_datadir/knsrcfiles/*.knsrc %_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-reset-active-mouse-screen %_kf6_libdir/kconf_update_bin/kwin-6.0-remove-breeze-tabbox-default %_kf6_libdir/kconf_update_bin/kwin-6.1-remove-gridview-expose-shortcuts %_kf6_libdir/kconf_update_bin/kwin-6.5-showpaint-changes %_kf6_plugindir/packagestructure/kwin*.so %_kf6_datadir/krunner/dbusplugins/kwin-runner-windows.desktop %_userunitdir/plasma-kwin_wayland.service %_kf6_applicationdir/kcm_animations.desktop %_kf6_applicationdir/kcm_kwin_effects.desktop %_kf6_applicationdir/kcm_kwin_scripts.desktop %_kf6_applicationdir/kcm_kwin_virtualdesktops.desktop %_kf6_applicationdir/kcm_kwindecoration.desktop %_kf6_applicationdir/kcm_kwinoptions.desktop %_kf6_applicationdir/kcm_kwinrules.desktop %_kf6_applicationdir/kcm_kwintabbox.desktop %_kf6_applicationdir/kcm_virtualkeyboard.desktop %_kf6_applicationdir/kcm_kwinxwayland.desktop %_kf6_applicationdir/org.kde.kwin.killer.desktop #-------------------------------------------------------------------- %define kwin_major 6 %define libkwin %mklibname kwin %{kwin_major} %package -n %libkwin Summary: Plasma Window Manager Group: System/Libraries %description -n %libkwin Plasma Window Manager. %files -n %libkwin %_kf6_libdir/libkwin.so.%{kwin_major}{,.*} #-------------------------------------------------------------------- %define kcmkwincommon_major 6 %define libkcmkwincommon %mklibname kcmkwincommon %{kcmkwincommon_major} %package -n %libkcmkwincommon Summary: Plasma Window Manager Group: System/Libraries %description -n %libkcmkwincommon Plasma Window Manager. %files -n %libkcmkwincommon %_kf6_libdir/libkcmkwincommon.so.%{kcmkwincommon_major}{,.*} #-------------------------------------------------------------------- %package wayland Summary: Plasma Window Manager with Wayland support Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: kwayland-integration%{?_isa} Requires: qt6-qtwayland Requires: x11-server-xwayland #Test a common version of this Provide #This provide will be used by task-lxqt #For the wayland subpackages Provides: wlr-winmanager = 1 %description wayland Plasma Window Manager with Wayland support. %files wayland %_kf6_bindir/kwin_wayland %_kf6_bindir/kwin_wayland_wrapper #-------------------------------------------------------------------- %define kwin_devel %mklibname kwin -d %package -n %kwin_devel Summary: Devel stuff for %name Group: Development/KDE and Qt Requires: %libkwin = %version-%release Requires: %libkcmkwincommon = %version-%release Requires: %name = %version-%release Provides: %name-devel = %{version}-%{release} %description -n %kwin_devel This package contains header files needed if you wish to build applications based on %name. %files -n %kwin_devel %_includedir/kwin/ %_kf6_libdir/*.so %_kf6_libdir/cmake/KWin/ %_kf6_libdir/cmake/KWinDBusInterface/ #-------------------------------------------------------------------- %package handbook Summary: %{name} Handbook Group: Documentation BuildArch: noarch %description handbook This package provides %{name} Handbook. %files handbook %doc %_kf6_docdir/HTML/*/kcontrol/windowspecific/ %doc %_kf6_docdir/HTML/*/kcontrol/desktop/ %doc %_kf6_docdir/HTML/*/kcontrol/kwindecoration/ %doc %_kf6_docdir/HTML/*/kcontrol/kwinscreenedges/ %doc %_kf6_docdir/HTML/*/kcontrol/kwintabbox/ %doc %_kf6_docdir/HTML/*/kcontrol/windowbehaviour/ %doc %_kf6_docdir/HTML/*/kcontrol/kwineffects/ %doc %_kf6_docdir/HTML/*/kcontrol/kwintouchscreen/ %doc %_kf6_docdir/HTML/*/kcontrol/kwinvirtualkeyboard/ #------------------------------------------------ %prep %autosetup -p1 -S git %build %cmake_kf6 \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON %cmake_build %install %cmake_install %find_lang %{name} --all-name