From 4ae95666e06fc33441a1bc2dbbba71b1e8f1eec2 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sat, 15 Apr 2017 14:06:09 +0200 Subject: kde-plasma/kwin: Fix build against >=x11-libs/libdrm-2.4.78 Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- .../kwin/files/kwin-5.8.6-libdrm-2.4.78.patch | 44 ++++++++++ kde-plasma/kwin/kwin-5.8.6.ebuild | 2 + kde-plasma/kwin/kwin-5.9.4-r1.ebuild | 96 ++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 kde-plasma/kwin/files/kwin-5.8.6-libdrm-2.4.78.patch create mode 100644 kde-plasma/kwin/kwin-5.9.4-r1.ebuild (limited to 'kde-plasma') diff --git a/kde-plasma/kwin/files/kwin-5.8.6-libdrm-2.4.78.patch b/kde-plasma/kwin/files/kwin-5.8.6-libdrm-2.4.78.patch new file mode 100644 index 000000000000..663ad8c74957 --- /dev/null +++ b/kde-plasma/kwin/files/kwin-5.8.6-libdrm-2.4.78.patch @@ -0,0 +1,44 @@ +commit 4ca3d0d94370002430b5131520a11c06b23bdcaa +Author: Martin Gräßlin +Date: Mon Apr 10 06:52:44 2017 +0200 + + [platforms/drm] Explicitly request event context version 2 + + Summary: + Libdrm 2.4.78 introduces a version 2 and if KWin gets built against it + our code would break. Given that this change is for Plasma/5.8 branch. + + Closes T5839 + + Reviewers: #kwin, #plasma + + Subscribers: plasma-devel, kwin + + Tags: #kwin + + Maniphest Tasks: T5839 + + Differential Revision: https://phabricator.kde.org/D5380 + +diff --git a/plugins/platforms/drm/drm_backend.cpp b/plugins/platforms/drm/drm_backend.cpp +index dc2b79696..9e9cb60e1 100644 +--- a/plugins/platforms/drm/drm_backend.cpp ++++ b/plugins/platforms/drm/drm_backend.cpp +@@ -61,6 +61,8 @@ along with this program. If not, see . + #define DRM_CAP_CURSOR_HEIGHT 0x9 + #endif + ++#define KWIN_DRM_EVENT_CONTEXT_VERSION 2 ++ + namespace KWin + { + +@@ -240,7 +242,7 @@ void DrmBackend::openDrm() + } + drmEventContext e; + memset(&e, 0, sizeof e); +- e.version = DRM_EVENT_CONTEXT_VERSION; ++ e.version = KWIN_DRM_EVENT_CONTEXT_VERSION; + e.page_flip_handler = pageFlipHandler; + drmHandleEvent(m_fd, &e); + } diff --git a/kde-plasma/kwin/kwin-5.8.6.ebuild b/kde-plasma/kwin/kwin-5.8.6.ebuild index ce1a94ff34b3..269401e31b43 100644 --- a/kde-plasma/kwin/kwin-5.8.6.ebuild +++ b/kde-plasma/kwin/kwin-5.8.6.ebuild @@ -89,6 +89,8 @@ DEPEND="${COMMON_DEPEND} RESTRICT+=" test" +PATCHES=( "${FILESDIR}/${P}-libdrm-2.4.78.patch" ) + src_prepare() { kde5_src_prepare use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch" diff --git a/kde-plasma/kwin/kwin-5.9.4-r1.ebuild b/kde-plasma/kwin/kwin-5.9.4-r1.ebuild new file mode 100644 index 000000000000..dad7f6668cc4 --- /dev/null +++ b/kde-plasma/kwin/kwin-5.9.4-r1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KDE_HANDBOOK="optional" +KDE_TEST="optional" +VIRTUALX_REQUIRED="test" +inherit kde5 + +DESCRIPTION="KDE window manager" +LICENSE="GPL-2+" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="gles2 multimedia" + +# drop qtcore subslot operator when QT_MINIMAL >= 5.7.0 +COMMON_DEPEND=" + $(add_frameworks_dep kactivities) + $(add_frameworks_dep kauth) + $(add_frameworks_dep kcmutils) + $(add_frameworks_dep kcompletion) + $(add_frameworks_dep kconfig) + $(add_frameworks_dep kconfigwidgets) + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep kcrash) + $(add_frameworks_dep kdeclarative) + $(add_frameworks_dep kglobalaccel) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep kiconthemes) + $(add_frameworks_dep kidletime) + $(add_frameworks_dep kinit) + $(add_frameworks_dep kio) + $(add_frameworks_dep knewstuff) + $(add_frameworks_dep knotifications) + $(add_frameworks_dep kpackage) + $(add_frameworks_dep kservice) + $(add_frameworks_dep kwayland) + $(add_frameworks_dep kwidgetsaddons) + $(add_frameworks_dep kwindowsystem X) + $(add_frameworks_dep kxmlgui) + $(add_frameworks_dep plasma) + $(add_plasma_dep breeze) + $(add_plasma_dep kdecoration) + $(add_plasma_dep kscreenlocker) + $(add_qt_dep qtcore '' '' '5=') + $(add_qt_dep qtdbus) + $(add_qt_dep qtdeclarative) + $(add_qt_dep qtgui 'gles2=') + $(add_qt_dep qtscript) + $(add_qt_dep qtwidgets) + $(add_qt_dep qtx11extras) + >=dev-libs/libinput-1.5 + >=dev-libs/wayland-1.2 + media-libs/fontconfig + media-libs/freetype + media-libs/libepoxy + media-libs/mesa[egl,gbm,gles2?,wayland] + virtual/libudev:= + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXi + x11-libs/libdrm + >=x11-libs/libxcb-1.10 + >=x11-libs/libxkbcommon-0.7.0 + x11-libs/xcb-util-cursor + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms +" +RDEPEND="${COMMON_DEPEND} + $(add_plasma_dep kde-cli-tools) + multimedia? ( + || ( + $(add_qt_dep qtmultimedia 'gstreamer,qml') + $(add_qt_dep qtmultimedia 'gstreamer010,qml') + ) + ) + !