Add KWin recipe

Still contains some dirty build fixes that need to be properly investigated
and integrated upstream.
This commit is contained in:
Volker Krause
2017-12-29 17:27:33 +01:00
parent e938ea741b
commit 0761d99f20
5 changed files with 143 additions and 0 deletions

82
recipes-plasma/kwin.inc Normal file
View File

@@ -0,0 +1,82 @@
DESCRIPTION = "KWin"
HOMEPAGE = ""
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=5c213a7de3f013310bd272cdb6eb7a24"
PR = "r0"
DEPENDS = " \
qtbase \
qtdeclarative \
extra-cmake-modules \
kconfigwidgets \
kcrash \
kglobalaccel \
ki18n \
kinit \
knotifications \
kpackage \
plasma-framework \
kwindowsystem \
kiconthemes \
kidletime \
kwayland \
kcompletion \
kdeclarative \
kcmutils \
kio \
ktextwidgets \
knewstuff \
kservice \
kxmlgui \
kdecoration \
kscreenlocker \
libxcb \
xcb-util-cursor \
fontconfig \
libepoxy \
"
SRC_URI = " \
git://anongit.kde.org/${PN};nobranch=1 \
file://0001-compile-fix.patch \
"
S = "${WORKDIR}/git"
inherit cmake_qt5 gettext python3native
do_compile_prepend() {
# desktoptojson needs to find installed service type files
export XDG_DATA_DIRS=${STAGING_DATADIR}:$XDG_DATA_DIRS
}
FILES_${PN} += " \
${libdir}/libkdeinit5_kwin*.so \
${libdir}/kconf_update_bin/kwin5_update_default_rules \
${libdir}/plugins/*.so \
${libdir}/plugins/kpackage/packagestructure/*.so \
${libdir}/plugins/org.kde.kwin.scenes/*.so \
${libdir}/plugins/org.kde.kglobalaccel5.platforms/*.so \
${libdir}/plugins/kwin/effects/configs/*.so \
${libdir}/plugins/org.kde.kwin.waylandbackends/*.so \
${libdir}/plugins/org.kde.kdecoration2/*.so \
${libdir}/plugins/kf5/org.kde.kidletime.platforms/*.so \
${libdir}/plugins/org.kde.kwin.platforms/*.so \
${libdir}/plugins/platforms/*.so \
${libdir}/qml/org/kde/kwin/decoration/* \
${libdir}/qml/org/kde/kwin/decorations/plastik/* \
${libdir}/qml/org/kde/kwin/private/kdecoration/* \
${datadir}/kservices5/*.desktop \
${datadir}/kservices5/kwin/*.desktop \
${datadir}/knotifications5/*.notifyrc \
${datadir}/kservicetypes5/*.desktop \
${datadir}/icons/hicolor/*/*/* \
${datadir}/kwincompositing/qml/*.qml \
${datadir}/config.kcfg/*.kcfg \
"
FILES_${PN}-dev = " \
${libdir}/libkwin*.so \
${libdir}/cmake/KWinDBusInterface/*.cmake \
${datadir}/dbus-1/interfaces/*.xml \
${includedir}/*.h \
"

View File

@@ -0,0 +1,49 @@
diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewitem.cpp b/kcmkwin/kwindecoration/declarative-plugin/previewitem.cpp
index a77261a54..6404ba006 100644
--- a/kcmkwin/kwindecoration/declarative-plugin/previewitem.cpp
+++ b/kcmkwin/kwindecoration/declarative-plugin/previewitem.cpp
@@ -25,6 +25,7 @@
#include <KDecoration2/DecorationSettings>
#include <KDecoration2/DecorationShadow>
#include <KDecoration2/DecoratedClient>
+#include <QCoreApplication>
#include <QCursor>
#include <QPainter>
#include <QQmlContext>
diff --git a/plugins/platforms/x11/common/eglonxbackend.cpp b/plugins/platforms/x11/common/eglonxbackend.cpp
index 1990fc49b..ac3376bfa 100644
--- a/plugins/platforms/x11/common/eglonxbackend.cpp
+++ b/plugins/platforms/x11/common/eglonxbackend.cpp
@@ -272,7 +272,7 @@ EGLSurface EglOnXBackend::createSurface(xcb_window_t window)
// cannot be an xcb_window_t.
surface = eglCreatePlatformWindowSurfaceEXT(eglDisplay(), config(), (void *) &window, nullptr);
} else {
- surface = eglCreateWindowSurface(eglDisplay(), config(), window, nullptr);
+ surface = eglCreateWindowSurface(eglDisplay(), config(), (void *) &window, nullptr);
}
return surface;
diff --git a/plugins/platforms/x11/standalone/x11_platform.h b/plugins/platforms/x11/standalone/x11_platform.h
index 07d79b889..c8b3078af 100644
--- a/plugins/platforms/x11/standalone/x11_platform.h
+++ b/plugins/platforms/x11/standalone/x11_platform.h
@@ -24,6 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <kwin_export.h>
#include <QObject>
+#include <QX11Info>
#include <memory>
diff --git a/plugins/platforms/x11/windowed/x11windowed_backend.cpp b/plugins/platforms/x11/windowed/x11windowed_backend.cpp
index 95306b027..8b7513f68 100644
--- a/plugins/platforms/x11/windowed/x11windowed_backend.cpp
+++ b/plugins/platforms/x11/windowed/x11windowed_backend.cpp
@@ -42,6 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// system
#include <linux/input.h>
#include <X11/Xlib-xcb.h>
+#include <X11/keysym.h>
namespace KWin
{

View File

@@ -0,0 +1,2 @@
require ${PN}.inc
SRCREV = "v${PV}"

View File

@@ -7,5 +7,6 @@ inherit packagegroup
RDEPENDS_${PN} = " \
kdecoration \
kscreenlocker \
kwin \
plasma-phone-components \
"

View File

@@ -0,0 +1,9 @@
require recipes-graphics/xorg-lib/xcb-util.inc
DEPENDS += "xcb-util xcb-util-renderutil xcb-util-image"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=ce469b61c70ff8d7cce0547476891974"
SRC_URI[md5sum] = "88e70d92ff5616d406ce5b1b62e0c58b"
SRC_URI[sha256sum] = "ed65367b810d47ab637011585135f4a84dd12e235dddcd3b26e0cfb3be21fb3a"