# uncomment to enable bootstrap mode #global bootstrap 1 %if !0%{?bootstrap} # avoid slow arm arch for now %ifnarch %{arm} %global tests 1 %endif %endif Name: kwin Version: 5.15.4 Release: 1 Summary: KDE Window manager # all sources are effectively GPLv2+, except for: # scripts/enforcedeco/contents/code/main.js # KDE e.V. may determine that future GPL versions are accepted License: GPLv2 or GPLv3 URL: https://userbase.kde.org/KWin #URL: https://cgit.kde.org/%{name}.git %global revision %(echo %{version} | cut -d. -f3) %if %{revision} >= 50 %global majmin_ver %(echo %{version} | cut -d. -f1,2).50 %global stable unstable %else %global majmin_ver %(echo %{version} | cut -d. -f1,2) %global stable stable %endif Source0: http://download.kde.org/%{stable}/plasma/%{version}/%{name}-%{version}.tar.xz ## upstream patches # Base BuildRequires: extra-cmake-modules BuildRequires: kf5-rpm-macros # Qt BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtbase-static # KWinQpaPlugin (and others?) BuildRequires: qt5-qtbase-private-devel BuildRequires: qt5-qtsensors-devel BuildRequires: qt5-qtscript-devel BuildRequires: qt5-qttools-devel BuildRequires: qt5-qttools-static BuildRequires: qt5-qtx11extras-devel # X11/OpenGL BuildRequires: mesa-libGL-devel BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libgbm-devel BuildRequires: libxkbcommon-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: libepoxy-devel BuildRequires: libcap-devel # Wayland BuildRequires: kf5-kwayland-devel BuildRequires: wayland-devel BuildRequires: libxkbcommon-devel >= 0.4 BuildRequires: pkgconfig(libinput) >= 0.10 BuildRequires: pkgconfig(libudev) # KF5 BuildRequires: kf5-kcompletion-devel BuildRequires: kf5-kconfig-devel BuildRequires: kf5-kconfigwidgets-devel BuildRequires: kf5-kcoreaddons-devel BuildRequires: kf5-kcrash-devel BuildRequires: kf5-kglobalaccel-devel BuildRequires: kf5-ki18n-devel BuildRequires: kf5-kinit-devel >= 5.10.0-3 BuildRequires: kf5-kio-devel BuildRequires: kf5-knotifications-devel BuildRequires: kf5-kservice-devel BuildRequires: kf5-plasma-devel BuildRequires: kf5-kwidgetsaddons-devel BuildRequires: kf5-kwindowsystem-devel BuildRequires: kf5-kdoctools-devel BuildRequires: kf5-kcmutils-devel BuildRequires: kf5-knewstuff-devel BuildRequires: kf5-kactivities-devel BuildRequires: kf5-kdoctools-devel BuildRequires: kf5-kdeclarative-devel BuildRequires: kf5-kiconthemes-devel BuildRequires: kf5-kidletime-devel BuildRequires: kf5-ktextwidgets-devel BuildRequires: kdecoration-devel >= %{majmin_ver} BuildRequires: kscreenlocker-devel >= %{majmin_ver} BuildRequires: plasma-breeze-devel >= %{majmin_ver} %if 0%{?tests} BuildRequires: dbus-x11 BuildRequires: openbox BuildRequires: xorg-x11-server-Xvfb %endif ## Runtime deps Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: kdecoration%{?_isa} >= %{majmin_ver} Requires: kscreenlocker%{?_isa} >= %{majmin_ver} # Runtime-only dependencies %if ! 0%{?bootstrap} BuildRequires: qt5-qtmultimedia-devel BuildRequires: qt5-qtvirtualkeyboard %endif Requires: qt5-qtmultimedia%{?_isa} Recommends: qt5-qtvirtualkeyboard%{?_isa} # libkdeinit5_kwin* %{?kf5_kinit_requires} # Before kwin was split out from kde-workspace into a subpackage Conflicts: kde-workspace%{?_isa} < 4.11.14-2 Obsoletes: kwin-gles < 5 Obsoletes: kwin-gles-libs < 5 # http://bugzilla.redhat.com/605675 Provides: firstboot(windowmanager) = kwin_x11 # and kwin too (#1197135), until initial-setup fixed Provides: firstboot(windowmanager) = kwin %description %{summary}. %package wayland Summary: KDE Window Manager with experimental Wayland support Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: kwayland-integration%{?_isa} >= %{majmin_ver} %if ! 0%{?bootstrap} BuildRequires: xorg-x11-server-Xwayland %endif Requires: xorg-x11-server-Xwayland # KWinQpaPlugin (and others?) %{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} # libkdeinit5_kwin* %{?kf5_kinit_requires} %description wayland %{summary}. %package common Summary: Common files for KWin X11 and KWin Wayland Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: kf5-kwayland%{?_isa} %description common %{summary}. %package libs Summary: KWin runtime libraries # Before kwin-libs was split out from kde-workspace into a subpackage Conflicts: kde-workspace-libs%{?_isa} < 4.11.14-2 %description libs %{summary}. %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: kf5-kconfig-devel Requires: kf5-kservice-devel Requires: kf5-kwindowsystem-devel Conflicts: kde-workspace-devel < 5.0.0-1 %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package doc Summary: User manual for %{name} Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc %{summary}. %prep %autosetup -n %{name}-%{version} -p1 sed -i \ -e 's|^find_package(Breeze ${PROJECT_VERSION} CONFIG)|find_package(Breeze 5.9 CONFIG)|' \ CMakeLists.txt %build mkdir %{_target_platform} pushd %{_target_platform} %{cmake_kf5} .. \ -DBUILD_TESTING:BOOL=%{?tests:ON}%{!?tests:OFF} popd %make_build -C %{_target_platform} %install make install/fast DESTDIR=%{buildroot} -C %{_target_platform} %find_lang %{name} --with-html --all-name grep "%{_kf5_docdir}" %{name}.lang > %{name}-doc.lang cat %{name}.lang %{name}-doc.lang | sort | uniq -u > kwin5.lang # temporary(?) hack to allow initial-setup to use /usr/bin/kwin too ln -s kwin_x11 %{buildroot}%{_bindir}/kwin %check %if 0%{?tests} # using low timeout to avoid extending buildtimes too much for now -- rex export CTEST_OUTPUT_ON_FAILURE=1 xvfb-run -a \ dbus-launch --exit-with-session \ make test ARGS="--output-on-failure --timeout 10" -C %{_target_platform} ||: %endif %files %{_bindir}/kwin %{_bindir}/kwin_x11 %{_kf5_libdir}/libkdeinit5_kwin_x11.so %files common -f kwin5.lang %{_kf5_libdir}/libkdeinit5_kwin_rules_dialog.so %{_datadir}/kwin %{_kf5_qtplugindir}/*.so %{_kf5_qtplugindir}/kwin/ %{_kf5_qtplugindir}/org.kde.kdecoration2/*.so %{_kf5_qtplugindir}/org.kde.kwin.platforms/ %{_kf5_qtplugindir}/kpackage/packagestructure/kwin_packagestructure*.so %{_kf5_qtplugindir}/org.kde.kwin.scenes/*.so %{_qt5_qmldir}/org/kde/kwin %{_kf5_libdir}/kconf_update_bin/kwin5_update_default_rules %{_libexecdir}/kwin_killer_helper %{_libexecdir}/kwin_rules_dialog %{_libexecdir}/org_kde_kwin_xclipboard_syncer %{_datadir}/kwincompositing %{_datadir}/kconf_update/kwin.upd %{_kf5_datadir}/kservices5/*.desktop %{_kf5_datadir}/kservices5/kwin %{_kf5_datadir}/kservicetypes5/*.desktop %{_kf5_datadir}/kpackage/kcms/kcm_kwin_virtualdesktops/* %{_kf5_datadir}/knotifications5/kwin.notifyrc %{_kf5_datadir}/config.kcfg/kwin.kcfg %{_kf5_datadir}/config.kcfg/kwin_colorcorrect.kcfg %{_datadir}/icons/hicolor/*/apps/kwin.* # note: these are for reference (to express config defaults), they are # not config files themselves (so don't use %%config tag) %{_sysconfdir}/xdg/*.knsrc %files wayland %{_kf5_bindir}/kwin_wayland %{_kf5_qtplugindir}/platforms/KWinQpaPlugin.so %{_kf5_qtplugindir}/org.kde.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so %{_kf5_qtplugindir}/org.kde.kwin.waylandbackends/KWinWaylandDrmBackend.so %{_kf5_qtplugindir}/org.kde.kwin.waylandbackends/KWinWaylandFbdevBackend.so %{_kf5_qtplugindir}/org.kde.kwin.waylandbackends/KWinWaylandWaylandBackend.so %{_kf5_qtplugindir}/org.kde.kwin.waylandbackends/KWinWaylandX11Backend.so %{_kf5_qtplugindir}/org.kde.kwin.waylandbackends/KWinWaylandVirtualBackend.so %{_kf5_plugindir}/org.kde.kidletime.platforms/KF5IdleTimeKWinWaylandPrivatePlugin.so %ldconfig_scriptlets libs %files libs %{_sysconfdir}/xdg/org_kde_kwin.categories %{_libdir}/libkwin.so.* %{_libdir}/libkwinxrenderutils.so.* %{_libdir}/libkwineffects.so.* %{_libdir}/libkwinglutils.so.* %{_libdir}/libkwin4_effect_builtins.so.* %{_libdir}/libkcmkwincommon.so.* %{_qt5_plugindir}/kcms/kcm_kwin_virtualdesktops.so %files devel %{_datadir}/dbus-1/interfaces/*.xml %{_libdir}/cmake/KWinDBusInterface %{_libdir}/libkwinxrenderutils.so %{_libdir}/libkwineffects.so %{_libdir}/libkwinglutils.so %{_libdir}/libkwin4_effect_builtins.so %{_includedir}/kwin*.h %files doc -f %{name}-doc.lang %license COPYING* %changelog * Fri Aug 7 2020 weidong - 5.15.4-1 - Initial release for OpenEuler