summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-graphics/libyui
diff options
context:
space:
mode:
authorDave Cobbley <david.j.cobbley@linux.intel.com>2018-08-14 20:05:37 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-08-23 04:26:31 +0300
commiteb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch)
treede291a73dc37168da6370e2cf16c347d1eba9df8 /meta-openembedded/meta-oe/recipes-graphics/libyui
parent9c3cf826d853102535ead04cebc2d6023eff3032 (diff)
downloadopenbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-graphics/libyui')
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch101
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch687
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb41
6 files changed, 966 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch b/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 000000000..045f3cafa
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch
new file mode 100644
index 000000000..8e3774c1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch
@@ -0,0 +1,40 @@
+From 4b84f243a70a8c07f6a38dad3c9411fa707f25c9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 4 Mar 2018 17:08:43 -0800
+Subject: [PATCH] use _nl_msg_cat_cntr only with glibc
+
+The musl libc provides libintl (similar to glibc)
+but does not use the same internals,
+so even though we are using the GNU gettext
+the libintl included with the libc does not define
+_nl_msg_cat_cntr and it does not need to.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/NCi18n.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/NCi18n.h b/src/NCi18n.h
+index 165b0e7..bfc4ed7 100644
+--- a/src/NCi18n.h
++++ b/src/NCi18n.h
+@@ -59,12 +59,13 @@ inline void setTextdomain( const char * domain )
+ bindtextdomain( domain, YSettings::localeDir().c_str() );
+ bind_textdomain_codeset( domain, "UTF-8" );
+ textdomain( domain );
+-
++#if defined(__GLIBC__)
+ // Make change known
+ {
+ extern int _nl_msg_cat_cntr;
+ ++_nl_msg_cat_cntr;
+ }
++#endif
+ }
+
+
+--
+2.16.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
new file mode 100644
index 000000000..578c71301
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
@@ -0,0 +1,49 @@
+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-_nl_msg_cat_cntr-only-with-glibc.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 = "79b804b45ffc6a0d92e28e793ff389a20b63b54b"
+
+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 "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+ sed -i "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/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch
new file mode 100644
index 000000000..c1ba42eee
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch
@@ -0,0 +1,48 @@
+From 1e6d40fec16a94d1a4bd40634405267200b7e969 Mon Sep 17 00:00:00 2001
+From: marxin <mliska@suse.cz>
+Date: Tue, 10 Apr 2018 15:21:40 +0200
+Subject: [PATCH] Fix GCC 8 warning:
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static void YDialog::showText(const string&, bool)’:
+/home/marxin/Programming/libyui/src/YDialog.cc:690:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=]
+ catch ( YUIException exception )
+ ^~~~~~~~~
+/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static bool YDialog::showRelNotesText()’:
+/home/marxin/Programming/libyui/src/YDialog.cc:814:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=]
+ catch ( YUIException exception )
+ ^~~~~~~~~
+---
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/122]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ src/YDialog.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/YDialog.cc b/src/YDialog.cc
+index 92e5031..8ecff90 100644
+--- a/src/YDialog.cc
++++ b/src/YDialog.cc
+@@ -687,7 +687,7 @@ YDialog::showText( const std::string & text, bool useRichText )
+ dialog->waitForEvent();
+ dialog->destroy();
+ }
+- catch ( YUIException exception )
++ catch ( YUIException &exception )
+ {
+ // Don't let the application die just because help couldn't be displayed.
+
+@@ -811,7 +811,7 @@ YDialog::showRelNotesText()
+ }
+ dialog->destroy();
+ }
+- catch ( YUIException exception )
++ catch ( YUIException &exception )
+ {
+ // Don't let the application die just because RN couldn't be displayed.
+
+--
+2.17.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
new file mode 100644
index 000000000..426901819
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
new file mode 100644
index 000000000..42945288c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
@@ -0,0 +1,41 @@
+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-GCC-8-warning.patch \
+ file://0001-Fix-build-with-clang.patch \
+ "
+
+PV = "3.3.3+git"
+SRCREV = "2b634cb7821e2e79dd4b7a73caf8e67c50189376"
+
+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*"