diff --git a/recipes-kde/plasma/untier/kwin/files/0001-fix-build-for-qtbase-without-session-management.patch b/recipes-kde/plasma/untier/kwin/files/0001-fix-build-for-qtbase-without-session-management.patch new file mode 100644 index 00000000..f991b618 --- /dev/null +++ b/recipes-kde/plasma/untier/kwin/files/0001-fix-build-for-qtbase-without-session-management.patch @@ -0,0 +1,82 @@ +From f2b5981d848d700212fc30d719c30db6d57cd2e5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 2 Feb 2015 14:28:10 +0100 +Subject: [PATCH] fix build for qtbase without session management +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + main.cpp | 8 +++++++- + workspace.cpp | 11 ++++++++++- + 2 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/main.cpp b/main.cpp +index 44d8c49..0cb9e44 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -360,7 +360,13 @@ void Application::createWorkspace() + // critical startup section where x errors cause kwin to abort. + + // create workspace. +- (void) new Workspace(isSessionRestored()); ++ (void) new Workspace( ++#ifndef QT_NO_SESSIONMANAGER ++ isSessionRestored() ++#else ++ false ++#endif ++ ); + } + + void Application::createAtoms() +diff --git a/workspace.cpp b/workspace.cpp +index 7cbe81e..66c603b 100644 +--- a/workspace.cpp ++++ b/workspace.cpp +@@ -277,8 +277,11 @@ void Workspace::init() + // Extra NETRootInfo instance in Client mode is needed to get the values of the properties + NETRootInfo client_info(connection(), NET::ActiveWindow | NET::CurrentDesktop); + int initial_desktop; ++#ifndef QT_NO_SESSIONMANAGER + if (!qApp->isSessionRestored()) ++#endif // QT_NO_SESSIONMANAGER + initial_desktop = client_info.currentDesktop(); ++#ifndef QT_NO_SESSIONMANAGER + else { + #if KWIN_QT5_PORTING + KConfigGroup group(kapp->sessionConfig(), "Session"); +@@ -287,6 +290,7 @@ void Workspace::init() + initial_desktop = 1; + #endif + } ++#endif // QT_NO_SESSIONMANAGER + if (!VirtualDesktopManager::self()->setCurrent(initial_desktop)) + VirtualDesktopManager::self()->setCurrent(1); + +@@ -307,7 +311,9 @@ void Workspace::init() + active_client = NULL; + rootInfo->setActiveWindow(None); + focusToNull(); ++#ifndef QT_NO_SESSIONMANAGER + if (!qApp->isSessionRestored()) ++#endif // QT_NO_SESSIONMANAGER + ++block_focus; // Because it will be set below + + { +@@ -372,7 +378,10 @@ void Workspace::init() + } // End updates blocker block + + Client* new_active_client = NULL; +- if (!qApp->isSessionRestored()) { ++#ifndef QT_NO_SESSIONMANAGER ++ if (!qApp->isSessionRestored()) ++#endif ++ { + --block_focus; + new_active_client = findClient(Predicate::WindowMatch, client_info.activeWindow()); + } +-- +1.8.3.1 + diff --git a/recipes-kde/plasma/untier/kwin/files/0002-Add-X11-less-support-for-pure-wayland-environments.patch b/recipes-kde/plasma/untier/kwin/files/0002-Add-X11-less-support-for-pure-wayland-environments.patch new file mode 100644 index 00000000..0cbd9a83 --- /dev/null +++ b/recipes-kde/plasma/untier/kwin/files/0002-Add-X11-less-support-for-pure-wayland-environments.patch @@ -0,0 +1,148 @@ +From f72c60cb99105556969c06a1008c2708b9d07da3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 10 Dec 2014 17:04:24 +0100 +Subject: [PATCH] Add X11-less support for pure wayland environments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + CMakeLists.txt | 82 ++++++++++++++++++++++++++++++++++------------------------ + 1 file changed, 48 insertions(+), 34 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4a3e547..288b072 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,7 +25,6 @@ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Script + UiTools + Widgets +- X11Extras + ) + + find_package(Qt5Test ${QT_MIN_VERSION} CONFIG QUIET) +@@ -150,35 +149,40 @@ set_package_properties(XKB PROPERTIES + find_package(X11) + set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries" + URL "http://www.x.org" +- TYPE REQUIRED ++ TYPE OPTIONAL + ) + +-# All the required XCB components +-find_package(XCB +- REQUIRED COMPONENTS +- XCB +- XFIXES +- DAMAGE +- COMPOSITE +- SHAPE +- SYNC +- RENDER +- RANDR +- KEYSYMS +- IMAGE +- SHM +- XTEST +- GLX +- OPTIONAL_COMPONENTS +- ICCCM +-) +-set_package_properties(XCB PROPERTIES TYPE REQUIRED) ++set(HAVE_X11 ${X11_FOUND}) ++ ++if(HAVE_X11) ++ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS X11Extras) ++ # All the required XCB components ++ find_package(XCB ++ REQUIRED COMPONENTS ++ XCB ++ XFIXES ++ DAMAGE ++ COMPOSITE ++ SHAPE ++ SYNC ++ RENDER ++ RANDR ++ KEYSYMS ++ IMAGE ++ SHM ++ XTEST ++ GLX ++ OPTIONAL_COMPONENTS ++ ICCCM ++ ) ++ set_package_properties(XCB PROPERTIES TYPE REQUIRED) + +-# and the optional XCB dependencies +-if (XCB_ICCCM_VERSION VERSION_LESS "0.4") +- set(XCB_ICCCM_FOUND FALSE) ++ # and the optional XCB dependencies ++ if (XCB_ICCCM_VERSION VERSION_LESS "0.4") ++ set(XCB_ICCCM_FOUND FALSE) ++ endif() ++ add_feature_info("XCB-ICCCM" XCB_ICCCM_FOUND "Required for building test applications for KWin") + endif() +-add_feature_info("XCB-ICCCM" XCB_ICCCM_FOUND "Required for building test applications for KWin") + + feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) + +@@ -438,9 +442,12 @@ set(kwin_QT_LIBS + Qt5::DBus + Qt5::Quick + Qt5::Script +- Qt5::X11Extras + ) + ++if(HAVE_X11) ++ set(kwin_QT_LIBS Qt5::X11Extras) ++endif() ++ + set(kwin_KDE_LIBS + KF5::ConfigCore + KF5::CoreAddons +@@ -504,10 +511,15 @@ set(kwinLibs + ${kwin_OWN_LIBS} + ${kwin_QT_LIBS} + ${kwin_KDE_LIBS} +- ${kwin_XLIB_LIBS} +- ${kwin_XCB_LIBS} + ) + ++if(HAVE_X11) ++ set(kwinLibs ++ ${kwin_XLIB_LIBS} ++ ${kwin_XCB_LIBS} ++ ) ++endif() ++ + if(HAVE_WAYLAND) + set(kwinLibs ${kwinLibs} ${kwin_WAYLAND_LIBS}) + if(KWIN_HAVE_EGL AND Wayland_Egl_FOUND) +@@ -537,12 +549,14 @@ elseif(KWIN_BUILD_OPENGLES) + set_target_properties(kwin PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGLES") + endif() + +-kf5_add_kdeinit_executable(kwin_x11 main_x11.cpp) +-target_link_libraries(kdeinit_kwin_x11 kwin) ++if(HAVE_X11) ++ kf5_add_kdeinit_executable(kwin_x11 main_x11.cpp) ++ target_link_libraries(kdeinit_kwin_x11 kwin) + +-install(TARGETS kwin ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP ) +-install(TARGETS kdeinit_kwin_x11 ${INSTALL_TARGETS_DEFAULT_ARGS} ) +-install(TARGETS kwin_x11 ${INSTALL_TARGETS_DEFAULT_ARGS} ) ++ install(TARGETS kwin ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP ) ++ install(TARGETS kdeinit_kwin_x11 ${INSTALL_TARGETS_DEFAULT_ARGS} ) ++ install(TARGETS kwin_x11 ${INSTALL_TARGETS_DEFAULT_ARGS} ) ++endif() + + if(HAVE_WAYLAND) + kf5_add_kdeinit_executable(kwin_wayland main_wayland.cpp) +-- +1.8.3.1 + diff --git a/recipes-kde/plasma/untier/kwin/kwin_5.2.0.1.bb b/recipes-kde/plasma/untier/kwin/kwin_5.2.0.1.bb new file mode 100644 index 00000000..82d1934f --- /dev/null +++ b/recipes-kde/plasma/untier/kwin/kwin_5.2.0.1.bb @@ -0,0 +1,91 @@ +SUMMARY = "Support for bookmarks and the XBEL format" +LICENSE = "LGPLv2.1 & GFDL-1.2" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=5c213a7de3f013310bd272cdb6eb7a24 \ + file://COPYING.DOC;md5=ad1419ecc56e060eccf8184a87c4285f \ +" + +REQUIRED_DISTRO_FEATURES = "x11" + +inherit kde cmake-lib + +DEPENDS += " \ + kconfig \ + kconfigwidgets \ + kcoreaddons \ + kcrash \ + kglobalaccel \ + ki18n \ + kinit \ + knotifications \ + kservice \ + plasma-framework \ + kwidgetsaddons \ + kwindowsystem \ + \ + kcompletion \ + kdeclarative \ + kcmutils \ + kio \ + knewstuff \ + kxmlgui \ + kdecoration \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "virtual/xserver qtx11extras libepoxy", "",d)} \ +" + +# this condition matches always currently - it is kept in this way as a marker +DEPENDS += " \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "virtual/xserver qtx11extras libepoxy", "",d)} \ +" + +# REVISIT: PACKAGECONFIG for optionals +DEPENDS += " \ + kwayland \ + kactivities \ + kdoctools \ + virtual/egl \ +" + +SRCREV = "3b6ab89617fd8b94bc926055a13df772036b33d2" + +SRC_URI += "file://0001-fix-build-for-qtbase-without-session-management.patch" + +# REVISIT: this should be fixed in meta-fsl-arm +CXXFLAGS_append_mx6 = " -DLINUX \ + ${@base_contains('DISTRO_FEATURES', 'x11', '', \ + base_contains('DISTRO_FEATURES', 'wayland', \ + '-DEGL_API_WL -DEGL_API_FB', '', d), d)}" + + + +# cross libs / headers +CMAKE_HIDE_ERROR[1] = "KF5Win, -S${libdir}/lib, -S${STAGING_LIBDIR}/lib" +CMAKE_HIDE_ERROR[2] = "KF5Win, -S${includedir}, -S${STAGING_INCDIR}" + +FILES_${PN} += " \ + ${datadir}/config.kcfg \ + ${datadir}/kservices5 \ + ${datadir}/kwincompositing \ + ${datadir}/dbus-1 \ + ${datadir}/icons \ + ${datadir}/*5 \ + ${libdir}/plugins \ + ${libdir}/qml \ + ${libdir}/kconf_update_bin \ +" + +# taken from bitbake.conf with lucky modification: all lt libraries end with s.so +# only move them to -dev package +FILES_SOLIBSDEV = "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*s${SOLIBSDEV}" +FILES_${PN} += " \ + ${libdir}/*.so \ +" + + +FILES_${PN}-dbg += " \ + ${libdir}/*/.debug \ + ${libdir}/*/*/.debug \ + ${libdir}/*/*/*/*/.debug \ + ${libdir}/*/*/*/*/*/.debug \ + ${libdir}/*/*/*/*/*/*/.debug \ +"