diff --git a/recipes-plasma/kwin.inc b/recipes-plasma/kwin.inc new file mode 100644 index 0000000..49772e7 --- /dev/null +++ b/recipes-plasma/kwin.inc @@ -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 \ +" diff --git a/recipes-plasma/kwin/0001-compile-fix.patch b/recipes-plasma/kwin/0001-compile-fix.patch new file mode 100644 index 0000000..ab94d39 --- /dev/null +++ b/recipes-plasma/kwin/0001-compile-fix.patch @@ -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 + #include + #include ++#include + #include + #include + #include +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 . + #include + + #include ++#include + + #include + +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 . + // system + #include + #include ++#include + + namespace KWin + { diff --git a/recipes-plasma/kwin_5.11.3.bb b/recipes-plasma/kwin_5.11.3.bb new file mode 100644 index 0000000..56169bb --- /dev/null +++ b/recipes-plasma/kwin_5.11.3.bb @@ -0,0 +1,2 @@ +require ${PN}.inc +SRCREV = "v${PV}" diff --git a/recipes-plasma/packagegroups/plasma-mobile.bb b/recipes-plasma/packagegroups/plasma-mobile.bb index 9ad3057..7900639 100644 --- a/recipes-plasma/packagegroups/plasma-mobile.bb +++ b/recipes-plasma/packagegroups/plasma-mobile.bb @@ -1,11 +1,12 @@ DESCRIPTION = "KDE Plasma Mobile" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" inherit packagegroup RDEPENDS_${PN} = " \ kdecoration \ kscreenlocker \ + kwin \ plasma-phone-components \ " diff --git a/recipes-support/xcb-util-cursor_0.1.2.bb b/recipes-support/xcb-util-cursor_0.1.2.bb new file mode 100644 index 0000000..6ae16c8 --- /dev/null +++ b/recipes-support/xcb-util-cursor_0.1.2.bb @@ -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"