init package

This commit is contained in:
weidong 2020-08-13 11:13:59 +08:00
parent cbff9a2ade
commit 754cbe70cd
2 changed files with 299 additions and 0 deletions

BIN
kwin-5.15.4.tar.xz Normal file

Binary file not shown.

299
kwin.spec Normal file
View File

@ -0,0 +1,299 @@
# 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 <weidong@uniontech.com> - 5.15.4-1
- Initial release for OpenEuler