summaryrefslogtreecommitdiffstats
path: root/external/meta-openembedded/meta-oe/recipes-graphics/libyui
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-openembedded/meta-oe/recipes-graphics/libyui')
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch101
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch147
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch49
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch687
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch130
-rw-r--r--external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb42
9 files changed, 1274 insertions, 0 deletions
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
new file mode 100644
index 00000000..045f3caf
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
@@ -0,0 +1,101 @@
+From eb0086dc4ea8fe9cda069456287b3a29a2631d30 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Wed, 13 Dec 2017 16:18:45 +0900
+Subject: [PATCH] Fix the error of can't find header file
+
+Upstream-Status: Inappropriate [embedded specific]
+This fix is just for yocto.
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/NCApplication.cc | 2 +-
+ src/NCstyle.h | 2 +-
+ src/NCurses.h | 2 +-
+ src/ncursesp.h | 2 +-
+ src/ncursesw.cc | 2 +-
+ src/ncursesw.h | 4 ++--
+ 6 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/NCApplication.cc b/src/NCApplication.cc
+index 5bcf969..510f034 100644
+--- a/src/NCApplication.cc
++++ b/src/NCApplication.cc
+@@ -23,7 +23,7 @@
+
+ /-*/
+
+-#include <ncursesw/curses.h>
++#include <curses.h>
+
+ #define YUILogComponent "ncurses"
+ #include <yui/YUILog.h>
+diff --git a/src/NCstyle.h b/src/NCstyle.h
+index a40d5a8..3657917 100644
+--- a/src/NCstyle.h
++++ b/src/NCstyle.h
+@@ -25,7 +25,7 @@
+ #ifndef NCstyle_h
+ #define NCstyle_h
+
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+
+ #include <iosfwd>
+ #include <string>
+diff --git a/src/NCurses.h b/src/NCurses.h
+index a07c6bf..d17d3c3 100644
+--- a/src/NCurses.h
++++ b/src/NCurses.h
+@@ -34,7 +34,7 @@
+ #include <yui/YWidget.h>
+ #include <yui/YMenuItem.h>
+
+-#include <ncursesw/curses.h> /* curses.h: #define NCURSES_CH_T cchar_t */
++#include <curses.h> /* curses.h: #define NCURSES_CH_T cchar_t */
+ #include <wchar.h>
+
+ #include "ncursesw.h"
+diff --git a/src/ncursesp.h b/src/ncursesp.h
+index d478347..2fcfea5 100644
+--- a/src/ncursesp.h
++++ b/src/ncursesp.h
+@@ -28,7 +28,7 @@
+ #include <iosfwd>
+
+ #include "ncursesw.h"
+-#include <ncursesw/panel.h>
++#include <panel.h>
+
+ class NCursesPanel : public NCursesWindow
+ {
+diff --git a/src/ncursesw.cc b/src/ncursesw.cc
+index 3c771af..bb83210 100644
+--- a/src/ncursesw.cc
++++ b/src/ncursesw.cc
+@@ -47,7 +47,7 @@
+ #include <iostream>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <ncursesw/term.h>
++#include <term.h>
+ #undef line
+ #undef columns
+
+diff --git a/src/ncursesw.h b/src/ncursesw.h
+index d25923a..c140d37 100644
+--- a/src/ncursesw.h
++++ b/src/ncursesw.h
+@@ -27,8 +27,8 @@
+
+ #include <iosfwd>
+
+-#include <ncursesw/curses.h>
+-#include <ncursesw/etip.h>
++#include <curses.h>
++#include <etip.h>
+ #include <cstdio>
+ #include <cstdarg>
+ #include <climits>
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
new file mode 100644
index 00000000..6d4bdc2a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
@@ -0,0 +1,147 @@
+From 0acfb67f99fd8d6af323311fee8c08116295b148 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Sep 2018 18:21:19 -0700
+Subject: [PATCH 1/2] Use override consistently
+
+Make clang++ happy
+error: 'setApplicationTitle' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-over ride]
+
+Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/NCApplication.h | 46 ++++++++++++++++++++++-----------------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/NCApplication.h b/src/NCApplication.h
+index e24c3eb..09e4708 100644
+--- a/src/NCApplication.h
++++ b/src/NCApplication.h
+@@ -60,7 +60,7 @@ public:
+ * Reimplemented from YApplication.
+ **/
+ virtual void setLanguage( const std::string & language,
+- const std::string & encoding = std::string() );
++ const std::string & encoding = std::string() ) override;
+
+ /**
+ * Open a directory selection box and prompt the user for an existing
+@@ -77,7 +77,7 @@ public:
+ * Implemented from YApplication.
+ **/
+ virtual std::string askForExistingDirectory( const std::string & startDir,
+- const std::string & headline );
++ const std::string & headline ) override;
+
+ /**
+ * Open a file selection box and prompt the user for an existing file.
+@@ -97,7 +97,7 @@ public:
+ **/
+ virtual std::string askForExistingFile( const std::string & startWith,
+ const std::string & filter,
+- const std::string & headline );
++ const std::string & headline ) override;
+
+ /**
+ * Open a file selection box and prompt the user for a file to save data
+@@ -119,28 +119,28 @@ public:
+ **/
+ virtual std::string askForSaveFileName( const std::string & startWith,
+ const std::string & filter,
+- const std::string & headline );
++ const std::string & headline ) override;
+
+ /**
+ * Beep.
+ *
+ * Reimplemented from YApplication.
+ **/
+- virtual void beep();
++ virtual void beep() override;
+
+ /**
+ * Redraw the screen.
+ *
+ * Reimplemented from YApplication.
+ **/
+- virtual void redrawScreen();
++ virtual void redrawScreen() override;
+
+ /**
+ * Initialize the (text) console keyboard.
+ *
+ * Reimplemented from YApplication.
+ **/
+- virtual void initConsoleKeyboard();
++ virtual void initConsoleKeyboard() override;
+
+ /**
+ * Set the (text) console font according to the current encoding etc.
+@@ -152,7 +152,7 @@ public:
+ const std::string & font,
+ const std::string & screen_map,
+ const std::string & unicode_map,
+- const std::string & language );
++ const std::string & language ) override;
+
+ /**
+ * Run a shell command (typically an interactive program using NCurses)
+@@ -165,7 +165,7 @@ public:
+ *
+ * Reimplemented from YApplication.
+ **/
+- virtual int runInTerminal( const std::string & command );
++ virtual int runInTerminal( const std::string & command ) override;
+
+
+ /// @{
+@@ -183,33 +183,33 @@ public:
+ //
+ // All implemented from YApplication.
+
+- virtual int displayWidth();
+- virtual int displayHeight();
+- virtual int displayDepth();
+- virtual long displayColors();
++ virtual int displayWidth() override;
++ virtual int displayHeight() override;
++ virtual int displayDepth() override;
++ virtual long displayColors() override;
+
+- virtual int defaultWidth();
+- virtual int defaultHeight();
++ virtual int defaultWidth() override;
++ virtual int defaultHeight() override;
+
+- virtual bool isTextMode() { return true; }
++ virtual bool isTextMode() override { return true; }
+
+- virtual bool hasImageSupport() { return false; }
++ virtual bool hasImageSupport() override { return false; }
+
+- virtual bool hasIconSupport() { return false; }
++ virtual bool hasIconSupport() override { return false; }
+
+- virtual bool hasAnimationSupport() { return false; }
++ virtual bool hasAnimationSupport() override { return false; }
+
+- virtual bool hasFullUtf8Support();
+- virtual bool richTextSupportsTable() { return false; }
++ virtual bool hasFullUtf8Support() override;
++ virtual bool richTextSupportsTable() override { return false; }
+
+- virtual bool leftHandedMouse() { return false; }
++ virtual bool leftHandedMouse() override { return false; }
+
+ /**
+ * Set the application title
+ *
+ * Reimplemented from YApplication.
+ **/
+- virtual void setApplicationTitle(const std::string& title);
++ virtual void setApplicationTitle(const std::string& title) override;
+ };
+
+
+--
+2.18.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
new file mode 100644
index 00000000..f65cbe66
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
@@ -0,0 +1,49 @@
+From 162a0899f1dacd83007c4e82b9034f55610d8c20 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Sep 2018 19:01:51 -0700
+Subject: [PATCH 2/2] Define own resize in NCPad and fix param type of
+ SetLabel()
+
+Explicitly override resize() to avoid conflicts from NCursesWindow
+definition since there is another resize definition as well
+
+Fixes
+src/NCPad.h:164:18: error: 'NCPad::resize' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
+
+NCTablePad.h:132:18: error: 'NCTableTag::SetLabel' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
+
+Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/NCPad.h | 1 +
+ src/NCTablePad.h | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/NCPad.h b/src/NCPad.h
+index 328c4aa..d8fb324 100644
+--- a/src/NCPad.h
++++ b/src/NCPad.h
+@@ -162,6 +162,7 @@ public:
+ virtual void Destwin( NCursesWindow * dwin );
+
+ virtual void resize( wsze nsze );
++ virtual int resize( int lines, int columns ) { return NCursesWindow::resize(lines, columns );}
+ virtual void wRecoded();
+ virtual void setDirty() { dirty = true; }
+
+diff --git a/src/NCTablePad.h b/src/NCTablePad.h
+index c450529..3756796 100644
+--- a/src/NCTablePad.h
++++ b/src/NCTablePad.h
+@@ -129,7 +129,7 @@ public:
+
+ virtual ~NCTableTag() {}
+
+- virtual void SetLabel( const NCstring & ) { /*NOOP*/; }
++ virtual void SetLabel( const NClabel & ) { /*NOOP*/; }
+
+ virtual void DrawAt( NCursesWindow & w, const wrect at,
+ NCTableStyle & tableStyle,
+--
+2.18.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch
new file mode 100644
index 00000000..2520ac46
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch
@@ -0,0 +1,35 @@
+From c2291fe28dc5682f81804941512431642975cf21 Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@siemens.com>
+Date: Mon, 29 Oct 2018 18:17:32 +0100
+Subject: [PATCH] Simplify ncurses finding module
+
+CMake will automatically look in the right locations, there is no need to
+re-implement the logic with a for loop and NO_DEFAULT_PATH.
+
+It is already done like this to file the headers.
+
+Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/73]
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+---
+ cmake/Modules/FindCurses6.cmake | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/cmake/Modules/FindCurses6.cmake b/cmake/Modules/FindCurses6.cmake
+index 0bf02c3..e298d5d 100644
+--- a/cmake/Modules/FindCurses6.cmake
++++ b/cmake/Modules/FindCurses6.cmake
+@@ -5,11 +5,9 @@
+ # CURSES6_LIBRARIES - The libraries needed to use Curses6
+ # CURSES6_DEFINITIONS - Compiler switches required for using Curses6
+
+-FOREACH(path ${CMAKE_LIBRARY_PATH} /usr/${LIB_DIR})
+- FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
+- FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
+- FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
+-ENDFOREACH()
++FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATH_SUFFIXES ncurses6)
++FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATH_SUFFIXES ncurses6)
++FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATH_SUFFIXES ncurses6)
+
+ SET(CURSES6_LIBRARIES ${CURSES6_NCURSESW_LIBRARY} ${CURSES6_PANELW_LIBRARY})
+ # tinfo is optional (in 12.1 is not there)
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
new file mode 100644
index 00000000..18ea2e82
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Character Based User Interface for libyui"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
+ file://0001-Use-override-consistently.patch \
+ file://0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch \
+ file://0003-Simplify-ncurses-finding-module.patch \
+ "
+
+SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
+
+PV = "2.48.3+git${SRCPV}"
+SRCREV = "c941b32246e8b2952fce4fd5743f8e318222ab98"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost libyui ncurses"
+
+BBCLASSEXTEND = "nativesdk"
+
+do_configure_prepend () {
+ cd ${S}
+ git checkout bootstrap.sh
+ sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
+ ./bootstrap.sh
+ mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cd -
+ sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+ sed -i -e "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN} += "${datadir}/*"
+
+FILES_${PN}-dev += "${libdir}/*"
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
new file mode 100644
index 00000000..42690181
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
@@ -0,0 +1,687 @@
+From 18562671982ad97549bccb444fdbb5905b6e9335 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 24 Apr 2018 15:06:14 -0700
+Subject: [PATCH] Fix build with clang
+
+Fix warnings found with clang
+
+error: class 'YButtonBoxPrivate' was previously declared as a struct [-Werror,-Wmismatched-tags]
+| friend class YButtonBoxPrivate;
+
+YTimezoneSelector.cc:35:9: error: private field 'dummy' is not used [-Werror,-Wunused-private-field]
+ bool dummy;
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/123]
+
+ src/YAlignment.h | 2 +-
+ src/YBarGraph.h | 2 +-
+ src/YBusyIndicator.h | 2 +-
+ src/YButtonBox.h | 4 ++--
+ src/YCheckBox.h | 2 +-
+ src/YCheckBoxFrame.h | 2 +-
+ src/YComboBox.h | 2 +-
+ src/YCommandLine.h | 2 +-
+ src/YContextMenu.h | 2 +-
+ src/YDateField.h | 2 +-
+ src/YDialog.h | 2 +-
+ src/YDownloadProgress.h | 2 +-
+ src/YDumbTab.h | 2 +-
+ src/YEmpty.h | 2 +-
+ src/YEventFilter.h | 2 +-
+ src/YFrame.h | 2 +-
+ src/YGraph.h | 2 +-
+ src/YImage.h | 2 +-
+ src/YInputField.h | 2 +-
+ src/YIntField.h | 2 +-
+ src/YLabel.h | 2 +-
+ src/YLayoutBox.h | 2 +-
+ src/YLogView.h | 2 +-
+ src/YMenuButton.h | 2 +-
+ src/YMultiLineEdit.h | 2 +-
+ src/YMultiProgressMeter.h | 2 +-
+ src/YMultiSelectionBox.h | 2 +-
+ src/YPartitionSplitter.h | 2 +-
+ src/YProgressBar.h | 2 +-
+ src/YPushButton.h | 2 +-
+ src/YRadioButton.h | 2 +-
+ src/YRadioButtonGroup.h | 2 +-
+ src/YRichText.h | 2 +-
+ src/YSelectionBox.h | 2 +-
+ src/YSelectionWidget.h | 2 +-
+ src/YSimpleInputField.h | 2 +-
+ src/YSlider.h | 2 +-
+ src/YSpacing.h | 2 +-
+ src/YSquash.h | 2 +-
+ src/YTable.h | 2 +-
+ src/YTableHeader.h | 2 +-
+ src/YTimeField.h | 2 +-
+ src/YTimezoneSelector.cc | 2 +-
+ src/YTree.h | 2 +-
+ src/YUILog.h | 2 +-
+ src/YWidget.h | 2 +-
+ src/YWizard.h | 2 +-
+ 47 files changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/src/YAlignment.h b/src/YAlignment.h
+index d716c77..7276944 100644
+--- a/src/YAlignment.h
++++ b/src/YAlignment.h
+@@ -28,7 +28,7 @@
+ #include "YSingleChildContainerWidget.h"
+
+
+-class YAlignmentPrivate;
++struct YAlignmentPrivate;
+
+ /**
+ * Implementation of all the alignment widgets:
+diff --git a/src/YBarGraph.h b/src/YBarGraph.h
+index 29f7f26..d7eaad2 100644
+--- a/src/YBarGraph.h
++++ b/src/YBarGraph.h
+@@ -29,7 +29,7 @@
+ #include "YColor.h"
+
+
+-class YBarGraphPrivate;
++struct YBarGraphPrivate;
+ class YBarGraphSegment;
+
+ /**
+diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h
+index 9530fa5..75297d8 100644
+--- a/src/YBusyIndicator.h
++++ b/src/YBusyIndicator.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YBusyIndicatorPrivate;
++struct YBusyIndicatorPrivate;
+
+
+ /**
+diff --git a/src/YButtonBox.h b/src/YButtonBox.h
+index 84f8dbb..ca51f57 100644
+--- a/src/YButtonBox.h
++++ b/src/YButtonBox.h
+@@ -30,7 +30,7 @@
+ #include "YWidget.h"
+ #include "YPushButton.h"
+
+-class YButtonBoxPrivate;
++struct YButtonBoxPrivate;
+ class YPushButton;
+
+
+@@ -147,7 +147,7 @@ struct YButtonBoxMargins
+ **/
+ class YButtonBox : public YWidget
+ {
+- friend class YButtonBoxPrivate;
++ friend struct YButtonBoxPrivate;
+
+ protected:
+ /**
+diff --git a/src/YCheckBox.h b/src/YCheckBox.h
+index 793cc77..03f3faa 100644
+--- a/src/YCheckBox.h
++++ b/src/YCheckBox.h
+@@ -30,7 +30,7 @@
+ #include "YWidget.h"
+ #include "ImplPtr.h"
+
+-class YCheckBoxPrivate;
++struct YCheckBoxPrivate;
+
+ enum YCheckBoxState
+ {
+diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h
+index 243f1a0..7017110 100644
+--- a/src/YCheckBoxFrame.h
++++ b/src/YCheckBoxFrame.h
+@@ -29,7 +29,7 @@
+ #include "YSingleChildContainerWidget.h"
+ #include "ImplPtr.h"
+
+-class YCheckBoxFramePrivate;
++struct YCheckBoxFramePrivate;
+
+
+ /**
+diff --git a/src/YComboBox.h b/src/YComboBox.h
+index 416359a..ad0e550 100644
+--- a/src/YComboBox.h
++++ b/src/YComboBox.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YComboBoxPrivate;
++struct YComboBoxPrivate;
+
+
+ /**
+diff --git a/src/YCommandLine.h b/src/YCommandLine.h
+index 70cb4fe..f344a3b 100644
+--- a/src/YCommandLine.h
++++ b/src/YCommandLine.h
+@@ -28,7 +28,7 @@
+ #include <string>
+ #include "ImplPtr.h"
+
+-class YCommandLinePrivate;
++struct YCommandLinePrivate;
+
+
+ /**
+diff --git a/src/YContextMenu.h b/src/YContextMenu.h
+index a4acb1c..1253002 100644
+--- a/src/YContextMenu.h
++++ b/src/YContextMenu.h
+@@ -29,7 +29,7 @@
+ #include "YMenuItem.h"
+
+ class YMenuItem;
+-class YContextMenuPrivate;
++struct YContextMenuPrivate;
+
+
+ /**
+diff --git a/src/YDateField.h b/src/YDateField.h
+index e5a468d..6164fba 100644
+--- a/src/YDateField.h
++++ b/src/YDateField.h
+@@ -27,7 +27,7 @@
+
+ #include "YSimpleInputField.h"
+
+-class YDateFieldPrivate;
++struct YDateFieldPrivate;
+
+ /**
+ * Input field for entering a date.
+diff --git a/src/YDialog.h b/src/YDialog.h
+index 66c25c0..371209b 100644
+--- a/src/YDialog.h
++++ b/src/YDialog.h
+@@ -32,7 +32,7 @@
+
+ class YShortcutManager;
+ class YPushButton;
+-class YDialogPrivate;
++struct YDialogPrivate;
+ class YEvent;
+ class YEventFilter;
+
+diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h
+index c47ec4f..fe09a9d 100644
+--- a/src/YDownloadProgress.h
++++ b/src/YDownloadProgress.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+
+-class YDownloadProgressPrivate;
++struct YDownloadProgressPrivate;
+
+ /**
+ * DownloadProgress: A progress bar that monitors downloading a file by
+diff --git a/src/YDumbTab.h b/src/YDumbTab.h
+index aec17a3..f8fb250 100644
+--- a/src/YDumbTab.h
++++ b/src/YDumbTab.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YDumbTabPrivate;
++struct YDumbTabPrivate;
+
+ /**
+ * DumbTab: A very simple tab widget that can display and switch between a
+diff --git a/src/YEmpty.h b/src/YEmpty.h
+index 9a3cb36..9b88fbc 100644
+--- a/src/YEmpty.h
++++ b/src/YEmpty.h
+@@ -29,7 +29,7 @@
+ #include "ImplPtr.h"
+
+
+-class YEmptyPrivate;
++struct YEmptyPrivate;
+
+ /**
+ * A widget with zero size, useful as a placeholder.
+diff --git a/src/YEventFilter.h b/src/YEventFilter.h
+index 3dc1803..74aa62d 100644
+--- a/src/YEventFilter.h
++++ b/src/YEventFilter.h
+@@ -32,7 +32,7 @@
+ class YEvent;
+ class YDialog;
+
+-class YEventFilterPrivate;
++struct YEventFilterPrivate;
+
+
+ /**
+diff --git a/src/YFrame.h b/src/YFrame.h
+index 111e8ec..4f8c61e 100644
+--- a/src/YFrame.h
++++ b/src/YFrame.h
+@@ -29,7 +29,7 @@
+ #include "YSingleChildContainerWidget.h"
+ #include "ImplPtr.h"
+
+-class YFramePrivate;
++struct YFramePrivate;
+
+
+ /**
+diff --git a/src/YGraph.h b/src/YGraph.h
+index d90d1ae..287d800 100644
+--- a/src/YGraph.h
++++ b/src/YGraph.h
+@@ -37,7 +37,7 @@
+ * For that reason a lot of functions simply take a void* instead of graph_t*.
+ */
+
+-class YGraphPrivate;
++struct YGraphPrivate;
+
+ /**
+ * A graph with nodes and edges, rendered with Graphviz.
+diff --git a/src/YImage.h b/src/YImage.h
+index 17bea21..84eb674 100644
+--- a/src/YImage.h
++++ b/src/YImage.h
+@@ -29,7 +29,7 @@
+ #include <string>
+
+
+-class YImagePrivate;
++struct YImagePrivate;
+
+ /**
+ * A picture, possibly animated, loaded from a file.
+diff --git a/src/YInputField.h b/src/YInputField.h
+index 70641ce..fa29b42 100644
+--- a/src/YInputField.h
++++ b/src/YInputField.h
+@@ -28,7 +28,7 @@
+ #include <string>
+ #include "YWidget.h"
+
+-class YInputFieldPrivate;
++struct YInputFieldPrivate;
+
+
+
+diff --git a/src/YIntField.h b/src/YIntField.h
+index 9da0537..8ad2949 100644
+--- a/src/YIntField.h
++++ b/src/YIntField.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YIntFieldPrivate;
++struct YIntFieldPrivate;
+
+
+
+diff --git a/src/YLabel.h b/src/YLabel.h
+index d2fff61..bf06d8b 100644
+--- a/src/YLabel.h
++++ b/src/YLabel.h
+@@ -30,7 +30,7 @@
+ #include "ImplPtr.h"
+
+
+-class YLabelPrivate;
++struct YLabelPrivate;
+
+ /**
+ * Implementation of the Label, Heading and OutputField widgets
+diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h
+index e652a45..070eaff 100644
+--- a/src/YLayoutBox.h
++++ b/src/YLayoutBox.h
+@@ -29,7 +29,7 @@
+ #include "YWidget.h"
+
+
+-class YLayoutBoxPrivate;
++struct YLayoutBoxPrivate;
+
+ /**
+ * A vertical or horizontal stacking of widgets, implementing HBox and VBox.
+diff --git a/src/YLogView.h b/src/YLogView.h
+index 53fb9ee..5b44229 100644
+--- a/src/YLogView.h
++++ b/src/YLogView.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YLogViewPrivate;
++struct YLogViewPrivate;
+
+
+ /**
+diff --git a/src/YMenuButton.h b/src/YMenuButton.h
+index 205e730..5df7efb 100644
+--- a/src/YMenuButton.h
++++ b/src/YMenuButton.h
+@@ -29,7 +29,7 @@
+ #include "YMenuItem.h"
+
+ class YMenuItem;
+-class YMenuButtonPrivate;
++struct YMenuButtonPrivate;
+
+
+ /**
+diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h
+index c52a6ae..1f792f8 100644
+--- a/src/YMultiLineEdit.h
++++ b/src/YMultiLineEdit.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YMultiLineEditPrivate;
++struct YMultiLineEditPrivate;
+
+ /**
+ * A multi-line plain-text area
+diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h
+index 57c758d..f6bec91 100644
+--- a/src/YMultiProgressMeter.h
++++ b/src/YMultiProgressMeter.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ #include <vector>
+
+-class YMultiProgressMeterPrivate;
++struct YMultiProgressMeterPrivate;
+
+
+ /**
+diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h
+index bbe5a20..f3a2947 100644
+--- a/src/YMultiSelectionBox.h
++++ b/src/YMultiSelectionBox.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YMultiSelectionBoxPrivate;
++struct YMultiSelectionBoxPrivate;
+
+
+ /**
+diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h
+index 2839bbc..9de1174 100644
+--- a/src/YPartitionSplitter.h
++++ b/src/YPartitionSplitter.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+
+-class YPartitionSplitterPrivate;
++struct YPartitionSplitterPrivate;
+
+
+ /**
+diff --git a/src/YProgressBar.h b/src/YProgressBar.h
+index 718352f..baab662 100644
+--- a/src/YProgressBar.h
++++ b/src/YProgressBar.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YProgressBarPrivate;
++struct YProgressBarPrivate;
+
+
+ /**
+diff --git a/src/YPushButton.h b/src/YPushButton.h
+index 5b65c98..e288252 100644
+--- a/src/YPushButton.h
++++ b/src/YPushButton.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YPushButtonPrivate;
++struct YPushButtonPrivate;
+
+
+
+diff --git a/src/YRadioButton.h b/src/YRadioButton.h
+index 9dc62de..5a7c0dd 100644
+--- a/src/YRadioButton.h
++++ b/src/YRadioButton.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+ class YRadioButtonGroup;
+-class YRadioButtonPrivate;
++struct YRadioButtonPrivate;
+
+
+ /**
+diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h
+index 063a52e..671a257 100644
+--- a/src/YRadioButtonGroup.h
++++ b/src/YRadioButtonGroup.h
+@@ -28,7 +28,7 @@
+ #include "YSingleChildContainerWidget.h"
+
+ class YRadioButton;
+-class YRadioButtonGroupPrivate;
++struct YRadioButtonGroupPrivate;
+
+ typedef std::list<YRadioButton *> YRadioButtonList;
+ typedef YRadioButtonList::iterator YRadioButtonListIterator;
+diff --git a/src/YRichText.h b/src/YRichText.h
+index 149bfb3..86b3f80 100644
+--- a/src/YRichText.h
++++ b/src/YRichText.h
+@@ -30,7 +30,7 @@
+ #include "ImplPtr.h"
+
+
+-class YRichTextPrivate;
++struct YRichTextPrivate;
+
+
+ /**
+diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h
+index 7fc4fb8..9bbf9f3 100644
+--- a/src/YSelectionBox.h
++++ b/src/YSelectionBox.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YSelectionBoxPrivate;
++struct YSelectionBoxPrivate;
+
+
+ /**
+diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h
+index abbdfb4..cf05afd 100644
+--- a/src/YSelectionWidget.h
++++ b/src/YSelectionWidget.h
+@@ -29,7 +29,7 @@
+ #include "YItem.h"
+ #include "ImplPtr.h"
+
+-class YSelectionWidgetPrivate;
++struct YSelectionWidgetPrivate;
+
+ /**
+ * Base class for various kinds of multi-value widgets.
+diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h
+index 6d926d4..b93fe6b 100644
+--- a/src/YSimpleInputField.h
++++ b/src/YSimpleInputField.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YSimpleInputFieldPrivate;
++struct YSimpleInputFieldPrivate;
+
+
+ /**
+diff --git a/src/YSlider.h b/src/YSlider.h
+index d29f6b8..4bcd7d3 100644
+--- a/src/YSlider.h
++++ b/src/YSlider.h
+@@ -27,7 +27,7 @@
+
+ #include "YIntField.h"
+
+-class YSliderPrivate;
++struct YSliderPrivate;
+
+
+ /**
+diff --git a/src/YSpacing.h b/src/YSpacing.h
+index e8aafd3..066cd68 100644
+--- a/src/YSpacing.h
++++ b/src/YSpacing.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ #include "ImplPtr.h"
+
+-class YSpacingPrivate;
++struct YSpacingPrivate;
+
+
+ /**
+diff --git a/src/YSquash.h b/src/YSquash.h
+index 4bd0fb6..3804cc4 100644
+--- a/src/YSquash.h
++++ b/src/YSquash.h
+@@ -29,7 +29,7 @@
+ #include "ImplPtr.h"
+
+
+-class YSquashPrivate;
++struct YSquashPrivate;
+
+ /**
+ * HSquash, VSquash HVSquash: reduce child to its preferred size.
+diff --git a/src/YTable.h b/src/YTable.h
+index 6694f10..469b8ca 100644
+--- a/src/YTable.h
++++ b/src/YTable.h
+@@ -30,7 +30,7 @@
+ #include "YTableItem.h"
+ #include "YTableHeader.h"
+
+-class YTablePrivate;
++struct YTablePrivate;
+
+
+
+diff --git a/src/YTableHeader.h b/src/YTableHeader.h
+index 70166c2..4ae99b4 100644
+--- a/src/YTableHeader.h
++++ b/src/YTableHeader.h
+@@ -31,7 +31,7 @@
+
+
+
+-class YTableHeaderPrivate;
++struct YTableHeaderPrivate;
+
+ /**
+ * Helper class for YTable for table column properties:
+diff --git a/src/YTimeField.h b/src/YTimeField.h
+index ab2f9a3..f3a7b94 100644
+--- a/src/YTimeField.h
++++ b/src/YTimeField.h
+@@ -27,7 +27,7 @@
+
+ #include "YSimpleInputField.h"
+
+-class YTimeFieldPrivate;
++struct YTimeFieldPrivate;
+
+
+ /**
+diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc
+index 9259b64..e2f9b6f 100644
+--- a/src/YTimezoneSelector.cc
++++ b/src/YTimezoneSelector.cc
+@@ -32,7 +32,7 @@
+
+ class YTimezoneSelectorPrivate
+ {
+- bool dummy;
++// bool dummy;
+ };
+
+
+diff --git a/src/YTree.h b/src/YTree.h
+index 14fa279..70e1364 100644
+--- a/src/YTree.h
++++ b/src/YTree.h
+@@ -28,7 +28,7 @@
+ #include "YSelectionWidget.h"
+
+ class YTreeItem;
+-class YTreePrivate;
++struct YTreePrivate;
+
+
+ /**
+diff --git a/src/YUILog.h b/src/YUILog.h
+index 0890bc5..4a927a7 100644
+--- a/src/YUILog.h
++++ b/src/YUILog.h
+@@ -64,7 +64,7 @@
+
+
+
+-class YUILogPrivate;
++struct YUILogPrivate;
+
+ enum YUILogLevel_t
+ {
+diff --git a/src/YWidget.h b/src/YWidget.h
+index 5b285d0..636a41b 100644
+--- a/src/YWidget.h
++++ b/src/YWidget.h
+@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget> YWidgetChildrenManager;
+ typedef YSingleChildManager<YWidget> YSingleWidgetChildManager;
+ typedef YChildrenRejector<YWidget> YWidgetChildrenRejector;
+
+-class YWidgetPrivate;
++struct YWidgetPrivate;
+
+
+ /**
+diff --git a/src/YWizard.h b/src/YWizard.h
+index 7671cbf..975b597 100644
+--- a/src/YWizard.h
++++ b/src/YWizard.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+ class YMacroRecorder;
+-class YWizardPrivate;
++struct YWizardPrivate;
+ class YPushButton;
+ class YReplacePoint;
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
new file mode 100644
index 00000000..dbe24170
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
@@ -0,0 +1,32 @@
+From 4eed37b1a61458fc8e5251f7cb7c6d64e8e9da8d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Sep 2018 17:48:09 -0700
+Subject: [PATCH] Use curly braces for MAKE variable
+
+Fixes errors with ninja
+| ninja: error: build.ninja:142: bad $-escape (literal $ must be written as $$)
+
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/137]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ buildtools/LibyuiCommon.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
+index cb93307..e6fbefd 100644
+--- a/buildtools/LibyuiCommon.cmake
++++ b/buildtools/LibyuiCommon.cmake
+@@ -122,8 +122,8 @@ MACRO( SET_BUILD_FLAGS ) # setup compiler-flags depending on CMAKE_BUILD_TYPE
+ ENABLE_TESTING()
+ # add a wrapper "tests" target, the builtin "test" cannot be extended :-(
+ ADD_CUSTOM_TARGET(tests
+- $(MAKE)
+- COMMAND $(MAKE) test
++ ${MAKE}
++ COMMAND ${MAKE} test
+ )
+ ENDIF ( ENABLE_TESTS OR ENABLE_CODE_COVERAGE)
+
+--
+2.18.0
+
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
new file mode 100644
index 00000000..11a1678a
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
@@ -0,0 +1,130 @@
+From d24c2516ae25d0ee180c1020e52114ea32230585 Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@siemens.com>
+Date: Mon, 29 Oct 2018 18:03:43 +0100
+Subject: [PATCH] Use relative install paths for CMake
+
+Files are installed via a special _PREFIX variant of the INSTALL_???_DIR
+variable which is an absolute path.
+
+This not only is redundant if CMAKE_INTALL_PREFIX is set but it even causes
+the resulting Config.cmake to be non relocatable. This means it contains absolute
+paths to the build host. This is a problem for cross compilation in Yocto.
+
+This change gets rid of the absolute path and removes the no longer needed
+_PREFIX variants.
+
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/140]
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+---
+ buildtools/LibyuiCommon.cmake | 35 ++++++++++++++---------------------
+ 1 file changed, 14 insertions(+), 21 deletions(-)
+
+diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
+index e6fbefd..5e2fc0d 100644
+--- a/buildtools/LibyuiCommon.cmake
++++ b/buildtools/LibyuiCommon.cmake
+@@ -258,13 +258,6 @@ MACRO( SET_ENVIRONMENT ) # setup the environment vars
+
+ SET( INSTALL_DOC_DIR "${DOC_DIR}" )
+
+- FOREACH( p "DOC" LIB INCLUDE CMAKE PKGCONFIG BUILDTOOLS )
+- SET( var "INSTALL_${p}_DIR" )
+- IF( NOT IS_ABSOLUTE "${${var}}" )
+- SET( ${var}_PREFIX "${YPREFIX}/${${var}}" )
+- ENDIF( NOT IS_ABSOLUTE "${${var}}" )
+- ENDFOREACH()
+-
+ ENDMACRO( SET_ENVIRONMENT )
+
+ MACRO( SET_SONAME )
+@@ -359,7 +352,7 @@ MACRO( SET_AUTODOCS ) # looks for doxygen, dot and latex and setup autodocs acc
+ IF( INSTALL_DOCS OR DOCS_ONLY )
+ INSTALL(
+ FILES "${CMAKE_BINARY_DIR}/doc/latex/refman.pdf"
+- DESTINATION "${INSTALL_DOC_DIR_PREFIX}"
++ DESTINATION "${INSTALL_DOC_DIR}"
+ )
+ ENDIF( INSTALL_DOCS OR DOCS_ONLY )
+
+@@ -379,7 +372,7 @@ MACRO( SET_AUTODOCS ) # looks for doxygen, dot and latex and setup autodocs acc
+ FOREACH( p css gif html jpg js png tag )
+ INSTALL(
+ DIRECTORY "${CMAKE_BINARY_DIR}/doc/html"
+- DESTINATION "${INSTALL_DOC_DIR_PREFIX}"
++ DESTINATION "${INSTALL_DOC_DIR}"
+ FILES_MATCHING PATTERN "*.${p}"
+ )
+ ENDFOREACH()
+@@ -638,32 +631,32 @@ MACRO( SET_INSTALL_TARGET )
+
+ INSTALL(
+ EXPORT ${PROJECTNAME_UC}LibraryDepends
+- DESTINATION "${INSTALL_CMAKE_DIR_PREFIX}"
++ DESTINATION "${INSTALL_CMAKE_DIR}"
+ COMPONENT dev
+ )
+
+ FOREACH( p Config.cmake ConfigVersion.cmake )
+ INSTALL(
+ FILES "${CMAKE_BINARY_DIR}/${PROJECTNAME_UC}${p}"
+- DESTINATION "${INSTALL_CMAKE_DIR_PREFIX}"
++ DESTINATION "${INSTALL_CMAKE_DIR}"
+ )
+ ENDFOREACH( p Config.cmake ConfigVersion.cmake )
+
+ INSTALL(
+ FILES "${CMAKE_BINARY_DIR}/${PROJECTNAME}.pc"
+- DESTINATION "${INSTALL_PKGCONFIG_DIR_PREFIX}"
++ DESTINATION "${INSTALL_PKGCONFIG_DIR}"
+ )
+
+ IF( NOT PLUGINNAME AND NOT EXTENSIONNAME )
+ INSTALL(
+ DIRECTORY "${BUILDTOOLS_DIR}"
+- DESTINATION "${INSTALL_BUILDTOOLS_DIR_PREFIX}"
++ DESTINATION "${INSTALL_BUILDTOOLS_DIR}"
+ )
+ ENDIF( NOT PLUGINNAME AND NOT EXTENSIONNAME )
+
+ INSTALL(
+ FILES ${BUILDTOOLS_LIST}
+- DESTINATION "${INSTALL_BUILDTOOLS_DIR_PREFIX}"
++ DESTINATION "${INSTALL_BUILDTOOLS_DIR}"
+ )
+
+ ENDMACRO( SET_INSTALL_TARGET )
+@@ -724,9 +717,9 @@ MACRO( PROCESS_SOURCES )
+ INSTALL(
+ TARGETS ${TARGETLIB}
+ EXPORT ${PROJECTNAME_UC}LibraryDepends
+- LIBRARY DESTINATION "${INSTALL_LIB_DIR_PREFIX}"
+- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_PREFIX}"
+- PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR_PREFIX}"
++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
++ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
+ COMPONENT dev
+ )
+
+@@ -746,9 +739,9 @@ MACRO( PROCESS_SOURCES )
+ INSTALL(
+ TARGETS ${TARGETLIB}_static
+ EXPORT ${PROJECTNAME_UC}LibraryDepends
+- LIBRARY DESTINATION "${INSTALL_LIB_DIR_PREFIX}"
+- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_PREFIX}"
+- PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR_PREFIX}"
++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
++ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
+ COMPONENT dev
+ )
+
+@@ -776,7 +769,7 @@ MACRO( PROCESS_EXAMPLES )
+
+ INSTALL(
+ FILES ${EXAMPLES_LIST}
+- DESTINATION "${INSTALL_DOC_DIR_PREFIX}/examples"
++ DESTINATION "${INSTALL_DOC_DIR}/examples"
+ )
+
+ ENDMACRO( PROCESS_EXAMPLES )
diff --git a/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
new file mode 100644
index 00000000..d313fb02
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI = "git://github.com/libyui/libyui.git \
+ file://0001-Fix-build-with-clang.patch \
+ file://0001-Use-curly-braces-for-MAKE-variable.patch \
+ file://0001-Use-relative-install-paths-for-CMake.patch \
+ "
+
+PV = "3.3.3+git"
+SRCREV = "50672da835ec9d52766320a44a2677e08a24c99c"
+SRCREV_FORMAT = "default"
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_configure_prepend () {
+ (cd ${S} &&
+ ./bootstrap.sh &&
+ cd -)
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"