This commit is contained in:
2025-11-24 12:43:20 +08:00
parent 3048f6256e
commit 8002062a55
19 changed files with 874 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,118 @@
%define qt6_version 6.8.0
%define rname kwindowsystem
# Full KF6 version (e.g. 6.20.0)
%{!?_kf6_version: %global _kf6_version %{version}}
%bcond_without released
Name: kf6-kwindowsystem
Version: 6.20.0
Release: 0
Summary: KDE Access to window manager
License: LGPL-2.1-or-later
URL: https://www.kde.org
Source: %{rname}-%{version}.tar.xz
%if %{with released}
Source1: %{rname}-%{version}.tar.xz.sig
Source2: frameworks.keyring
%endif
BuildRequires: fdupes
BuildRequires: kf6-extra-cmake-modules >= %{_kf6_version}
BuildRequires: pkgconfig
BuildRequires: qt6-gui-private-devel >= %{qt6_version}
BuildRequires: qt6-waylandclient-private-devel >= %{qt6_version}
BuildRequires: cmake(PlasmaWaylandProtocols)
BuildRequires: cmake(Qt6Gui) >= %{qt6_version}
BuildRequires: cmake(Qt6LinguistTools) >= %{qt6_version}
BuildRequires: cmake(Qt6Qml) >= %{qt6_version}
BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version}
BuildRequires: cmake(Qt6WaylandClient) >= %{qt6_version}
BuildRequires: pkgconfig(wayland-protocols) >= 1.21.0
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xrender)
%description
Convenience access to certain properties and features of the window manager.
KWindowSystem provides information about the state of the window manager and
allows asking the window manager to change the using a more high-level
interface than the NETWinInfo/NETRootInfo low-level classes.
%package imports
Summary: QML Bindings for KWindowSystem
%description imports
QML Bindings for KWindowSystem.
%package -n libKF6WindowSystem6
Summary: KDE Access to window manager
Requires: kf6-kwindowsystem >= %{version}
%description -n libKF6WindowSystem6
Convenience access to certain properties and features of the window manager.
KWindowSystem provides information about the state of the window manager and
allows asking the window manager to change the using a more high-level
interface than the NETWinInfo/NETRootInfo low-level classes.
%package devel
Summary: KDE Access to window manager: Build Environment
Requires: libKF6WindowSystem6 = %{version}
Requires: cmake(Qt6Gui) >= %{qt6_version}
Requires: pkgconfig(x11)
Requires: pkgconfig(xcb)
%description devel
Convenience access to certain properties and features of the window manager.
KWindowSystem provides information about the state of the window manager and
allows asking the window manager to change the using a more high-level
interface than the NETWinInfo/NETRootInfo low-level classes.
Development files.
%lang_package -n libKF6WindowSystem6
%prep
%autosetup -p1 -n %{rname}-%{version}
%build
%cmake_kf6
%kf6_build
%install
%kf6_install
%fdupes %{buildroot}
%find_lang kwindowsystem6 --with-qt --without-mo
%ldconfig_scriptlets -n libKF6WindowSystem6
%files
%{_kf6_debugdir}/kwindowsystem.categories
%{_kf6_debugdir}/kwindowsystem.renamecategories
%dir %{_kf6_plugindir}/kf6/kwindowsystem
%{_kf6_plugindir}/kf6/kwindowsystem/KF6WindowSystemKWaylandPlugin.so
%{_kf6_plugindir}/kf6/kwindowsystem/KF6WindowSystemX11Plugin.so
%files imports
%{_kf6_qmldir}/org/kde/kwindowsystem/
%files -n libKF6WindowSystem6
%license LICENSES/*
%doc README.md
%{_kf6_libdir}/libKF6WindowSystem.so.*
%files devel
%{_kf6_includedir}/KWindowSystem/
%{_kf6_cmakedir}/KF6WindowSystem/
%{_kf6_libdir}/libKF6WindowSystem.so
%{_kf6_pkgconfigdir}/KF6WindowSystem.pc
%files -n libKF6WindowSystem6-lang -f kwindowsystem6.lang
%changelog

Binary file not shown.

View File

@@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSQqWisqEU3zCe5nq8sjfWHptSqwQUCaQ5CswAKCRAsjfWHptSq
wewmAQCMUX/D67TxjrP2rW1THyil5/K8FBxf9JWPxNUhjTdRVgD/dqpoIzXt1pfY
s89Y9wtKfttLaJYIghXiGzUwEZ+EYwQ=
=hdHJ
-----END PGP SIGNATURE-----

7
kwin6-x11/_constraints Normal file
View File

@@ -0,0 +1,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">4</size>
</disk>
</hardware>
</constraints>

Binary file not shown.

View File

@@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEs8s2ZVJUC+Bu6a2XEZaMRJKMrvwFAmkcKBIACgkQEZaMRJKM
rvxTTQgAiP+mmJ3NCH31ORmY158nMSF0T4tB7u/7BqcRKWmfEh/Ne2hodOFvilrr
u+I2IY66762kLQzQ4C4uH+mobot/3/ee7+1b9NE5zqQ3optWTcsu3SI/IL0NHVIz
AjBbwBGCrQABXzuH1rx/cgeUi39k3i+HfDlsp4MIT1ziqNydhphiL3RNrOYkl8ZL
y5XT2t2V6vNO96xvUpgpKkRzPpdm94aXlVrNBtWowQ19LnNcmLlpO8rKTcWqy5qL
bD6j4DCnwwjxTOyGkuys0A9Qz5bOLVf4HuFz2uGS96z8uT5pCq0VNFCX79MetME7
9kGOBd+cQVdN60VnJmhtv2yhTaPWvA==
=YrPh
-----END PGP SIGNATURE-----

264
kwin6-x11/kwin6-x11.spec Normal file
View File

@@ -0,0 +1,264 @@
# Internal QML imports
%global __requires_exclude qt6qmlimport\\(org\\.kde\\.KWin\\.Effect\\.WindowView.*
%define kf6_version 6.18.0
%define qt6_version 6.9.0
%define rname kwin-x11
# Full Plasma 6 version (e.g. 6.0.0)
%{!?_plasma6_bugfix: %define _plasma6_bugfix %{version}}
# 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}')}
%bcond_without released
Name: kwin6-x11
Version: 6.5.3
Release: 0
Summary: KDE Window Manager
License: GPL-2.0-or-later AND GPL-3.0-or-later
URL: https://www.kde.org
Source: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
%if %{with released}
Source1: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
Source2: plasma.keyring
%endif
BuildRequires: fdupes
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
BuildRequires: pkgconfig
BuildRequires: qt6-core-private-devel >= %{qt6_version}
BuildRequires: qt6-gui-private-devel >= %{qt6_version}
BuildRequires: systemd-rpm-macros
BuildRequires: cmake(Breeze) >= %{_plasma6_bugfix}
BuildRequires: cmake(KDecoration3) >= %{_plasma6_bugfix}
BuildRequires: cmake(KF6Auth) >= %{kf6_version}
BuildRequires: cmake(KF6ColorScheme) >= %{kf6_version}
BuildRequires: cmake(KF6Config) >= %{kf6_version}
BuildRequires: cmake(KF6ConfigWidgets) >= %{kf6_version}
BuildRequires: cmake(KF6CoreAddons) >= %{kf6_version}
BuildRequires: cmake(KF6Crash) >= %{kf6_version}
BuildRequires: cmake(KF6DBusAddons) >= %{kf6_version}
BuildRequires: cmake(KF6Declarative) >= %{kf6_version}
BuildRequires: cmake(KF6DocTools) >= %{kf6_version}
BuildRequires: cmake(KF6GlobalAccel) >= %{kf6_version}
BuildRequires: cmake(KF6GuiAddons) >= %{kf6_version}
BuildRequires: cmake(KF6I18n) >= %{kf6_version}
BuildRequires: cmake(KF6IdleTime) >= %{kf6_version}
BuildRequires: cmake(KF6KCMUtils) >= %{kf6_version}
BuildRequires: cmake(KF6NewStuff) >= %{kf6_version}
BuildRequires: cmake(KF6Notifications) >= %{kf6_version}
BuildRequires: cmake(KF6Package) >= %{kf6_version}
BuildRequires: cmake(KF6Service) >= %{kf6_version}
BuildRequires: cmake(KF6Svg) >= %{kf6_version}
BuildRequires: cmake(KF6WidgetsAddons) >= %{kf6_version}
BuildRequires: cmake(KF6WindowSystem) >= %{kf6_version}
BuildRequires: cmake(KF6XmlGui) >= %{kf6_version}
BuildRequires: cmake(KGlobalAccelD) >= %{_plasma6_bugfix}
BuildRequires: cmake(KNightTime) >= %{_plasma6_bugfix}
BuildRequires: cmake(KScreenLocker) >= %{_plasma6_bugfix}
BuildRequires: cmake(KWayland) >= %{_plasma6_bugfix}
BuildRequires: cmake(Plasma) >= %{_plasma6_bugfix}
BuildRequires: cmake(PlasmaActivities) >= %{_plasma6_bugfix}
BuildRequires: cmake(PlasmaWaylandProtocols) >= 1.14.0
BuildRequires: cmake(QAccessibilityClient6)
BuildRequires: cmake(Qt6Concurrent) >= %{qt6_version}
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
BuildRequires: cmake(Qt6Core5Compat) >= %{qt6_version}
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
BuildRequires: cmake(Qt6Quick) >= %{qt6_version}
BuildRequires: cmake(Qt6Sensors) >= %{qt6_version}
BuildRequires: cmake(Qt6Svg) >= %{qt6_version}
BuildRequires: cmake(Qt6UiTools) >= %{qt6_version}
BuildRequires: cmake(Qt6WaylandClient) >= %{qt6_version}
BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libdisplay-info) >= 0.2.0
BuildRequires: pkgconfig(libdrm) >= 2.4.116
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(wayland-client) >= 1.22
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols) >= 1.38
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xcb) >= 1.10
BuildRequires: pkgconfig(xcb-composite) >= 1.10
BuildRequires: pkgconfig(xcb-cursor)
BuildRequires: pkgconfig(xcb-damage) >= 1.10
BuildRequires: pkgconfig(xcb-dri3) >= 1.10
BuildRequires: pkgconfig(xcb-event)
BuildRequires: pkgconfig(xcb-glx) >= 1.10
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-image)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-present) >= 1.10
BuildRequires: pkgconfig(xcb-randr) >= 1.10
BuildRequires: pkgconfig(xcb-render) >= 1.10
BuildRequires: pkgconfig(xcb-shape) >= 1.10
BuildRequires: pkgconfig(xcb-shm) >= 1.10
BuildRequires: pkgconfig(xcb-sync) >= 1.10
BuildRequires: pkgconfig(xcb-xfixes) >= 1.10
BuildRequires: pkgconfig(xcb-xinerama) >= 1.10
BuildRequires: pkgconfig(xcb-xinput)
BuildRequires: pkgconfig(xcb-xkb) >= 1.10
BuildRequires: pkgconfig(xkbcommon) >= 0.7.0
BuildRequires: pkgconfig(xkbcommon-x11)
Requires: xwayland
Requires: breeze6-decoration >= %{_plasma6_bugfix}
Requires: kf6-kirigami-imports >= %{kf6_version}
Requires: kglobalacceld6 >= %{_plasma6_bugfix}
Requires: libkwin-x11-6 = %{version}
# SECTION QML dependencies
Requires: kf6-kdeclarative-imports >= %{kf6_version}
Requires: kf6-kitemmodels-imports >= %{kf6_version}
Requires: plasma6-framework-components >= %{_plasma6_bugfix}
Requires: qt6-declarative-imports >= %{qt6_version}
Requires: qt6-multimedia-imports >= %{qt6_version}
# /SECTION
# # For displaying full monitor vendor names
Recommends: hwdata
Provides: kwin5 = %{version}
Obsoletes: kwin5 < %{version}
Obsoletes: kwin5-lang < %{version}
# Needed to show dialogs
Requires: kdialog
Provides: windowmanager
Provides: qt6qmlimport(org.kde.kwin_x11)
Provides: qt6qmlimport(org.kde.kwin_x11.3) = 0
%description
KWin is Plasma window manager.
%package -n libkwin-x11-6
Summary: KWin library
%description -n libkwin-x11-6
KWin is Plasma window manager.
This package provides the kwin library.
%package devel
Summary: KDE Window Manager - development files
Requires: kdecoration6-devel >= %{_plasma6_bugfix}
Requires: libkwin-x11-6 = %{version}
Requires: pkgconfig(epoxy)
%description devel
KWin is Plasma window manager.
This package provides development files.
%lang_package
%prep
%autosetup -p1 -n %{rname}-%{version}
%build
%cmake_kf6
%kf6_build
%install
%kf6_install
%find_lang %{name} --with-html --all-name
%fdupes %{buildroot}%{_kf6_libdir}
%fdupes %{buildroot}%{_kf6_sharedir}
%preun
%{systemd_user_preun plasma-kwin_x11.service}
%post
%ldconfig
%ldconfig -n libkwin-x11-6
%{systemd_user_post plasma-kwin_x11.service}
%postun
%ldconfig
%ldconfig -n libkwin-x11-6
%{systemd_user_postun plasma-kwin_x11.service}
%ldconfig_scriptlets -n libkwin-x11-6
%files
%license LICENSES/*
%doc README.md
%doc %lang(en) %{_kf6_htmldir}/en/*
%{_kf6_applicationsdir}/kcm_kwin_effects_x11.desktop
%{_kf6_applicationsdir}/kcm_kwin_scripts_x11.desktop
%{_kf6_applicationsdir}/kcm_kwin_virtualdesktops_x11.desktop
%{_kf6_applicationsdir}/kcm_kwindecoration_x11.desktop
%{_kf6_applicationsdir}/kcm_kwinoptions_x11.desktop
%{_kf6_applicationsdir}/kcm_kwinrules_x11.desktop
%{_kf6_applicationsdir}/kcm_kwintabbox_x11.desktop
%{_kf6_applicationsdir}/kwincompositing.desktop
%{_kf6_applicationsdir}/org.kde.kwin_x11.killer.desktop
%{_kf6_applicationsdir}/kcm_animations_x11.desktop
%{_kf6_bindir}/kwin_x11
%{_kf6_debugdir}/org_kde_kwin_x11.categories
%{_kf6_iconsdir}/hicolor/*/apps/kwin-x11.png
%{_kf6_iconsdir}/hicolor/scalable/apps/kwin-x11.svgz
%{_kf6_knsrcfilesdir}/*.knsrc
%{_kf6_libdir}/kconf_update_bin/kwin-6.0-delete-desktop-switching-shortcuts-x11
%{_kf6_libdir}/kconf_update_bin/kwin-6.0-remove-breeze-tabbox-default-x11
%{_kf6_libdir}/kconf_update_bin/kwin-6.0-reset-active-mouse-screen-x11
%{_kf6_libdir}/kconf_update_bin/kwin-6.1-remove-gridview-expose-shortcuts-x11
%{_kf6_libdir}/kconf_update_bin/kwin-6.5-showpaint-changes-x11
%{_kf6_libdir}/kconf_update_bin/kwin5_update_default_rules_x11
%{_kf6_libdir}/libkcmkwincommon-x11.so.*
%{_kf6_notificationsdir}/kwin-x11.notifyrc
%dir %{_kf6_plugindir}/kwin-x11
%dir %{_kf6_plugindir}/kwin-x11/effects
%dir %{_kf6_plugindir}/kwin-x11/effects/configs
%{_kf6_plugindir}/kwin-x11/effects/configs/kcm_kwin4_genericscripted.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_blur_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_diminactive_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_glide_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_magiclamp_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_mouseclick_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_mousemark_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_overview_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_slide_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_thumbnailaside_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_tileseditor_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_trackmouse_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_windowview_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_wobblywindows_config.so
%dir %{_kf6_plugindir}/kwin-x11/plugins
%{_kf6_plugindir}/kwin-x11/plugins/krunnerintegration.so
%{_kf6_plugindir}/kwin-x11/plugins/nightlight.so
%dir %{_kf6_plugindir}/kf6/packagestructure
%{_kf6_plugindir}/kf6/packagestructure/kwin_aurorae_x11.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_decoration_x11.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_effect_x11.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_scripts_x11.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_windowswitcher_x11.so
%{_kf6_plugindir}/plasma/kcms/systemsettings/kcm*.so
%{_kf6_plugindir}/plasma/kcms/systemsettings_qwidgets/kcm_kwin*.so
%{_kf6_plugindir}/plasma/kcms/systemsettings_qwidgets/kwincompositing.so
%dir %{_kf6_qmldir}/org/kde/kwin_x11/
%{_kf6_qmldir}/org/kde/kwin_x11/private/
%{_kf6_sharedir}/kconf_update/kwin-x11.upd
%{_kf6_sharedir}/krunner/dbusplugins/kwin-runner-windows-x11.desktop
%{_kf6_sharedir}/kwin-x11/
%{_libexecdir}/kwin-applywindowdecoration-x11
%{_libexecdir}/kwin_killer_helper_x11
%{_userunitdir}/plasma-kwin_x11.service
%files -n libkwin-x11-6
%{_kf6_libdir}/libkwin-x11.so.*
%files devel
%{_includedir}/kwin-x11/
%{_kf6_cmakedir}/KWinX11/
%{_kf6_cmakedir}/KWinX11DBusInterface/
%{_kf6_dbusinterfacesdir}/kwin_x11_org.kde.kwin.*
%{_kf6_dbusinterfacesdir}/kwin_x11_org.kde.KWin.*
%{_kf6_libdir}/libkwin-x11.so
%files lang -f %{name}.lang
%exclude %{_kf6_htmldir}/en
%changelog

BIN
kwin6-x11/plasma.keyring Normal file

Binary file not shown.

7
kwin6/_constraints Normal file
View File

@@ -0,0 +1,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">4</size>
</disk>
</hardware>
</constraints>

BIN
kwin6/kwin-6.5.3.tar.xz Normal file

Binary file not shown.

View File

@@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEs8s2ZVJUC+Bu6a2XEZaMRJKMrvwFAmkcKAIACgkQEZaMRJKM
rvwnhgf/YWGGvBDfGr9M+wNyiMD753+r3pZHLfTK6U9s0BNhFcR8Cejn+XMCQoBQ
a4xvfHmVBtMEiANyfuccOndCz+V+SJNNgGktpNYazgvScr8DMFqQfh/4ZnjaMBFk
vaEl+uxDdw5FX4pXytezevBADlWquN/+Sue8cINgkDc7L68mOVSS8jCXEIEyXo85
xVS0ja2c3GVSpuXApS+eTTV8n1g8A5Ee+WED2CVe//p1RAXHLO+K36HfnLpRVj8X
GeIiB4WQVArdR/kk0L2YK7Q8mvoDXTuUA0hC5f5U1zucR1G0osPeIknJF5rGFSKj
QUz9zSvrgWCDHJEcqXp6imVCcVBu4w==
=gqyl
-----END PGP SIGNATURE-----

322
kwin6/kwin6.spec Normal file
View File

@@ -0,0 +1,322 @@
# Internal QML imports
%global __requires_exclude qt6qmlimport\\(org\\.kde\\.KWin\\.Effect\\.WindowView.*
%define kf6_version 6.18.0
%define qt6_version 6.9.0
%define rname kwin
# Full Plasma 6 version (e.g. 6.0.0)
%{!?_plasma6_bugfix: %define _plasma6_bugfix %{version}}
# 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}')}
%bcond_without released
Name: kwin6
Version: 6.5.3
Release: 0
Summary: KDE Window Manager
License: GPL-2.0-or-later AND GPL-3.0-or-later
URL: https://www.kde.org
Source: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
%if %{with released}
Source1: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
Source2: plasma.keyring
%endif
BuildRequires: doxygen
BuildRequires: fdupes
# GCC 13 doesn't know std::ranges::to
%if 0%{?suse_version} == 1500
BuildRequires: gcc14-PIE
BuildRequires: gcc14-c++
%endif
%if 0%{?suse_version} == 1600
BuildRequires: gcc15-PIE
BuildRequires: gcc15-c++
%endif
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
BuildRequires: pkgconfig
BuildRequires: qt6-core-private-devel >= %{qt6_version}
BuildRequires: qt6-gui-private-devel >= %{qt6_version}
BuildRequires: systemd-rpm-macros
BuildRequires: cmake(Breeze) >= %{_plasma6_bugfix}
BuildRequires: cmake(KDecoration3) >= %{_plasma6_bugfix}
BuildRequires: cmake(KF6Auth) >= %{kf6_version}
BuildRequires: cmake(KF6ColorScheme) >= %{kf6_version}
BuildRequires: cmake(KF6Config) >= %{kf6_version}
BuildRequires: cmake(KF6CoreAddons) >= %{kf6_version}
BuildRequires: cmake(KF6Crash) >= %{kf6_version}
BuildRequires: cmake(KF6DBusAddons) >= %{kf6_version}
BuildRequires: cmake(KF6Declarative) >= %{kf6_version}
BuildRequires: cmake(KF6DocTools) >= %{kf6_version}
BuildRequires: cmake(KF6GlobalAccel) >= %{kf6_version}
BuildRequires: cmake(KF6GuiAddons) >= %{kf6_version}
BuildRequires: cmake(KF6Holidays) >= %{kf6_version}
BuildRequires: cmake(KF6I18n) >= %{kf6_version}
BuildRequires: cmake(KF6IdleTime) >= %{kf6_version}
BuildRequires: cmake(KF6KCMUtils) >= %{kf6_version}
BuildRequires: cmake(KF6NewStuff) >= %{kf6_version}
BuildRequires: cmake(KF6Notifications) >= %{kf6_version}
BuildRequires: cmake(KF6Package) >= %{kf6_version}
BuildRequires: cmake(KF6Runner) >= %{kf6_version}
BuildRequires: cmake(KF6Service) >= %{kf6_version}
BuildRequires: cmake(KF6Svg) >= %{kf6_version}
BuildRequires: cmake(KF6WidgetsAddons) >= %{kf6_version}
BuildRequires: cmake(KF6WindowSystem) >= %{kf6_version}
BuildRequires: cmake(KF6XmlGui) >= %{kf6_version}
BuildRequires: cmake(KGlobalAccelD) >= %{_plasma6_bugfix}
BuildRequires: cmake(KNightTime) >= %{_plasma6_bugfix}
BuildRequires: cmake(KScreenLocker) >= %{_plasma6_bugfix}
BuildRequires: cmake(KWayland) >= %{_plasma6_bugfix}
BuildRequires: cmake(PlasmaActivities) >= %{_plasma6_bugfix}
BuildRequires: cmake(PlasmaWaylandProtocols) >= 1.14.0
BuildRequires: cmake(QAccessibilityClient6)
BuildRequires: cmake(Qt6Concurrent) >= %{qt6_version}
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
BuildRequires: cmake(Qt6Core5Compat) >= %{qt6_version}
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
BuildRequires: cmake(Qt6Quick) >= %{qt6_version}
BuildRequires: cmake(Qt6Sensors) >= %{qt6_version}
BuildRequires: cmake(Qt6Svg) >= %{qt6_version}
BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version}
BuildRequires: cmake(Qt6UiTools) >= %{qt6_version}
BuildRequires: cmake(Qt6WaylandClient) >= %{qt6_version}
BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
BuildRequires: pkgconfig(epoxy) >= 1.3
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libdisplay-info) >= 0.2.0
BuildRequires: pkgconfig(libdrm) >= 2.4.116
BuildRequires: pkgconfig(libeis-1.0)
BuildRequires: pkgconfig(libinput) >= 1.26
%if 0%{?suse_version} > 1500
# Leap 15 version is too old
BuildRequires: pkgconfig(libpipewire-0.3) >= 1.2.0
%endif
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libxcvt)
BuildRequires: pkgconfig(wayland-cursor) >= 1.22
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols) >= 1.38
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xcb) >= 1.10
BuildRequires: pkgconfig(xcb-composite) >= 1.10
BuildRequires: pkgconfig(xcb-cursor)
BuildRequires: pkgconfig(xcb-dri3) >= 1.10
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-image)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-present) >= 1.10
BuildRequires: pkgconfig(xcb-randr) >= 1.10
BuildRequires: pkgconfig(xcb-render) >= 1.10
BuildRequires: pkgconfig(xcb-res) >= 1.10
BuildRequires: pkgconfig(xcb-shape) >= 1.10
BuildRequires: pkgconfig(xcb-shm) >= 1.10
BuildRequires: pkgconfig(xcb-sync) >= 1.10
BuildRequires: pkgconfig(xcb-util)
BuildRequires: pkgconfig(xcb-xfixes) >= 1.10
BuildRequires: pkgconfig(xcb-xinerama) >= 1.10
BuildRequires: pkgconfig(xcb-xinput) >= 1.10
BuildRequires: pkgconfig(xcb-xkb) >= 1.10
BuildRequires: pkgconfig(xkbcommon) >= 0.7.0
BuildRequires: pkgconfig(xkbcommon-x11)
Requires: breeze6-decoration >= %{_plasma6_bugfix}
# Needed to show dialogs
Requires: kdialog
Requires: kf6-kirigami-imports >= %{kf6_version}
Requires: kglobalacceld6 >= %{_plasma6_bugfix}
Requires: libkwin6 = %{version}
Requires: xwayland
# SECTION QML dependencies
Requires: kf6-kdeclarative-imports >= %{kf6_version}
Requires: kf6-kitemmodels-imports >= %{kf6_version}
Requires: plasma6-framework-components >= %{_plasma6_bugfix}
Requires: qt6-declarative-imports >= %{qt6_version}
Requires: qt6-multimedia-imports >= %{qt6_version}
# /SECTION
# For post and verifyscript
Requires(post): permissions
Requires(verify): permissions
# For displaying full monitor vendor names
Recommends: hwdata
# xorg-x11-server-wayland is required by plasma6-session-wayland, but not kwin6 itself
Recommends: xorg-x11-server-wayland
# /usr/share/kwin/tabbox/thumbnail_grid/metadata.json conflicts with plasma5-addons
# (Use a version check as plasma6-addons provides plasma5-addons)
Conflicts: plasma5-addons < 6.0
Conflicts: plasma5-addons-lang < 6.0
Provides: kwin5 = %{version}
Obsoletes: kwin5 < %{version}
Obsoletes: kwin5-lang < %{version}
Provides: windowmanager
Provides: qt6qmlimport(org.kde.kwin)
Provides: qt6qmlimport(org.kde.kwin.3) = 0
%description
KWin is Plasma window manager.
%package -n libkwin6
Summary: KWin library
%description -n libkwin6
KWin is Plasma window manager.
This package provides the kwin library.
%package devel
Summary: KDE Window Manager - development files
Requires: kdecoration6-devel >= %{_plasma6_bugfix}
Requires: libkwin6 = %{version}
Requires: pkgconfig(epoxy)
Requires: pkgconfig(libdrm) >= 2.4.116
Provides: kwin5-devel = %{version}
Obsoletes: kwin5-devel < %{version}
%description devel
KWin is Plasma window manager.
This package provides development files.
%lang_package
%prep
%autosetup -p1 -n %{rname}-%{version}
%build
%cmake_kf6 \
%if 0%{?suse_version} == 1500
-DCMAKE_C_COMPILER:STRING=gcc-14 \
-DCMAKE_CXX_COMPILER:STRING=g++-14
%endif
%if 0%{?suse_version} == 1600
-DCMAKE_C_COMPILER:STRING=gcc-15 \
-DCMAKE_CXX_COMPILER:STRING=g++-15
%endif
%{nil}
%kf6_build
%install
%kf6_install
%find_lang kwin6 --with-html --all-name
%fdupes %{buildroot}%{_kf6_libdir}
%fdupes %{buildroot}%{_kf6_sharedir}
%preun
%{systemd_user_preun plasma-kwin_wayland.service}
%post
%ldconfig
%ldconfig -n libkwin6
%set_permissions %{_kf6_bindir}/kwin_wayland
%{systemd_user_post plasma-kwin_wayland.service}
%postun
%ldconfig
%ldconfig -n libkwin6
%{systemd_user_postun plasma-kwin_wayland.service}
%ldconfig_scriptlets -n libkwin6
%verifyscript
%verify_permissions -e %{_kf6_bindir}/kwin_wayland
%files
%verify(not caps) %{_kf6_bindir}/kwin_wayland
%license LICENSES/*
%doc README.md
%doc %lang(en) %{_kf6_htmldir}/en/*
%{_kf6_applicationsdir}/kcm_animations.desktop
%{_kf6_applicationsdir}/kcm_kwin_effects.desktop
%{_kf6_applicationsdir}/kcm_kwin_scripts.desktop
%{_kf6_applicationsdir}/kcm_kwin_virtualdesktops.desktop
%{_kf6_applicationsdir}/kcm_kwindecoration.desktop
%{_kf6_applicationsdir}/kcm_kwinoptions.desktop
%{_kf6_applicationsdir}/kcm_kwinrules.desktop
%{_kf6_applicationsdir}/kcm_kwintabbox.desktop
%{_kf6_applicationsdir}/kcm_kwinxwayland.desktop
%{_kf6_applicationsdir}/kcm_virtualkeyboard.desktop
%{_kf6_applicationsdir}/org.kde.kwin.killer.desktop
%{_kf6_bindir}/kwin_wayland_wrapper
%{_kf6_bindir}/kwindowprop
%{_kf6_configkcfgdir}/*
%{_kf6_debugdir}/org_kde_kwin.categories
%{_kf6_iconsdir}/hicolor/*/apps/kwin.png
%{_kf6_iconsdir}/hicolor/scalable/apps/kwin.svgz
%{_kf6_knsrcfilesdir}/*.knsrc
%{_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
%{_kf6_libdir}/kconf_update_bin/kwin5_update_default_rules
%{_kf6_libdir}/libkcmkwincommon.so.*
%{_kf6_notificationsdir}/kwin.notifyrc
%dir %{_kf6_plugindir}/kwin
%dir %{_kf6_plugindir}/kwin/effects
%dir %{_kf6_plugindir}/kwin/effects/configs
%{_kf6_plugindir}/kwin/effects/configs/kcm_kwin4_genericscripted.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_blur_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_diminactive_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_glide_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_hidecursor_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_magiclamp_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_mouseclick_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_mousemark_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_overview_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_slide_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_thumbnailaside_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_tileseditor_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_trackmouse_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_windowview_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_wobblywindows_config.so
%dir %{_kf6_plugindir}/kwin/plugins
%{_kf6_plugindir}/kwin/plugins/BounceKeysPlugin.so
%{_kf6_plugindir}/kwin/plugins/KeyNotificationPlugin.so
%{_kf6_plugindir}/kwin/plugins/StickyKeysPlugin.so
%{_kf6_plugindir}/kwin/plugins/buttonsrebind.so
%{_kf6_plugindir}/kwin/plugins/eis.so
%{_kf6_plugindir}/kwin/plugins/krunnerintegration.so
%{_kf6_plugindir}/kwin/plugins/nightlight.so
%{_kf6_plugindir}/kwin/plugins/MouseKeysPlugin.so
%if 0%{?suse_version} > 1500
%{_kf6_plugindir}/kwin/plugins/screencast.so
%endif
%{_kf6_plugindir}/kwin/plugins/screenshot.so
%{_kf6_plugindir}/kwin/plugins/TouchpadShortcutsPlugin.so
%dir %{_kf6_plugindir}/kf6/packagestructure
%{_kf6_plugindir}/kf6/packagestructure/kwin_aurorae.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_decoration.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_effect.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_scripts.so
%{_kf6_plugindir}/kf6/packagestructure/kwin_windowswitcher.so
%{_kf6_plugindir}/plasma/kcms/systemsettings/kcm*.so
%{_kf6_plugindir}/plasma/kcms/systemsettings_qwidgets/kcm_kwin*.so
%dir %{_kf6_qmldir}/org/kde/kwin/
%{_kf6_qmldir}/org/kde/kwin/private/
%{_kf6_sharedir}/kconf_update/kwin.upd
%{_kf6_sharedir}/krunner/dbusplugins/kwin-runner-windows.desktop
%{_kf6_sharedir}/kwin-wayland/
%{_libexecdir}/kwin_killer_helper
%{_libexecdir}/kwin-applywindowdecoration
%{_libexecdir}/kwin-tabbox-preview
%{_userunitdir}/plasma-kwin_wayland.service
%files -n libkwin6
%{_kf6_libdir}/libkwin.so.*
%files devel
%{_includedir}/kwin/
%{_kf6_cmakedir}/KWin/
%{_kf6_cmakedir}/KWinDBusInterface/
%{_kf6_dbusinterfacesdir}/org.kde.kwin.*
%{_kf6_dbusinterfacesdir}/org.kde.KWin.*
%{_kf6_libdir}/libkwin.so
%files lang -f %{name}.lang
%exclude %{_kf6_htmldir}/en
%changelog

BIN
kwin6/plasma.keyring Normal file

Binary file not shown.

3
libglvnd/baselibs.conf Normal file
View File

@@ -0,0 +1,3 @@
libglvnd
obsoletes "libglvnd0-<targettype> <= <version>"
libglvnd-devel

View File

@@ -0,0 +1,14 @@
Index: libglvnd-1.3.2/tests/Makefile.am
===================================================================
--- libglvnd-1.3.2.orig/tests/Makefile.am
+++ libglvnd-1.3.2/tests/Makefile.am
@@ -100,7 +100,8 @@ TESTS_GLX += testglxqueryversion.sh
if ENABLE_GLX
-TESTS += $(TESTS_GLX)
+# need a running X server
+# TESTS += $(TESTS_GLX)
check_PROGRAMS += testglxcreatecontext
testglxcreatecontext_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)

Binary file not shown.

View File

@@ -0,0 +1 @@
addFilter(".*shlib-policy-name-error SONAME.*")

109
libglvnd/libglvnd.spec Normal file
View File

@@ -0,0 +1,109 @@
Name: libglvnd
Version: 1.7.0
Release: 0
Summary: The GL Vendor-Neutral Dispatch library
License: MIT
Group: Development/Libraries/C and C++
URL: https://github.com/NVIDIA/libglvnd
Source: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: baselibs.conf
Source2: libglvnd.rpmlintrc
Patch1: disable-glx-tests.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: python3-base
BuildRequires: python3-xml
BuildRequires: pkgconfig(glproto)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
Provides: libglvnd0 = %{version}-%{release}
Obsoletes: libglvnd0 <= %{version}-%{release}
Provides: Mesa-libGLESv1_CM1
Obsoletes: Mesa-libGLESv1_CM1
Provides: Mesa-libGLESv2-2
Obsoletes: Mesa-libGLESv2-2
Requires: Mesa-dri
%description
Vendor-neutral dispatch layer for arbitrating OpenGL API calls between
multiple vendors on a per-screen basis, as described by Andy Ritger's
OpenGL ABI proposal.
%package devel
Summary: Development files for libglvnd
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description devel
Vendor-neutral dispatch layer for arbitrating OpenGL API calls between
multiple vendors on a per-screen basis, as described by Andy Ritger's
OpenGL ABI proposal. This package contains the required files for
development.
%prep
%autosetup -p1
# fix env shebang to call py3 directly
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" src/generate/*.py
%build
./autogen.sh
%configure \
%if 0%{?suse_version} < 1330
--libdir=%{_prefix}/X11R6/%{_lib} \
%endif
--disable-static \
--disable-headers \
--disable-silent-rules
%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
>%{_builddir}/%{name}-%{version}/filelist.rpm
%if 0%{?suse_version} < 1330
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}%{_prefix}/X11R6/%{_lib}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
if [ "%{_lib}" == "lib64" ]; then
mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d
cat > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{name}.conf << EOF
%{_prefix}/X11R6/%{_lib}
%{_prefix}/X11R6/lib
EOF
echo "%config %{_sysconfdir}/ld.so.conf.d/%{name}.conf" >%{_builddir}/%{name}-%{version}/filelist.rpm
fi
%endif
mkdir -p %{buildroot}%{_docdir}/%{name}/pkgconfig
mv %{buildroot}/%{_libdir}/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc \
%{buildroot}%{_docdir}/%{name}/pkgconfig
%check
%make_build check
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f filelist.rpm
%doc README.md
%{_docdir}/%{name}/pkgconfig
%if 0%{?suse_version} < 1330
%dir %{_prefix}/X11R6
%dir %{_prefix}/X11R6/%{_lib}
%{_prefix}/X11R6/%{_lib}/lib*.so.*
%else
%{_libdir}/lib*.so.*
%endif
%files devel
%if 0%{?suse_version} < 1330
%dir %{_prefix}/X11R6
%dir %{_prefix}/X11R6/%{_lib}
%{_prefix}/X11R6/%{_lib}/lib*.so
%else
%{_libdir}/lib*.so
%endif
%{_libdir}/pkgconfig/*.pc
%{_includedir}/glvnd/
%changelog