summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/meta/recipes-sato
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-sato')
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine.inc25
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb14
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-dev.bb7
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb6
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk.bb11
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato.bb11
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/leafpad/files/leafpad.desktop10
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/leafpad/files/owl-menu.patch63
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb35
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/libowl/libowl_git.bb23
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch35
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_git.bb23
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb22
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/files/0001-Do-nothing-on-delete-event-when-not-STANDALONE.patch60
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb27
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/0001-desktop-file-Hide-the-keyboard-from-app-list.patch33
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh21
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb54
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch50
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch64
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb39
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session33
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb51
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_git.bb20
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc16
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb8
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_git.bb12
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb62
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.pngbin0 -> 999 bytes
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-directory.pngbin0 -> 2044 bytes
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-regular.pngbin0 -> 3220 bytes
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.pngbin0 -> 2855 bytes
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/no-desktop.patch15
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pcmanfm/pcmanfm_1.2.4.bb42
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf7
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb17
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch46
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch72
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-rect-Fix-compiler-errors-about-uninitialized-use-of-.patch32
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch43
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch203
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/puzzles/oh-puzzles_git.bb73
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/puzzles/puzzles_git.bb66
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc58
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop9
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.pngbin0 -> 2847 bytes
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/xwc.patch26
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb8
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb8
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch31
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb40
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/sato-screenshot/sato-screenshot_git.bb28
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/70settings-daemon.sh1
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/addsoundkeys.patch49
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch31
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/settings-daemon/settings-daemon_git.bb30
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb25
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop/shutdown.desktop10
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch27
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch35
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch40
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch39
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch61
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/clang.patch25
-rw-r--r--import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb88
65 files changed, 2120 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine.inc b/import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine.inc
new file mode 100644
index 000000000..93538ed01
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine.inc
@@ -0,0 +1,25 @@
+SUMMARY = "Sato theme engine for GTK+"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "LGPLv2.1 & LGPLv2+"
+
+SECTION = "x11/base"
+DEPENDS = "gtk+"
+RDEPENDS_gtk-theme-sato = "gtk-sato-engine"
+
+inherit distro_features_check
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+PACKAGES += "gtk-theme-sato"
+FILES_${PN} = "${libdir}/gtk-2.0/*/engines/*.so "
+FILES_${PN}-dev = "${libdir}/gtk-2.0/*/engines/*.la"
+FILES_gtk-theme-sato = "${datadir}/icons ${datadir}/themes"
+
+inherit autotools-brokensep pkgconfig
+
+do_configure_prepend() {
+ for i in `ls gtk-common`; do
+ ln -sf ../gtk-common/$i gtk2-engine/$i
+ done
+}
diff --git a/import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb b/import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb
new file mode 100644
index 000000000..da4d98ad4
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb
@@ -0,0 +1,14 @@
+require gtk-sato-engine.inc
+
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://src/sato-utils.h;endline=24;md5=708f28cfe7fe028d497aaf4389b80b62 \
+ file://src/sato-main.c;endline=24;md5=b5e5dddebca570275becb51b526e4c5a"
+
+SRCREV = "4740ad8d53aba4368ce3e03b06cfdc69eb86dcdc"
+PV = "0.3.3+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'qvga', '--with-mode=qvga', '',d)}"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-dev.bb b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-dev.bb
new file mode 100644
index 000000000..7fa69d099
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-dev.bb
@@ -0,0 +1,7 @@
+require core-image-sato.bb
+
+DESCRIPTION = "Image with Sato for development work. It includes everything \
+within core-image-sato plus a native toolchain, application development and \
+testing libraries, profiling and debug symbols."
+
+IMAGE_FEATURES += "dev-pkgs"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
new file mode 100644
index 000000000..93e5a4eb6
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
@@ -0,0 +1,6 @@
+require core-image-sato-sdk.bb
+
+DESCRIPTION += "Also includes ptest packages."
+
+IMAGE_FEATURES += "ptest-pkgs"
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk.bb b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk.bb
new file mode 100644
index 000000000..d7cc52b52
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato-sdk.bb
@@ -0,0 +1,11 @@
+require core-image-sato.bb
+
+DESCRIPTION = "Image with Sato support that includes everything within \
+core-image-sato plus meta-toolchain, development headers and libraries to \
+form a standalone SDK."
+
+IMAGE_FEATURES += "dev-pkgs tools-sdk \
+ tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks ssh-server-openssh"
+
+IMAGE_INSTALL += "kernel-devsrc"
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato.bb b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato.bb
new file mode 100644
index 000000000..e3246d2b6
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/images/core-image-sato.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Image with Sato, a mobile environment and visual style for \
+mobile devices. The image supports X11 with a Sato theme, Pimlico \
+applications, and contains terminal, editor, and file manager."
+
+IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear hwcodecs"
+
+LICENSE = "MIT"
+
+inherit core-image
+
+IMAGE_INSTALL += "packagegroup-core-x11-sato-games"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/leafpad/files/leafpad.desktop b/import-layers/yocto-poky/meta/recipes-sato/leafpad/files/leafpad.desktop
new file mode 100644
index 000000000..c7e2d5bb5
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/leafpad/files/leafpad.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Notes
+Exec=/usr/bin/leafpad
+Comment=Text Editor
+Icon=accessories-text-editor
+Terminal=false
+Type=Application
+Categories=GTK;Utility;TextEditor;
+X-MB-SingleInstance=true
+StartupNotify=true
diff --git a/import-layers/yocto-poky/meta/recipes-sato/leafpad/files/owl-menu.patch b/import-layers/yocto-poky/meta/recipes-sato/leafpad/files/owl-menu.patch
new file mode 100644
index 000000000..2ebf74a6f
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/leafpad/files/owl-menu.patch
@@ -0,0 +1,63 @@
+Upstream-Status: Inappropriate [enable feature]
+
+--- tmp/src/menu.c.orig 2007-04-23 12:08:41.000000000 +0100
++++ tmp/src/menu.c 2007-04-23 12:08:41.000000000 +0100
+@@ -152,7 +152,7 @@
+ }
+
+ accel_group = gtk_accel_group_new();
+- ifactory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<main>", accel_group);
++ ifactory = gtk_item_factory_new(GTK_TYPE_MENU, "<main>", accel_group);
+ gtk_item_factory_set_translate_func(ifactory, menu_translate, NULL, NULL);
+ gtk_item_factory_create_items(ifactory, nmenu_items, menu_items, NULL);
+ gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
+
+--- tmp/src/window.c.orig 2007-04-23 12:14:07.000000000 +0100
++++ tmp/src/window.c 2007-04-23 12:14:07.000000000 +0100
+@@ -18,6 +18,8 @@
+ */
+
+ #include "leafpad.h"
++#include <libowl/owlwindowmenu.h>
++
+ /*
+ static void cb_scroll_event(GtkAdjustment *adj, GtkWidget *view)
+ {
+@@ -52,7 +54,6 @@
+ gtk_container_add(GTK_CONTAINER(window), vbox);
+
+ menubar = create_menu_bar(window);
+- gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
+
+ sw = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
+
+--- tmp/src/main.c.orig 2007-04-23 12:15:03.000000000 +0100
++++ tmp/src/main.c 2007-04-23 12:15:03.000000000 +0100
+@@ -244,6 +244,7 @@
+ Conf *conf;
+ GtkItemFactory *ifactory;
+ gchar *stdin_data = NULL;
++ GtkWidget *menu;
+
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ bind_textdomain_codeset(PACKAGE, "UTF-8");
+@@ -293,7 +294,10 @@
+ conf->autoindent);
+
+ gtk_widget_show_all(pub->mw->window);
++ owl_set_window_menu (GTK_WINDOW(pub->mw->window),
++ GTK_MENU(pub->mw->menubar));
++
+ g_free(conf->fontname);
+ g_free(conf);
+
+
+--- tmp/src/Makefile.am.orig 2007-04-23 12:17:54.000000000 +0100
++++ tmp/src/Makefile.am 2007-04-23 12:17:54.000000000 +0100
+@@ -27,4 +27,4 @@
+ i18n.h
+
+ leafpad_CFLAGS = $(GTK_CFLAGS) $(GNOMEPRINT_CFLAGS)
+-leafpad_LDADD = $(GTK_LIBS) $(INTLLIBS) $(GNOMEPRINT_LIBS)
++leafpad_LDADD = $(GTK_LIBS) $(INTLLIBS) $(GNOMEPRINT_LIBS) -lowl
diff --git a/import-layers/yocto-poky/meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb b/import-layers/yocto-poky/meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb
new file mode 100644
index 000000000..093b89f77
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Simple GTK+ Text Editor"
+HOMEPAGE = "http://tarot.freeshell.org/leafpad/"
+
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://src/leafpad.h;endline=20;md5=d3d6a89f5e61e8b13bdea537511ba1fa \
+ file://src/utils.c;endline=20;md5=0d2cc6584ba3202448bb274f62739571"
+
+DEPENDS = "gtk+ intltool-native libowl gettext-native"
+# The libowl requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://leafpad.desktop"
+
+SRC_URI[md5sum] = "254a72fc67505e3aa52884c729cd7b97"
+SRC_URI[sha256sum] = "959d22ae07f22803bc66ff40d373a854532a6e4732680bf8a96a3fbcb9f80a2c"
+PR = "r2"
+
+SRC_URI_append_poky = " file://owl-menu.patch;apply=yes "
+
+inherit autotools pkgconfig distro_features_check
+
+EXTRA_OECONF = " --enable-chooser --disable-emacs --disable-print"
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/leafpad.desktop ${D}/${datadir}/applications
+}
+
+FILES_${PN} += "${datadir}/applications/leafpad.desktop"
+
+PACKAGES += "leafpad-stock-icons"
+FILES_leafpad-stock-icons = "${datadir}/icons/hicolor/"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/libowl/libowl_git.bb b/import-layers/yocto-poky/meta/recipes-sato/libowl/libowl_git.bb
new file mode 100644
index 000000000..9cc47dbd5
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/libowl/libowl_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "OpenedHand Widget Library"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://libowl/owlpaned.h;endline=20;md5=7fef844c4cc01b10541a7ab6ab5971af \
+ file://libowl/owltreemodelslice.h;endline=20;md5=a5421f2cdae8debe5e4c48c09a02beb9 \
+ file://libowl/owlcolourswatch.h;endline=24;md5=063c415c58719d536990ca8f606b5730"
+
+SECTION = "libs"
+DEPENDS = "gtk+"
+SRCREV = "6ebc8ac8f8575278dd40a535cadefa26374e44b1"
+PV = "0.1+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+# Requires gdk/gdkx.h which is provided by gtk when x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch b/import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch
new file mode 100644
index 000000000..825694962
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch
@@ -0,0 +1,35 @@
+Upstream-Status: Inappropriate [configuration]
+
+Index: appearance/mb-appearance.c
+===================================================================
+--- appearance/mb-appearance.c (revision 1614)
++++ appearance/mb-appearance.c (working copy)
+@@ -300,11 +300,13 @@
+ gtk_font_button_set_font_name (GTK_FONT_BUTTON (font_button),
+ gconf_value_get_string (value));
+ } else if (strcmp (key, HANDED_KEY) == 0) {
++#if 0
+ GEnumValue *e;
+ e = g_enum_get_value_by_name (g_type_class_ref (GTK_TYPE_CORNER_TYPE),
+ gconf_value_get_string (value));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (handed_check),
+ e->value == GTK_CORNER_TOP_RIGHT);
++#endif
+ }
+ }
+
+@@ -395,12 +397,13 @@
+ gtk_container_add (GTK_CONTAINER (align), font_button);
+
+ /* Left/Right Handed */
+-
++#if 0
+ frame = new_frame (_("Orientation"), &align);
+ gtk_box_pack_start (GTK_BOX (box), frame, TRUE, TRUE, 0);
+ handed_check = gtk_check_button_new_with_mnemonic (_("_Left-handed"));
+ g_signal_connect (handed_check, "toggled", G_CALLBACK (on_handed_set), NULL);
+ gtk_container_add (GTK_CONTAINER (align), handed_check);
++#endif
+
+ gconf_client_add_dir (gconf, INTERFACE_DIR, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
+ g_signal_connect (gconf, "value-changed", G_CALLBACK (on_gconf_value_changed), NULL);
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_git.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_git.bb
new file mode 100644
index 000000000..5f73a4c48
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Matchbox GTK+ theme configuration application"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://appearance/mb-appearance.c;endline=25;md5=ea92333cf8a6802639d62d874c114a28"
+
+DEPENDS = "gconf gtk+"
+RDEPENDS_${PN} = "settings-daemon"
+
+SRCREV = "3ed74dfb7c57be088a5ab36e446c0ccde9fa1028"
+PV = "0.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN} \
+ file://no-handed.patch;striplevel=0"
+
+inherit autotools pkgconfig distro_features_check
+
+# The settings-daemon requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb
new file mode 100644
index 000000000..1979cbb76
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Matchbox desktop folders for the Sato environment"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SECTION = "x11"
+DEPENDS = ""
+RCONFLICTS_${PN} = "matchbox-common"
+
+SRCREV = "810b0b08eb79e4685202da2ec347b990bb467e07"
+PV = "0.1+git${SRCPV}"
+PR = "r1"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${datadir}"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/files/0001-Do-nothing-on-delete-event-when-not-STANDALONE.patch b/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/files/0001-Do-nothing-on-delete-event-when-not-STANDALONE.patch
new file mode 100644
index 000000000..46397dc8a
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/files/0001-Do-nothing-on-delete-event-when-not-STANDALONE.patch
@@ -0,0 +1,60 @@
+From 5fe37ef38500f858a22ecdf9bf69bf06e213bf68 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 22 Mar 2016 12:41:35 +0200
+Subject: [PATCH] Do nothing on delete-event when not STANDALONE
+
+This prevents an opportunistic alt-F4 from closing the desktop.
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+
+Upstream-Status: Backport
+---
+ src/desktop.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/src/desktop.c b/src/desktop.c
+index d4fc2fb..94b4ddf 100644
+--- a/src/desktop.c
++++ b/src/desktop.c
+@@ -122,6 +122,15 @@ load_items (TakuMenu *menu)
+
+ }
+
++#ifndef STANDALONE
++static gboolean
++delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data)
++{
++ /* prevent default handler from destroying the window */
++ return TRUE;
++}
++#endif
++
+ static void
+ workarea_changed (int x, int y, int w, int h)
+ {
+@@ -144,11 +153,11 @@ create_desktop (void)
+ gtk_icon_size_register ("taku-icon", 64, 64);
+
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+- g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), NULL);
+ gtk_widget_set_name (window, "TakuWindow");
+ gtk_window_set_title (GTK_WINDOW (window), _("Desktop"));
+
+ #ifndef STANDALONE
++ g_signal_connect (window, "delete-event", G_CALLBACK (delete_event_cb), NULL);
+ gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_DESKTOP);
+ gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
+
+@@ -156,6 +165,7 @@ create_desktop (void)
+ screen_w = gdk_screen_get_width (screen);
+ screen_h = gdk_screen_get_height (screen);
+ #else
++ g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), NULL);
+ screen_w = 640;
+ screen_h = 480;
+ #endif
+--
+2.7.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
new file mode 100644
index 000000000..dbe8c1145
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Matchbox Window Manager Desktop"
+HOMEPAGE = "http://matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://libtaku/eggsequence.h;endline=20;md5=b91f68f7642a1459fa1f4c9df94a8f15 \
+ file://src/desktop.c;endline=20;md5=36c9bf295e6007f3423095f405af5a2d \
+ file://src/main.c;endline=19;md5=2044244f97a195c25b7dc602ac7e9a00"
+
+DEPENDS = "gtk+ startup-notification dbus"
+SECTION = "x11/wm"
+SRCREV = "71e3e6e04271e9d5a14f1c231ef100c7f320134d"
+PV = "2.0+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN}-2 \
+ file://0001-Do-nothing-on-delete-event-when-not-STANDALONE.patch \
+ "
+
+EXTRA_OECONF = "--enable-startup-notification --with-dbus"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+# The startup-notification requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/0001-desktop-file-Hide-the-keyboard-from-app-list.patch b/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/0001-desktop-file-Hide-the-keyboard-from-app-list.patch
new file mode 100644
index 000000000..6b7a5cfec
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/0001-desktop-file-Hide-the-keyboard-from-app-list.patch
@@ -0,0 +1,33 @@
+From 38da4cd575edb7463cfff241afff64c2f66ea09a Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 12 Apr 2016 09:40:37 +0300
+Subject: [PATCH] desktop file: Hide the keyboard from app list
+
+matchbox-keyboard is not a normal app and there's no need to start
+it via the desktop app grid when using Sato desktop:
+* when there's no hardware keyboard, the panel applet can be used to
+ show/hide the daemonized matchbox-keyboard
+* when there is a hardware keyboard, matchbox-keyboard can still be
+ started for debug purposes from command line or the applet can be
+ enabled by editing /etc/formfactor/machconfig
+
+So hide the keyboard from the desktop app list.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ matchbox-keyboard.desktop | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/matchbox-keyboard.desktop b/matchbox-keyboard.desktop
+index c092bfe..613d349 100644
+--- a/matchbox-keyboard.desktop
++++ b/matchbox-keyboard.desktop
+@@ -6,3 +6,4 @@ Type=Application
+ Icon=matchbox-keyboard.png
+ Categories=Panel;Utility;MB
+ X-MB-INPUT-MECHANSIM=True
++NoDisplay=true
+--
+2.1.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh b/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh
new file mode 100644
index 000000000..6cf188b2d
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+. /etc/formfactor/config
+
+CMD=""
+
+if [ "$HAVE_KEYBOARD" = "0" ]; then
+ CMD="matchbox-keyboard -d"
+elif [ "$DISPLAY_CAN_ROTATE" = "1" ]; then
+ if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" ]; then
+ CMD="matchbox-keyboard -d -o landscape"
+ elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" ]; then
+ CMD="matchbox-keyboard -d -o portrait"
+ fi
+fi
+
+if [ "$CMD" ]; then
+ # Delay to make sure the window manager is active
+ # by waiting for the desktop to say its finished loading
+ dbus-wait org.matchbox_project.desktop Loaded && $CMD &
+fi
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
new file mode 100644
index 000000000..eba1970ee
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Matchbox virtual keyboard for X11"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+SECTION = "x11"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://src/matchbox-keyboard.h;endline=17;md5=9d6586c69e4a926f3cb0b4425f24ba3c \
+ file://applet/applet.c;endline=18;md5=4a0f721724746b14d95b51ddd42b95e7"
+
+DEPENDS = "libfakekey expat libxft gtk+ matchbox-panel-2"
+
+SRCREV = "ebc330eac8b9d38e9aef9f01e7241c904bd01073"
+PV = "0.0+git${SRCPV}"
+PR = "r4"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN};branch=matchbox-keyboard-0-1 \
+ file://0001-desktop-file-Hide-the-keyboard-from-app-list.patch \
+ file://80matchboxkeyboard.sh"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext gtk-immodules-cache distro_features_check
+
+# The libxft, libfakekey and matchbox-panel-2 requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = "--disable-cairo --enable-gtk-im --enable-applet"
+
+PACKAGES += "${PN}-im ${PN}-applet"
+
+FILES_${PN} = "${bindir}/ \
+ ${sysconfdir} \
+ ${datadir}/applications \
+ ${datadir}/pixmaps \
+ ${datadir}/matchbox-keyboard"
+
+FILES_${PN}-im = "${libdir}/gtk-2.0/*/immodules/*.so"
+
+FILES_${PN}-applet = "${libdir}/matchbox-panel/*.so"
+
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d/
+ install -m 755 ${WORKDIR}/80matchboxkeyboard.sh ${D}/${sysconfdir}/X11/Xsession.d/
+
+ rm -f ${D}${libdir}/gtk-2.0/*/immodules/*.la
+ rm -f ${D}${libdir}/matchbox-panel/*.la
+}
+
+GTKIMMODULES_PACKAGES = "${PN}-im"
+
+RDEPENDS_${PN} = "formfactor dbus-wait"
+RRECOMMENDS_${PN} = "${PN}-applet"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch b/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch
new file mode 100644
index 000000000..3bab6d292
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/0001-showdesktop-Make-sure-active-state-is-initialized.patch
@@ -0,0 +1,50 @@
+From a0b5fca04da208990f3c40e65dbb045da4cdb35e Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Sun, 20 Mar 2016 13:24:37 +0200
+Subject: [PATCH] showdesktop: Make sure active state is initialized
+
+There are cases (in qemu at least) where set_active()
+is never called on startup. Make sure we initialize the active
+state so the icon gets loaded and the applet is not confused
+about the current state.
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+
+Upstream-Status: Backport
+---
+ applets/showdesktop/showdesktop.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/applets/showdesktop/showdesktop.c b/applets/showdesktop/showdesktop.c
+index 61dd5c2..33c13e1 100644
+--- a/applets/showdesktop/showdesktop.c
++++ b/applets/showdesktop/showdesktop.c
+@@ -181,6 +181,12 @@ button_clicked_cb (GtkButton *button,
+ &xev);
+ }
+
++static void
++realize_cb (GtkWidget *button, ShowDesktopApplet *applet)
++{
++ sync_applet (applet);
++}
++
+ G_MODULE_EXPORT GtkWidget *
+ mb_panel_applet_create (const char *id,
+ GtkOrientation orientation)
+@@ -216,6 +222,10 @@ mb_panel_applet_create (const char *id,
+ "clicked",
+ G_CALLBACK (button_clicked_cb),
+ applet);
++ g_signal_connect (button,
++ "realize",
++ G_CALLBACK (realize_cb),
++ applet);
+
+ g_object_weak_ref (G_OBJECT (button),
+ (GWeakNotify) show_desktop_applet_free,
+--
+2.7.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch b/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch
new file mode 100644
index 000000000..45ba9a031
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch
@@ -0,0 +1,64 @@
+Don't warn if the machine doesn't actually have a battery, or if the applets
+string contains consecutive separators.
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/applets/battery/battery-acpi.c b/applets/battery/battery-acpi.c
+index 6515cb0..c44dd12 100644
+--- a/applets/battery/battery-acpi.c
++++ b/applets/battery/battery-acpi.c
+@@ -14,8 +14,6 @@ int batt_state, ac_state;
+ int pm_support(void)
+ {
+ if(check_acpi_support() == NOT_SUPPORTED){
+- g_warning("No ACPI support\n");
+-
+ return 0;
+ }
+
+@@ -32,8 +30,9 @@ const char* pm_battery_icon(void)
+ const char *icon;
+ battery_t *binfo;
+
++ /* No battery available (not present, disabled, or something
++ else. Silently do nothing. */
+ if (batt_state != SUCCESS) {
+- g_warning("Couldnt initialize ACPI battery\n");
+ return NULL;
+ }
+
+diff --git a/applets/battery/battery-apm.c b/applets/battery/battery-apm.c
+index 5467438..2f39cb6 100644
+--- a/applets/battery/battery-apm.c
++++ b/applets/battery/battery-apm.c
+@@ -10,8 +10,6 @@
+ int pm_support(void)
+ {
+ if (1 == apm_exists ()) {
+- g_warning ("No APM support");
+-
+ return 0;
+ }
+
+diff --git a/matchbox-panel/mb-panel.c b/matchbox-panel/mb-panel.c
+index 2d8cafd..828a36d 100644
+--- a/matchbox-panel/mb-panel.c
++++ b/matchbox-panel/mb-panel.c
+@@ -110,10 +110,15 @@ load_applets (const char *applets_desc,
+ applets = g_strsplit (applets_desc, ",", -1);
+
+ for (i = 0; applets[i]; i++) {
++ char *s;
+ char **bits;
+ GtkWidget *applet;
+
+- bits = g_strsplit (applets[i], ":", 2);
++ s = applets[i];
++ if (s == NULL || s[0] == '\0')
++ continue;
++
++ bits = g_strsplit (s, ":", 2);
+
+ applet = load_applet (bits[0],
+ bits[1],
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb
new file mode 100644
index 000000000..98c3ae487
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Simple GTK+ based panel for handheld devices"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://matchbox-panel/mb-panel.h;endline=10;md5=0b7db28f4b6863fb853d0467e590019a \
+ file://applets/startup/startup.c;endline=22;md5=b0a64fbef3097d79f8264e6907a98f03"
+
+DEPENDS = "gnome-common gtk+ startup-notification dbus dbus-glib"
+DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}"
+DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "apm", "apmd", "",d)}"
+
+# The startup-notification requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRCREV = "26a3a67b41c50e0ae163d8fe86ccf7a0f0a671ae"
+PV = "2.0+git${SRCPV}"
+
+RPROVIDES_${PN} = "matchbox-panel"
+RREPLACES_${PN} = "matchbox-panel"
+RCONFLICTS_${PN} = "matchbox-panel"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN} \
+ file://0001-showdesktop-Make-sure-active-state-is-initialized.patch \
+ file://silence-warnings.patch"
+
+EXTRA_OECONF = "--enable-startup-notification --enable-dbus"
+EXTRA_OECONF += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "--with-battery=acpi", "",d)}"
+EXTRA_OECONF += " ${@bb.utils.contains("MACHINE_FEATURES", "apm", "--with-battery=apm", "",d)}"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${libdir}/matchbox-panel/*.so \
+ ${datadir}/matchbox-panel/brightness/*.png \
+ ${datadir}/matchbox-panel/startup/*.png "
+FILES_${PN}-dev += "${libdir}/matchbox-panel/*.la"
+
+inherit autotools pkgconfig distro_features_check
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session b/import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
new file mode 100644
index 000000000..42ce483d3
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+. /etc/formfactor/config
+
+if [ "$HAVE_TOUCHSCREEN" = "1" ]; then
+ SHOWCURSOR="no"
+else
+ SHOWCURSOR="yes"
+fi
+
+if [ "$HAVE_KEYBOARD" = "1" ]; then
+ KEYBOARD_APPLET=""
+else
+ KEYBOARD_APPLET="keyboard"
+fi
+
+# Tell GTK+3 we really want server side decorations, even with
+# GtkHeaderBar using applications: Without that mb-panel will render
+# on top of the client side decorations.
+export GTK_CSD=0
+
+matchbox-desktop &
+
+# Lines containing feature-[foo] are removed at build time if the machine
+# doesn't have the feature "foo".
+
+START_APPLETS=showdesktop,windowselector
+END_APPLETS=clock,battery,$KEYBOARD_APPLET,systray,startup-notify,notify
+END_APPLETS=openmoko-panel-gsm,$END_APPLETS # feature-phone
+
+matchbox-panel --titlebar --start-applets $START_APPLETS --end-applets $END_APPLETS &
+
+exec matchbox-window-manager -theme Sato -use_desktop_mode decorated -use_cursor $SHOWCURSOR $@
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
new file mode 100644
index 000000000..76de18ae9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Custom Matchbox session files for the Sato environment"
+HOMEPAGE = "http://www.matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2.0+"
+LIC_FILES_CHKSUM = "file://session;endline=3;md5=f8a5c5b9c279e52dc094d10e11c2be63"
+
+SECTION = "x11"
+DEPENDS = "gconf-native"
+RDEPENDS_${PN} = "formfactor gtk-sato-engine matchbox-theme-sato gtk-theme-sato matchbox-panel-2 matchbox-desktop-sato matchbox-session gconf"
+PR = "r30"
+
+# This package is architecture specific because the session script is modified
+# based on the machine architecture.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit distro_features_check
+
+# The matchbox-theme-sato requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "file://session"
+S = "${WORKDIR}"
+
+do_install() {
+ # This is the set of machine features that the script has markers for
+ FEATURES="phone"
+ SCRIPT="${S}/sedder"
+ rm -f $SCRIPT
+ touch $SCRIPT
+ for FEAT in $FEATURES; do
+ if echo ${MACHINE_FEATURES} | awk "/$FEAT/ {exit 1}"; then
+ echo "/feature-$FEAT/d" >> $SCRIPT
+ fi
+ done
+
+ install -d ${D}/${sysconfdir}/matchbox
+ sed -f "$SCRIPT" ${S}/session > ${D}/${sysconfdir}/matchbox/session
+ chmod +x ${D}/${sysconfdir}/matchbox/session
+}
+
+pkg_postinst_${PN} () {
+ set_value() {
+ #type, name, value
+ gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type $1 --set /desktop/poky/interface/$2 "$3"
+ }
+ set_value string theme Sato
+ set_value string icon_theme Sato
+ set_value bool touchscreen true
+ set_value string font_name "Sans 9"
+}
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_git.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_git.bb
new file mode 100644
index 000000000..c8cbd57a6
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Lightweight GTK+ terminal application"
+HOMEPAGE = "http://www.matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://main.c;endline=20;md5=96e39176d9e355639a0b8b1c7a840820"
+
+DEPENDS = "gtk+ vte"
+SECTION = "x11/utils"
+SRCREV = "452bca253492a97a587f440289b9ab27d217353e"
+PV = "0.0+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc b/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc
new file mode 100644
index 000000000..d947e1ab0
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Matchbox window manager Sato themes"
+HOMEPAGE = "http://www.matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aae86bb34b0a83716ca09f4e783d6ba4"
+
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+
+inherit autotools pkgconfig distro_features_check
+
+FILES_${PN} += "${datadir}/themes"
+
+# The matchbox-wm requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb
new file mode 100644
index 000000000..f6786dda5
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb
@@ -0,0 +1,8 @@
+require matchbox-theme-sato.inc
+
+PR = "r1"
+
+SRC_URI = "http://pokylinux.org/releases/sato/matchbox-theme-sato-0.1.tar.gz"
+
+SRC_URI[md5sum] = "72ae272ef7803141a3dcb69e670cff97"
+SRC_URI[sha256sum] = "5b59f9646edbfb907a309332db3bd6fa7080dc1fe24df549480cfae7d974a3fb"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_git.bb b/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_git.bb
new file mode 100644
index 000000000..0d3569de9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_git.bb
@@ -0,0 +1,12 @@
+require matchbox-theme-sato.inc
+
+SRCREV = "f72cf4ed7d71ad9e47b0f2d3dbc593bc2f3e76f8"
+PV = "0.2+git${SRCPV}"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "git://git.yoctoproject.org/matchbox-sato"
+
+EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'qvga', '--with-mode=qvga', '',d)}"
+
+S = "${WORKDIR}/git"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb b/import-layers/yocto-poky/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
new file mode 100644
index 000000000..8ba49231d
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
@@ -0,0 +1,62 @@
+#
+# Copyright (C) 2007-2008 OpenedHand Ltd.
+#
+
+SUMMARY = "Sato desktop"
+LICENSE = "MIT"
+PR = "r33"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit packagegroup distro_features_check
+REQUIRED_DISTRO_FEATURES = "x11"
+
+PACKAGES = "${PN} ${PN}-base ${PN}-apps ${PN}-games"
+
+RDEPENDS_${PN} = "\
+ ${PN}-base \
+ ${PN}-apps \
+ ${PN}-games \
+ "
+
+NETWORK_MANAGER ?= "connman-gnome"
+NETWORK_MANAGER_libc-uclibc = ""
+
+SUMMARY_${PN}-base = "Sato desktop - base packages"
+RDEPENDS_${PN}-base = "\
+ matchbox-desktop \
+ matchbox-session-sato \
+ matchbox-keyboard \
+ matchbox-keyboard-applet \
+ matchbox-keyboard-im \
+ matchbox-config-gtk \
+ xcursor-transparent-theme \
+ sato-icon-theme \
+ settings-daemon \
+ gtk-sato-engine \
+ shutdown-desktop \
+ libsdl \
+ ${NETWORK_MANAGER} \
+ udev-extraconf \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio-server pulseaudio-client-conf-sato pulseaudio-misc', '', d)} \
+ "
+
+FILEMANAGER ?= "pcmanfm"
+
+WEB ?= ""
+#WEB = "epiphany"
+
+SUMMARY_${PN}-apps = "Sato desktop - applications"
+RDEPENDS_${PN}-apps = "\
+ leafpad \
+ gst-player-bin \
+ matchbox-terminal \
+ sato-screenshot \
+ ${FILEMANAGER} \
+ ${WEB} \
+ "
+
+SUMMARY_${PN}-games = "Sato desktop - games"
+RDEPENDS_${PN}-games = "\
+ oh-puzzles \
+ "
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.png b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.png
new file mode 100644
index 000000000..b8e559456
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.png
Binary files differ
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-directory.png b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-directory.png
new file mode 100644
index 000000000..05921a668
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-directory.png
Binary files differ
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-regular.png b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-regular.png
new file mode 100644
index 000000000..ce77a8e62
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-fs-regular.png
Binary files differ
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.png b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.png
new file mode 100644
index 000000000..bfe4bad56
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.png
Binary files differ
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/no-desktop.patch b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/no-desktop.patch
new file mode 100644
index 000000000..ae54dbd56
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/files/no-desktop.patch
@@ -0,0 +1,15 @@
+Disable the desktop preferences launcher as we don't use the pcmanfm desktop in
+Sato.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/data/pcmanfm-desktop-pref.desktop b/data/pcmanfm-desktop-pref.desktop
+index ccf8abb..3f6fc1c 100644
+--- a/data/pcmanfm-desktop-pref.desktop.in
++++ b/data/pcmanfm-desktop-pref.desktop.in
+@@ -7,3 +7,4 @@ Exec=pcmanfm --desktop-pref
+ StartupNotify=true
+ Terminal=false
+ NotShowIn=GNOME;XFCE;KDE;MATE;
++NoDisplay=true
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/pcmanfm_1.2.4.bb b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/pcmanfm_1.2.4.bb
new file mode 100644
index 000000000..a6b0aacd2
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pcmanfm/pcmanfm_1.2.4.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Fast lightweight tabbed filemanager"
+HOMEPAGE = "http://pcmanfm.sourceforge.net/"
+
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://src/pcmanfm.h;endline=22;md5=417b3855771a3a87f8ad753d994491f0 \
+ file://src/gseal-gtk-compat.h;endline=21;md5=46922c8691f58d124f9420fe16149ce2"
+
+SECTION = "x11"
+DEPENDS = "gtk+ startup-notification libfm intltool-native gettext-native"
+DEPENDS_append_poky = " libowl"
+
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|aarch64.*|arm.*|mips.*|powerpc.*|sh.*)-(linux|freebsd.*)'
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/pcmanfm-${PV}.tar.xz \
+ file://gnome-fs-directory.png \
+ file://gnome-fs-regular.png \
+ file://gnome-mime-text-plain.png \
+ file://emblem-symbolic-link.png \
+ file://no-desktop.patch"
+
+SRC_URI[md5sum] = "19764c2f59653724c8713e0064fa6829"
+SRC_URI[sha256sum] = "38cdbb5f01d24483b41b8e6846e4aa66a5751bb3982a8618899e88a853dbe313"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/"
+
+inherit autotools pkgconfig distro_features_check
+
+# The startup-notification requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps
+}
+
+FILES_${PN} += "${libdir}/pcmanfm"
+
+RRECOMMENDS_${PN} += "adwaita-icon-theme"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf b/import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf
new file mode 100644
index 000000000..97492e7a5
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf
@@ -0,0 +1,7 @@
+# We rely on PulseAudio's autospawn feature to automatically start the daemon
+# in Sato. The graphical session in Sato runs under root, however, and
+# PulseAudio disables autospawning for root by default. In a normal setup it's
+# not desirable to autospawn for root, because it can easily interfere with
+# other users' PulseAudio instances, but in Sato there are no other users, so
+# it's OK to enable this in Sato.
+allow-autospawn-for-root = yes
diff --git a/import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb b/import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb
new file mode 100644
index 000000000..e27339fb4
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "/etc/pulse/client.conf tailored for Sato"
+SECTION = "multimedia"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://50-sato.conf"
+S = "${WORKDIR}"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${sysconfdir}/pulse/client.conf.d
+ install -m 0644 ${S}/50-sato.conf ${D}${sysconfdir}/pulse/client.conf.d/50-sato.conf
+}
+
+FILES_${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
+CONFFILES_${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch
new file mode 100644
index 000000000..f43d1df6c
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch
@@ -0,0 +1,46 @@
+From 9808dc09e08937c9bffd858d3ded428225a4312a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Sep 2015 09:02:38 +0000
+Subject: [PATCH] Use labs instead of abs
+
+cluevals is array of longs so we have to use labs() instead of abs()
+since abs() returns int
+
+Fixes
+
+keen.c:1458:17: error: absolute value function 'abs' given an argument
+of type 'long' but has parameter of type 'int' which may cause
+truncation of value
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ keen.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/keen.c b/keen.c
+index a6a7238..1631992 100644
+--- a/keen.c
++++ b/keen.c
+@@ -1043,7 +1043,7 @@ done
+ cluevals[j] *= grid[i];
+ break;
+ case C_SUB:
+- cluevals[j] = abs(cluevals[j] - grid[i]);
++ cluevals[j] = labs(cluevals[j] - grid[i]);
+ break;
+ case C_DIV:
+ {
+@@ -1455,7 +1455,7 @@ static int check_errors(const game_state *state, long *errors)
+ cluevals[j] *= state->grid[i];
+ break;
+ case C_SUB:
+- cluevals[j] = abs(cluevals[j] - state->grid[i]);
++ cluevals[j] = labs(cluevals[j] - state->grid[i]);
+ break;
+ case C_DIV:
+ {
+--
+2.5.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch
new file mode 100644
index 000000000..5351f8eb4
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch
@@ -0,0 +1,72 @@
+From 6d8326275802a2e6e61d3e99460af6891ae8362f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jan 2016 23:10:19 -0800
+Subject: [puzzles][PATCH] palisade: Fix warnings with clang on arm
+
+ARM treats 'char' as unsigned char when 'char' is not qualified with
+'signed' or 'unsigned' explicitly.
+
+This results in warnings e.g.
+
+palisade.c:531:22: error: comparison of constant -1 with expression of
+type 'clue' (aka 'char') is always false
+[-Werror,-Wtautological-constant-out-of-range-compare]
+ if (clues[i] == EMPTY) continue;
+
+Therefore, typcast the contant to char in such places to be explicit
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ palisade.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/palisade.c b/palisade.c
+index 984e616..2b9c25c 100644
+--- a/palisade.c
++++ b/palisade.c
+@@ -295,11 +295,11 @@ static void solver_connected_clues_versus_region_size(solver_ctx *ctx)
+ * If p = q = 3 then the region has size exactly 2. */
+
+ for (i = 0; i < wh; ++i) {
+- if (ctx->clues[i] == EMPTY) continue;
++ if (ctx->clues[i] == (char)EMPTY) continue;
+ for (dir = 0; dir < 4; ++dir) {
+ int j = i + dx[dir] + w*dy[dir];
+ if (disconnected(ctx, i, j, dir)) continue;
+- if (ctx->clues[j] == EMPTY) continue;
++ if (ctx->clues[j] == (char)EMPTY) continue;
+ if ((8 - ctx->clues[i] - ctx->clues[j] > ctx->params->k) ||
+ (ctx->clues[i] == 3 && ctx->clues[j] == 3 &&
+ ctx->params->k != 2))
+@@ -317,7 +317,7 @@ static int solver_number_exhausted(solver_ctx *ctx)
+ int changed = FALSE;
+
+ for (i = 0; i < wh; ++i) {
+- if (ctx->clues[i] == EMPTY) continue;
++ if (ctx->clues[i] == (char)EMPTY) continue;
+
+ if (bitcount[(ctx->borders[i] & BORDER_MASK)] == ctx->clues[i]) {
+ for (dir = 0; dir < 4; ++dir) {
+@@ -528,7 +528,7 @@ static int is_solved(const game_params *params, clue *clues,
+ for (i = 0; i < wh; ++i) {
+ if (dsf[i] == UNVISITED) dfs_dsf(i, params->w, border, dsf, TRUE);
+ if (dsf_size(dsf, i) != k) goto error;
+- if (clues[i] == EMPTY) continue;
++ if (clues[i] == (char)EMPTY) continue;
+ if (clues[i] != bitcount[border[i] & BORDER_MASK]) goto error;
+ }
+
+@@ -674,7 +674,7 @@ static char *new_game_desc(const game_params *params, random_state *rs,
+ p = numbers;
+ r = 0;
+ for (i = 0; i < wh; ++i) {
+- if (numbers[i] != EMPTY) {
++ if (numbers[i] != (char)EMPTY) {
+ while (r) {
+ while (r > 26) {
+ *p++ = 'z';
+--
+2.7.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-rect-Fix-compiler-errors-about-uninitialized-use-of-.patch b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-rect-Fix-compiler-errors-about-uninitialized-use-of-.patch
new file mode 100644
index 000000000..0b971c432
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/0001-rect-Fix-compiler-errors-about-uninitialized-use-of-.patch
@@ -0,0 +1,32 @@
+From 78d6d1706c21ad467520075ff7a8bf15cfbd68b3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Dec 2015 22:13:16 +0000
+Subject: [PATCH] rect: Fix compiler errors about uninitialized use of
+ variables
+
+error: 'r2.x' may be used uninitialized in this function
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ rect.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/rect.c b/rect.c
+index 55667c0..fa3a786 100644
+--- a/rect.c
++++ b/rect.c
+@@ -1317,7 +1317,8 @@ static char *new_game_desc(const game_params *params_in, random_state *rs,
+ if (ndirs > 0) {
+ int which, dir;
+ struct rect r1, r2;
+-
++ memset(&r1, 0, sizeof(struct rect));
++ memset(&r2, 0, sizeof(struct rect));
+ which = random_upto(rs, ndirs);
+ dir = dirs[which];
+
+--
+2.6.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch
new file mode 100644
index 000000000..c134acde2
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch
@@ -0,0 +1,43 @@
+gtk.c: fix compiling failure with option -g -O
+
+There were compiling failure with option -g -O
+...
+././gtk.c: In function 'configure_area':
+././gtk.c:397:2: error: 'cr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+ cairo_set_source_rgb(cr,
+ ^
+././gtk.c:384:14: note: 'cr' was declared here
+ cairo_t *cr;
+ ^
+././gtk.c: In function 'main':
+././gtk.c:2911:6: error: 'error' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+ fprintf(stderr, "%s: %s\n", pname, error);
+ ^
+cc1: all warnings being treated as errors
+...
+
+Initialized pointer 'cr' and 'error' with NULL
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gtk.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gtk.c b/gtk.c
+index a2eba2c..c54bf63 100644
+--- a/gtk.c
++++ b/gtk.c
+@@ -2481,7 +2481,7 @@ char *fgetline(FILE *fp)
+ int main(int argc, char **argv)
+ {
+ char *pname = argv[0];
+- char *error;
++ char *error = NULL;
+ int ngenerate = 0, print = FALSE, px = 1, py = 1;
+ int time_generation = FALSE, test_solve = FALSE, list_presets = FALSE;
+ int soln = FALSE, colour = FALSE;
+--
+1.9.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch
new file mode 100644
index 000000000..7e2c3ab75
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch
@@ -0,0 +1,203 @@
+This patch enable owl menu, which is hidden in the title bar to save space on
+small screen. It has not been used for a long time, rebase needed.
+
+Upstream-Status: Inappropriate [enable feature]
+
+Index: src/gtk.c
+===================================================================
+--- src/gtk.c (revision 22)
++++ src/gtk.c (working copy)
+@@ -28,6 +28,8 @@
+ #include <gdk/gdkx.h>
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+
++#include <libowl/owlwindowmenu.h>
++
+ #include <librsvg/rsvg.h>
+
+ #include <X11/Xlib.h>
+@@ -1237,6 +1239,7 @@
+ }
+ }
+
++#if 0
+ static void
+ add_widget (GtkUIManager *merge,
+ GtkWidget *widget,
+@@ -1247,10 +1250,11 @@
+ gtk_box_pack_start (box, widget, FALSE, FALSE, 0);
+
+ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (box));
+- gtk_widget_show_all (toplevel);
+ }
++#endif
+
+ static GtkActionEntry toplevel_actions[] = {
++ { "Top", NULL, "" },
+ { "Game", NULL, N_("Game") },
+ { "Settings", NULL, N_("Settings") },
+ { "Help", NULL, N_("Help") },
+@@ -1303,11 +1307,13 @@
+ frontend *fe)
+ {
+ GString *xml;
++ GError *error = NULL;
+ gboolean presets = FALSE;
+ GSList *radio_group = NULL;
+ int i;
+
+- xml = g_string_new ("<ui><menubar><placeholder name=\"TypePlaceholder\">"
++ xml = g_string_new ("<ui><menubar><menu name=\"TopMenu\" action=\"Top\">"
++ "<placeholder name=\"TypePlaceholder\">"
+ "<menu name=\"SettingsMenu\" action=\"Settings\">");
+
+ for (i = 0; i < midend_num_presets(fe->me); i++) {
+@@ -1359,8 +1365,14 @@
+ "<menuitem name=\"CustomMenu\" action=\"Custom\"/>");
+ }
+
+- g_string_append (xml, "</menu></placeholder></menubar></ui>");
+- gtk_ui_manager_add_ui_from_string (merge, xml->str, -1, NULL);
++ g_string_append (xml, "</menu></placeholder></menu></menubar></ui>");
++
++ gtk_ui_manager_add_ui_from_string (merge, xml->str, -1, &error);
++ if (error != NULL) {
++ g_warning ("Error adding custom: %s", error->message);
++ g_error_free (error);
++ }
++
+ g_string_free (xml, TRUE);
+ }
+
+@@ -1434,6 +1446,7 @@
+ new_window(char *arg, char **error)
+ {
+ frontend *fe;
++ GError *err = NULL;
+ GtkBox *vbox;
+ GtkUIManager *merge;
+ GtkActionGroup *actions;
+@@ -1496,8 +1509,6 @@
+ gtk_window_add_accel_group(GTK_WINDOW(fe->window), fe->accelgroup);
+
+ merge = gtk_ui_manager_new ();
+- g_signal_connect (G_OBJECT (merge), "add_widget",
+- G_CALLBACK (add_widget), vbox);
+
+ actions = gtk_action_group_new ("PuzzleActions");
+ gtk_action_group_add_actions (actions, toplevel_actions,
+@@ -1509,22 +1520,39 @@
+
+ gtk_ui_manager_insert_action_group (merge, actions, 0);
+
+- gtk_ui_manager_add_ui_from_file (merge, DATADIR "/oh-puzzles/ui/menu.xml", NULL);
++ gtk_ui_manager_add_ui_from_file (merge, DATADIR "/oh-puzzles/ui/menu.xml",
++ &err);
++ if (err != NULL) {
++ g_warning ("Error making UI: %s", err->message);
++ g_error_free (err);
++ err = NULL;
++ }
+
+ if (thegame.can_solve) {
+- char *str = "<ui><menubar><menu name=\"GameMenu\" action=\"Game\">"
++ char *str = "<ui><menubar><menu name=\"TopMenu\" action=\"Top\">"
++ "<menu name=\"GameMenu\" action=\"Game\">"
+ "<placeholder name=\"SolvePlaceholder\">"
+ "<separator name=\"SolveSep\"/>"
+ "<menuitem name=\"SolveMenu\" action=\"Solve\"/>"
+- "</placeholder></menu></menubar></ui>";
++ "</placeholder></menu></menu></menubar></ui>";
+
+- gtk_ui_manager_add_ui_from_string (merge, str, -1, NULL);
++ gtk_ui_manager_add_ui_from_string (merge, str, -1, &err);
++ if (err != NULL) {
++ g_warning ("Error adding solve. %s", err->message);
++ g_error_free (err);
++ }
+ }
+
+ if ((n = midend_num_presets(fe->me)) > 0 || thegame.can_configure) {
+ generate_settings_menu (merge, actions, fe);
+ }
+
++ /* Do this so that the menu is packed now instead of in the idle loop */
++ gtk_ui_manager_ensure_update (merge);
++
++ owl_set_window_menu_item (GTK_WINDOW (fe->window),
++ GTK_MENU_ITEM (gtk_ui_manager_get_widget (merge, "/menubar/TopMenu")));
++
+ setup_colours (fe);
+ setup_pixbufs (fe);
+
+@@ -1572,7 +1600,7 @@
+ GDK_BUTTON_RELEASE_MASK |
+ GDK_BUTTON_MOTION_MASK);
+
+- /* The window is shown once the menubar has been added */
++ gtk_widget_show_all (fe->window);
+ return fe;
+ }
+
+Index: src/menu.xml
+===================================================================
+--- src/menu.xml (revision 22)
++++ src/menu.xml (working copy)
+@@ -1,26 +1,25 @@
+ <ui>
+ <menubar>
+-<menu name="GameMenu" action="Game">
+- <menuitem name="NewMenu" action="New"/>
+- <menuitem name="RestartMenu" action="Restart"/>
+-<!-- <menuitem name="SpecificMenu" action="Specific"/> -->
+- <menuitem name="RandomMenu" action="Random"/>
+- <separator name="GameSep1"/>
+- <menuitem name="LoadMenu" action="Load"/>
+- <menuitem name="SaveMenu" action="Save"/>
+- <separator name="GameSep2"/>
+- <menuitem name="UndoMenu" action="Undo"/>
+- <menuitem name="RedoMenu" action="Redo"/>
+- <placeholder name="CopyPlaceholder"/>
+- <placeholder name="SolvePlaceholder"/>
+- <separator name="GameSep3"/>
+- <menuitem name="QuitMenu" action="Quit"/>
+-</menu>
++<menu name="TopMenu" action="Top">
++ <menu name="GameMenu" action="Game">
++ <menuitem name="NewMenu" action="New"/>
++ <menuitem name="RestartMenu" action="Restart"/>
++ <!-- <menuitem name="SpecificMenu" action="Specific"/> -->
++ <menuitem name="RandomMenu" action="Random"/>
++ <separator name="GameSep1"/>
++ <menuitem name="LoadMenu" action="Load"/>
++ <menuitem name="SaveMenu" action="Save"/>
++ <separator name="GameSep2"/>
++ <menuitem name="UndoMenu" action="Undo"/>
++ <menuitem name="RedoMenu" action="Redo"/>
++ <placeholder name="CopyPlaceholder"/>
++ <placeholder name="SolvePlaceholder"/>
++ </menu>
+
+-<placeholder name="TypePlaceholder"/>
+-
+-<menu name="HelpMenu" action="Help">
++ <placeholder name="TypePlaceholder"/>
+ <menuitem name="AboutMenu" action="About"/>
++ <menuitem name="QuitMenu" action="Quit"/>
++
+ </menu>
+ </menubar>
+ </ui>
+Index: src/Makefile.am
+===================================================================
+--- src/Makefile.am (revision 22)
++++ src/Makefile.am (working copy)
+@@ -10,7 +10,7 @@
+ lightup loopy map mines net netslide pattern pegs rect samegame \
+ sixteen slant solo tents twiddle untangle
+
+-libpuzzles_la_LIBADD = $(PUZZLES_LIBS)
++libpuzzles_la_LIBADD = $(PUZZLES_LIBS) -lowl
+ libpuzzles_la_SOURCES = combi.c \
+ configuration.c \
+ drawing.c \
diff --git a/import-layers/yocto-poky/meta/recipes-sato/puzzles/oh-puzzles_git.bb b/import-layers/yocto-poky/meta/recipes-sato/puzzles/oh-puzzles_git.bb
new file mode 100644
index 000000000..dfa68a659
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/puzzles/oh-puzzles_git.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Portable Puzzle Collection"
+HOMEPAGE = "http://o-hand.com/"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=f56ec6772dd1c7c367067bbea8ea1675 \
+ file://src/tree234.h;endline=28;md5=a188e6d250430ca094a54a82f48472a7 \
+ file://src/tree234.c;endline=28;md5=b4feb1976feebf8f1379093ed52f2945"
+
+SECTION = "x11"
+DEPENDS = "gtk+ gconf intltool-native librsvg gettext-native"
+
+# libowl requires x11 in DISTRO_FEATURES
+DEPENDS_append_poky = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libowl', '', d)}"
+
+# Requires gdk/gdkx.h which is provided by gtk when x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRCREV = "92f1a20e4b72eed7a35b00984d9793b51dc2fb3b"
+PV = "0.2+git${SRCPV}"
+PR = "r10"
+
+SRC_URI = "git://git.yoctoproject.org/${BPN}"
+SRC_URI_append_poky = " file://oh-puzzles-owl-menu.patch;striplevel=0 "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+bindir = "/usr/games"
+
+EXTRA_OEMAKE += "GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1"
+
+do_install_append () {
+ install -d ${D}/${datadir}/applications/
+
+ cd ${D}/${prefix}/games
+ for prog in *; do
+ if [ -x $prog ]; then
+ # Convert prog to Title Case
+ title=$(echo $prog | sed 's/\(^\| \)./\U&/g')
+ echo "making ${D}/${datadir}/applications/$prog.desktop"
+ cat <<STOP > ${D}/${datadir}/applications/$prog.desktop
+[Desktop Entry]
+Name=$title
+Exec=${prefix}/games/$prog
+Icon=applications-games
+Terminal=false
+Type=Application
+Categories=Game;
+StartupNotify=true
+X-MB-SingleInstance=true
+Comment=Play $title.
+STOP
+ fi
+ done
+}
+
+PACKAGES += "${PN}-extra"
+RDEPENDS_${PN}-extra += "oh-puzzles"
+
+FILES_${PN} = "/usr/share/pixmaps /usr/share/oh-puzzles/"
+FILES_${PN}-extra = "/usr/games/ /usr/share/applications /etc/gconf/schemas"
+
+python __anonymous () {
+ var = bb.data.expand("FILES_${PN}", d, 1)
+ data = d.getVar(var, True)
+ for name in ("bridges", "fifteen", "inertia", "map", "samegame", "slant"):
+ data = data + " /usr/games/%s" % name
+ data = data + " /usr/share/applications/%s.desktop" % name
+ data = data + " /etc/gconf/schemas/%s.schemas" % name
+ d.setVar(var, data)
+}
diff --git a/import-layers/yocto-poky/meta/recipes-sato/puzzles/puzzles_git.bb b/import-layers/yocto-poky/meta/recipes-sato/puzzles/puzzles_git.bb
new file mode 100644
index 000000000..346f43bc9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -0,0 +1,66 @@
+SUMMARY = "Simon Tatham's Portable Puzzle Collection"
+HOMEPAGE = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
+
+DEPENDS = "libxt"
+
+# The libxt requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=33bcd4bce8f3c197f2aefbdbd2d299bc"
+
+SRC_URI = "git://git.tartarus.org/simon/puzzles.git \
+ file://fix-compiling-failure-with-option-g-O.patch \
+ file://0001-Use-labs-instead-of-abs.patch \
+ file://0001-rect-Fix-compiler-errors-about-uninitialized-use-of-.patch \
+ file://0001-palisade-Fix-warnings-with-clang-on-arm.patch \
+"
+SRCREV = "346584bf6e38232be8773c24fd7dedcbd7b3d9ed"
+PE = "1"
+PV = "0.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep distro_features_check pkgconfig
+
+PACKAGECONFIG ??= "gtk2"
+PACKAGECONFIG[gtk2] = "--with-gtk=2,,gtk+,"
+PACKAGECONFIG[gtk3] = "--with-gtk=3,,gtk+3,"
+
+do_configure_prepend () {
+ ./mkfiles.pl
+}
+
+FILES_${PN} = "${prefix}/bin/* ${datadir}/applications/*"
+
+do_install () {
+ rm -rf ${D}/*
+ export prefix=${D}
+ export DESTDIR=${D}
+ install -d ${D}/${prefix}/bin/
+ oe_runmake install
+
+
+ install -d ${D}/${datadir}/applications/
+
+ # Create desktop shortcuts
+ cd ${D}/${prefix}/bin
+ for prog in *; do
+ if [ -x $prog ]; then
+ # Convert prog to Title Case
+ title=$(echo $prog | sed 's/\(^\| \)./\U&/g')
+ echo "making ${D}/${datadir}/applications/$prog.desktop"
+ cat <<STOP > ${D}/${datadir}/applications/$prog.desktop
+[Desktop Entry]
+Name=$title
+Exec=${prefix}/bin/$prog
+Icon=applications-games
+Terminal=false
+Type=Application
+Categories=Game;
+StartupNotify=true
+X-MB-SingleInstance=true
+STOP
+ fi
+ done
+}
diff --git a/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
new file mode 100644
index 000000000..4d5daa661
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc
@@ -0,0 +1,58 @@
+SECTION = "x11/utils"
+SUMMARY = "rxvt terminal clone supporting unicode"
+DESCRIPTION = "rxvt-unicode is a clone of the well known \
+terminal emulator rxvt, modified to store text in Unicode \
+(either UCS-2 or UCS-4) and to use locale-correct input and \
+output. It also supports mixing multiple fonts at the \
+same time, including Xft fonts."
+DEPENDS = "virtual/libx11 libxt libxft gdk-pixbuf libxmu"
+
+SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2 \
+ file://xwc.patch \
+ file://rxvt.desktop \
+ file://rxvt.png"
+
+inherit autotools update-alternatives
+
+PROVIDES = "virtual/x-terminal-emulator"
+ALTERNATIVE_${PN} = "x-terminal-emulator"
+ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/rxvt"
+
+CFLAGS_append = " -fpermissive"
+
+EXTRA_OECONF = "--enable-xim \
+ --enable-utmp --enable-wtmp --enable-lastlog \
+ --with-term=rxvt --enable-keepscrolling \
+ --enable-xft --with-name=rxvt --enable-frills \
+ --enable-swapscreen --enable-transparency \
+ --with-codesets=eu --enable-pointer-blank \
+ --enable-text-blink --enable-rxvt-scroll \
+ --enable-combining --disable-perl \
+ --with-x=${STAGING_DIR_HOST}${prefix}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[startup] = "--enable-startup-notification,--disable-startup-notification,startup-notification,"
+
+do_configure_prepend () {
+ if [ ! -e ${S}/acinclude.m4 ]; then
+ cp ${S}/aclocal.m4 ${S}/acinclude.m4
+ fi
+}
+
+do_compile_prepend () {
+ echo '#define UTMP_FILE "${localstatedir}/run/utmp"' >> config.h
+ echo '#define WTMP_FILE "${localstatedir}/log/wtmp"' >> config.h
+ echo '#define LASTLOG_FILE "${localstatedir}/log/lastlog"' >> config.h
+ echo '#define HAVE_XLOCALE 1' >> config.h
+}
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/rxvt.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/rxvt.desktop ${D}/${datadir}/applications
+}
+
+FILES_${PN} += "${datadir}/applications/rxvt.desktop ${datadir}/pixmaps/rxvt.png"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop
new file mode 100644
index 000000000..882ea4113
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=Terminal
+Comment=A unicode capable rxvt clone
+Exec=rxvt
+Icon=terminal
+Terminal=false
+Type=Application
+Categories=Utility;TerminalEmulator;
diff --git a/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.png b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.png
new file mode 100644
index 000000000..e56fa2e9c
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.png
Binary files differ
diff --git a/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/xwc.patch b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/xwc.patch
new file mode 100644
index 000000000..16efeef49
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/xwc.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+diff -ruN rxvt-unicode-9.10-orig//src/screen.C rxvt-unicode-9.10/src/screen.C
+--- rxvt-unicode-9.10-orig//src/screen.C 2011-04-19 13:34:01.327664984 +0800
++++ rxvt-unicode-9.10/src/screen.C 2011-04-19 13:34:47.037665001 +0800
+@@ -3152,7 +3152,7 @@
+ return false;
+ }
+
+-#if 0
++#if HAVE_XWC
+ XTextProperty ct;
+
+ if (XwcTextListToTextProperty (dpy, &selection.text, 1, XStringStyle, &ct) >= 0)
+@@ -3734,9 +3734,11 @@
+ }
+ else
+ #endif
++#ifdef HAVE_XWC
+ if (XwcTextListToTextProperty (dpy, &cl, 1, (XICCEncodingStyle) style, &ct) >= 0)
+ freect = 1;
+ else
++#endif
+ {
+ /* if we failed to convert then send it raw */
+ ct.value = (unsigned char *)cl;
diff --git a/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb
new file mode 100644
index 000000000..3480ec74b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb
@@ -0,0 +1,8 @@
+require rxvt-unicode.inc
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/main.C;beginline=1;endline=31;md5=775485398a09fa7aee6f90464af88432"
+
+SRC_URI[md5sum] = "4a5b823f08d21036f94a6c51e94d025b"
+SRC_URI[sha256sum] = "e73e13fe64b59fd3c8e6e20c00f149d388741f141b8155e4700d3ed40aa94b4e"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb
new file mode 100644
index 000000000..bfa8a614d
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb
@@ -0,0 +1,8 @@
+require rxvt-unicode.inc
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://src/main.C;beginline=1;endline=31;md5=d3600d7ee1062667fcd1193fbe6485f6"
+
+SRC_URI[md5sum] = "93782dec27494eb079467dacf6e48185"
+SRC_URI[sha256sum] = "e94628e9bcfa0adb1115d83649f898d6edb4baced44f5d5b769c2eeb8b95addd"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch b/import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
new file mode 100644
index 000000000..2c176ee90
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
@@ -0,0 +1,31 @@
+From b9f02989310a3c920589f1aa646bcbf16b2572a0 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 13 Jun 2012 11:07:33 +0100
+Subject: [PATCH] Inherit the GNOME icon theme
+
+If the GNOME icon theme isn't installed this is a no-op, but if it is then
+you'll get fallback from Sato to GNOME for icons that are not in Sato.
+
+As applications that use the full GNOME icon theme depend on gnome-icon-theme,
+this just works.
+
+Upstream-Status: Backport
+---
+ index.theme | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/index.theme b/index.theme
+index c4b03a7..688fbbf 100644
+--- a/index.theme
++++ b/index.theme
+@@ -1,6 +1,7 @@
+ [Icon Theme]
+ Name=Sato
+ Comment=Sato icon theme
++Inherits=Adwaita
+
+ Directories=16x16/apps,16x16/status,16x16/stock,16x16/places,16x16/mimetypes,16x16/devices,16x16/actions,22x22/apps,22x22/status,22x22/stock,22x22/places,22x22/mimetypes,22x22/devices,22x22/actions,32x32/apps,32x32/status,32x32/stock,32x32/places,32x32/mimetypes,32x32/devices,32x32/actions,48x48/apps,48x48/status,48x48/stock,48x48/places,48x48/mimetypes,48x48/devices,48x48/actions,64x64/apps,64x64/status,64x64/stock,64x64/places,64x64/mimetypes,64x64/devices,64x64/actions,
+
+--
+1.7.10
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb b/import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb
new file mode 100644
index 000000000..ced735f00
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Sato icon theme"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=56a830bbe6e4697fe6cbbae01bb7c2b2"
+SECTION = "x11"
+
+PR = "r6"
+
+DEPENDS = "icon-naming-utils-native libxml-simple-perl-native"
+
+SRC_URI = "http://pokylinux.org/releases/sato/${BPN}-${PV}.tar.gz \
+ file://0001-Inherit-the-GNOME-icon-theme.patch"
+
+SRC_URI[md5sum] = "86a847f3128a43a9cf23b7029a656f50"
+SRC_URI[sha256sum] = "0b0a2807a6a96918ac799a86094ec3e8e2c892be0fd679a4232c2a77f2f61732"
+
+inherit autotools pkgconfig allarch gtk-icon-cache perlnative
+
+# The configure script uses pkg-config to find native binaries to execute, so
+# tell it to use our pkg-config-native wrapper.
+export PKG_CONFIG = "pkg-config-native"
+
+FILES_${PN} += "${datadir}/icons/Sato"
+
+do_install_append() {
+ find ${D}${datadir}/icons/Sato/ -maxdepth 1 -type d -exec ln -s preferences-system.png {}/apps/preferences-desktop.png \;
+ find ${D}${datadir}/icons/Sato/ -maxdepth 1 -type d -exec ln -s file-manager.png {}/apps/system-file-manager.png \;
+ find ${D}${datadir}/icons/Sato/ -maxdepth 1 -type d -exec ln -s ../apps/terminal.png {}/places/computer.png \;
+}
+
+# Explictly setting "Sato" as the default icon theme to avoid flickering from
+# the desktop and settings daemon racing. This shouldn't be done here but in the sato image
+pkg_postinst_${PN} () {
+ mkdir -p $D/etc/gtk-2.0
+
+ grep -s -q -e ^gtk-icon-theme-name.*\"Sato\" $D/etc/gtk-2.0/gtkrc || \
+ echo 'gtk-icon-theme-name = "Sato"' >> $D/etc/gtk-2.0/gtkrc
+}
diff --git a/import-layers/yocto-poky/meta/recipes-sato/sato-screenshot/sato-screenshot_git.bb b/import-layers/yocto-poky/meta/recipes-sato/sato-screenshot/sato-screenshot_git.bb
new file mode 100644
index 000000000..1b2b65dfc
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/sato-screenshot/sato-screenshot_git.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Ultra-simple screen capture utility, aimed at handheld devices"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://main.c;endline=9;md5=023e14d6404d0a961eb97cbd011fc141 \
+ file://screenshot-ui.h;endline=9;md5=638d9ffa83e9325a36df224166ed6ad0"
+
+DEPENDS = "matchbox-panel-2"
+SRCREV = "3a9688e8a01b63a78f402b4e7c0b8b005fcdfa29"
+PV = "0.1+git${SRCPV}"
+PR = "r2"
+
+SRC_URI = "git://git.yoctoproject.org/screenshot"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+FILES_${PN} += "${libdir}/matchbox-panel/*.so"
+
+do_install_append () {
+ rm ${D}${libdir}/matchbox-panel/*.la
+}
+
+# The matchbox-panel-2 requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/70settings-daemon.sh b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/70settings-daemon.sh
new file mode 100644
index 000000000..95374135f
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/70settings-daemon.sh
@@ -0,0 +1 @@
+/usr/bin/settings-daemon &
diff --git a/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/addsoundkeys.patch b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/addsoundkeys.patch
new file mode 100644
index 000000000..baf06d6b8
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/addsoundkeys.patch
@@ -0,0 +1,49 @@
+Upstream-Status: Pending
+
+Index: settings-daemon/settings-daemon.c
+===================================================================
+--- settings-daemon.orig/settings-daemon.c 2009-05-22 14:57:05.000000000 +0100
++++ settings-daemon/settings-daemon.c 2009-05-22 14:58:22.000000000 +0100
+@@ -187,6 +187,10 @@
+ GCONF_VALUE_STRING, translate_string_string },
+ { "/desktop/poky/interface/gtk_color_scheme", "Gtk/ColorScheme",
+ GCONF_VALUE_STRING, translate_string_string },
++ { "/desktop/gnome/sound/theme_name", "Net/SoundThemeName",
++ GCONF_VALUE_STRING, translate_string_string },
++ { "/desktop/gnome/sound/event_sounds", "Net/EnableEventSounds" ,
++ GCONF_VALUE_BOOL, translate_bool_int },
+ };
+
+ static const TranslationEntry*
+Index: settings-daemon/settings-daemon.schemas
+===================================================================
+--- settings-daemon.orig/settings-daemon.schemas 2009-05-22 15:49:17.000000000 +0100
++++ settings-daemon/settings-daemon.schemas 2009-05-22 15:51:31.000000000 +0100
+@@ -196,6 +196,27 @@
+ </locale>
+ </schema>
+
++ <schema>
++ <key>/schemas/desktop/gnome/sound/theme_name</key>
++ <applyto>/desktop/gnome/sound/theme_name</applyto>
++ <owner>gnome</owner>
++ <type>string</type>
++ <default>freedesktop</default>
++ <locale name="C">
++ <short>Sound Theme Name</short>
++ </locale>
++ </schema>
++
++ <schema>
++ <key>/schemas/desktop/gnome/sound/event_sounds</key>
++ <applyto>/desktop/gnome/sound/event_sounds</applyto>
++ <owner>gnome</owner>
++ <type>bool</type>
++ <default>true</default>
++ <locale name="C">
++ <short>Enable Sound Events</short>
++ </locale>
++ </schema>
+
+ </schemalist>
+ </gconfschemafile>
diff --git a/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..594374467
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Inappropriate [configuration]
+
+after gcc linking has changed, all the libraries must be explicitely specified to for linking.
+This patch avoids this linking error:
+
+| make all-am^M
+| make[1]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/settings-daemon-0.0+svnr2059-r3/settings-daemon'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o settings-daemon settings_daemon-xsettings-common.o settings_daemon-xsettings-manager.o settings_daemon-settings-daemon.o -pthread -lgconf-2 -ldbus-glib-1 -ldbus-1 -lpthread -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: *^A: invalid DSO for symbol `XCreateSimpleWindow' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[1]: *** [settings-daemon] Error 1^M
+| make[1]: Leaving directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/settings-daemon-0.0+svnr2059-r3/settings-daemon'^M
+| make: *** [all] Error 2^M
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Index: settings-daemon/configure.ac
+===================================================================
+--- settings-daemon.orig/configure.ac
++++ settings-daemon/configure.ac
+@@ -14,7 +14,7 @@ AC_PROG_CC
+
+
+ dnl TODO: make gconf optional
+-PKG_CHECK_MODULES(APP, [gconf-2.0 gdk-x11-2.0])
++PKG_CHECK_MODULES(APP, [gconf-2.0 gdk-x11-2.0 x11])
+
+
+ AC_SUBST(APP_CFLAGS)
diff --git a/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/settings-daemon_git.bb b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/settings-daemon_git.bb
new file mode 100644
index 000000000..c0615530a
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/settings-daemon/settings-daemon_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Provides a bridge between gconf and xsettings"
+HOMEPAGE = "http://svn.o-hand.com/view/matchbox/trunk/settings-daemon/"
+BUGTRACKER = "http://bugzilla.yoctoproject.org/"
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://xsettings-manager.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b \
+ file://xsettings-common.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b"
+DEPENDS = "gconf glib-2.0 gtk+"
+SECTION = "x11"
+SRCREV = "9a99528b02255450db81176abd9bbcc1dab9a4c1"
+PV = "0.0+git${SRCPV}"
+
+
+SRC_URI = "git://git.yoctoproject.org/xsettings-daemon \
+ file://addsoundkeys.patch;apply=yes \
+ file://70settings-daemon.sh \
+ file://dso_linking_change_build_fix.patch"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gconf distro_features_check
+
+FILES_${PN} = "${bindir}/* ${sysconfdir}"
+
+# Requires gdk-x11-2.0 which is provided by gtk when x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d
+ install -m 755 ${WORKDIR}/70settings-daemon.sh ${D}/${sysconfdir}/X11/Xsession.d/
+}
diff --git a/import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb b/import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb
new file mode 100644
index 000000000..ebdd6d123
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Provides an icon to shut down the system cleanly"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://shutdown.desktop"
+
+PR = "r1"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${D}${datadir}/applications
+ install -m 0644 shutdown.desktop ${D}${datadir}/applications/
+
+ sed -i ${D}${datadir}/applications/shutdown.desktop -e 's#^Exec=\(.*\)#Exec=${base_sbindir}/\1#'
+}
+
+pkg_postinst_${PN} () {
+ grep -q qemuarm $D${sysconfdir}/hostname && \
+ sed -i $D${datadir}/applications/shutdown.desktop -e 's#^Exec=\(.*\)/halt#Exec=\1/reboot#' \
+ || true
+}
+
+inherit allarch
diff --git a/import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop/shutdown.desktop b/import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop/shutdown.desktop
new file mode 100644
index 000000000..662659afc
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/shutdown-desktop/shutdown-desktop/shutdown.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Shutdown
+Comment=Close down the machine safely
+Exec=poweroff
+Icon=system-shutdown
+Terminal=false
+Categories=Utility;
+StartupNotify=true
diff --git a/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
new file mode 100644
index 000000000..fae3b0b2e
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
@@ -0,0 +1,27 @@
+From 317a5ac120c44987219bc03486cd2f2d1842c9b9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Oct 2015 16:02:19 +0200
+Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
+ from pkg-config with PKG_CONFIG_SYSROOT_DIR
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Source/cmake/FindGObjectIntrospection.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/cmake/FindGObjectIntrospection.cmake b/Source/cmake/FindGObjectIntrospection.cmake
+index e1f49b4..03a4446 100644
+--- a/Source/cmake/FindGObjectIntrospection.cmake
++++ b/Source/cmake/FindGObjectIntrospection.cmake
+@@ -26,6 +26,7 @@ macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname _extra_args)
+ else ()
+ string(REGEX REPLACE "[\r\n]" " " _result "${_result}")
+ string(REGEX REPLACE " +$" "" _result "${_result}")
++ string(CONCAT _result $ENV{PKG_CONFIG_SYSROOT_DIR} "${_result}")
+ separate_arguments(_result)
+ set(${_outvar} ${_result} CACHE INTERNAL "")
+ endif ()
+--
+2.1.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch b/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch
new file mode 100644
index 000000000..3d004db29
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch
@@ -0,0 +1,35 @@
+From 48648570e449cf7f84a26dc03c1e3f620fa69757 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 29 Feb 2016 18:13:39 +0200
+Subject: [PATCH] OptionsGTK.cmake: drop the hardcoded introspection/gtkdoc
+ disabling when cross-compiling
+
+This was not possible to override from the command line and in OpenEmbedded
+(one of the most prominent cross-compilation frameworks) introspection does work fine,
+through the use of qemu target emulation.
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Source/cmake/OptionsGTK.cmake | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
+index e5f1f5b..4698036 100644
+--- a/Source/cmake/OptionsGTK.cmake
++++ b/Source/cmake/OptionsGTK.cmake
+@@ -443,12 +443,6 @@ if (USE_LIBHYPHEN)
+ endif ()
+ endif ()
+
+-# Override the cached variables, gtk-doc and gobject-introspection do not really work when cross-building.
+-if (CMAKE_CROSSCOMPILING)
+- set(ENABLE_GTKDOC OFF)
+- set(ENABLE_INTROSPECTION OFF)
+-endif ()
+-
+ set(DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR ${DERIVED_SOURCES_DIR}/webkitdom)
+ set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk)
+ set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit)
+--
+2.7.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
new file mode 100644
index 000000000..44b43cdbb
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
@@ -0,0 +1,40 @@
+From bae9f73b2c693b5aa156fed717d6481b60682786 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 28 Oct 2015 14:18:57 +0200
+Subject: [PATCH] When building introspection files, add CMAKE_C_FLAGS to the
+ compiler flags.
+
+g-ir-compiler is using a C compiler internally, so it needs to set
+the proper flags for it.
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Source/WebKit2/PlatformGTK.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake
+index 706f1e8..14a1c3b 100644
+--- a/Source/WebKit2/PlatformGTK.cmake
++++ b/Source/WebKit2/PlatformGTK.cmake
+@@ -884,7 +884,7 @@ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS WebKit2
+ DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
+ LD_LIBRARY_PATH="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+ ${INTROSPECTION_SCANNER}
+ --quiet
+@@ -930,7 +930,7 @@ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
+- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
+ LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
+ LD_LIBRARY_PATH="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+ ${INTROSPECTION_SCANNER}
+--
+2.6.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
new file mode 100644
index 000000000..d7e4ef626
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
@@ -0,0 +1,39 @@
+From 0b68ad206d2d90df78d91cad4da19152084014cf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 16 Sep 2015 05:15:04 +0000
+Subject: [PATCH] Enable backtrace on linux when using glibc
+
+We dont have backtrace() implemented on non-glibc libc's on linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Accepted
+
+ Source/WTF/wtf/Assertions.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp
+index 191d53f..a4d86b5 100644
+--- a/Source/WTF/wtf/Assertions.cpp
++++ b/Source/WTF/wtf/Assertions.cpp
+@@ -68,7 +68,7 @@
+ #include <unistd.h>
+ #endif
+
+-#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
++#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
+ #include <cxxabi.h>
+ #include <dlfcn.h>
+ #include <execinfo.h>
+@@ -225,7 +225,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f
+
+ void WTFGetBacktrace(void** stack, int* size)
+ {
+-#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
++#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
+ *size = backtrace(stack, *size);
+ #elif OS(WINDOWS)
+ // The CaptureStackBackTrace function is available in XP, but it is not defined
+--
+2.5.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
new file mode 100644
index 000000000..77ebf37ef
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
@@ -0,0 +1,61 @@
+From 30e2ef302a329850ba55c7c458c98cbf396186ec Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Dec 2015 21:47:34 +0000
+Subject: [PATCH] Fix build with non-glibc libraries on linux
+
+qualify isnan() calls with std namespace
+malloc_trim is glibc specific API so guard it with __GLIBC__
+let ctype be used on non-glibc ( musl ) C library
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Accepted
+
+ Source/JavaScriptCore/runtime/Options.cpp | 2 +-
+ Source/WTF/wtf/DisallowCType.h | 2 +-
+ Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp | 2 ++
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Source/JavaScriptCore/runtime/Options.cpp b/Source/JavaScriptCore/runtime/Options.cpp
+index fe830b4..c49aade 100644
+--- a/Source/JavaScriptCore/runtime/Options.cpp
++++ b/Source/JavaScriptCore/runtime/Options.cpp
+@@ -610,7 +610,7 @@ bool Option::operator==(const Option& other) const
+ case Options::Type::unsignedType:
+ return m_entry.unsignedVal == other.m_entry.unsignedVal;
+ case Options::Type::doubleType:
+- return (m_entry.doubleVal == other.m_entry.doubleVal) || (isnan(m_entry.doubleVal) && isnan(other.m_entry.doubleVal));
++ return (m_entry.doubleVal == other.m_entry.doubleVal) || (std::isnan(m_entry.doubleVal) && std::isnan(other.m_entry.doubleVal));
+ case Options::Type::int32Type:
+ return m_entry.int32Val == other.m_entry.int32Val;
+ case Options::Type::optionRangeType:
+diff --git a/Source/WTF/wtf/DisallowCType.h b/Source/WTF/wtf/DisallowCType.h
+index d85e767..dc6bcab 100644
+--- a/Source/WTF/wtf/DisallowCType.h
++++ b/Source/WTF/wtf/DisallowCType.h
+@@ -40,7 +40,7 @@
+ // are used from wx headers. On GTK+ for Mac many GTK+ files include <libintl.h>
+ // or <glib/gi18n-lib.h>, which in turn include <xlocale/_ctype.h> which uses
+ // isacii().
+-#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION)
++#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION) && defined(__GLIBC__)
+
+ #include <ctype.h>
+
+diff --git a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
+index ea61909..1495642 100644
+--- a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
++++ b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
+@@ -202,7 +202,9 @@ void MemoryPressureHandler::respondToMemoryPressure(Critical critical, Synchrono
+ void MemoryPressureHandler::platformReleaseMemory(Critical)
+ {
+ ReliefLogger log("Run malloc_trim");
++#ifdef __GLIBC__
+ malloc_trim(0);
++#endif
+ }
+
+ void MemoryPressureHandler::ReliefLogger::platformLog()
+--
+2.6.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/clang.patch b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/clang.patch
new file mode 100644
index 000000000..e5267138b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk/clang.patch
@@ -0,0 +1,25 @@
+Clang's builtin for clear_cache accepts char* and errors out when using void*,
+using char* work on both gcc and clang since char* is auto-converted to void* in gcc case
+
+Source/JavaScriptCore/assembler/ARM64Assembler.h:2857:33: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'void *'
+ __builtin___clear_cache(reinterpret_cast<void*>(begin), reinterpret_cast<void*>(end));
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+1 error generated.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Accepted
+
+Index: webkitgtk-2.8.5/Source/JavaScriptCore/assembler/ARM64Assembler.h
+===================================================================
+--- webkitgtk-2.8.5.orig/Source/JavaScriptCore/assembler/ARM64Assembler.h
++++ webkitgtk-2.8.5/Source/JavaScriptCore/assembler/ARM64Assembler.h
+@@ -2854,7 +2854,7 @@ public:
+ #if OS(LINUX) && COMPILER(GCC)
+ static inline void linuxPageFlush(uintptr_t begin, uintptr_t end)
+ {
+- __builtin___clear_cache(reinterpret_cast<void*>(begin), reinterpret_cast<void*>(end));
++ __builtin___clear_cache(reinterpret_cast<char*>(begin), reinterpret_cast<char*>(end));
+ }
+ #endif
+
diff --git a/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb
new file mode 100644
index 000000000..8eb6b9f3b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb
@@ -0,0 +1,88 @@
+SUMMARY = "WebKit web rendering engine for the GTK+ platform"
+HOMEPAGE = "http://www.webkitgtk.org/"
+BUGTRACKER = "http://bugs.webkit.org/"
+
+LICENSE = "BSD & LGPLv2+"
+LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ "
+
+SRC_URI = "\
+ http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
+ file://clang.patch \
+ file://0001-Enable-backtrace-on-linux-when-using-glibc.patch \
+ file://0001-Fix-build-with-non-glibc-libraries-on-linux.patch \
+ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
+ file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
+ file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \
+ "
+SRC_URI[md5sum] = "84832b9d8329413b4f1d87df5f7e8efe"
+SRC_URI[sha256sum] = "990d62c82ed6dede31a6ff0a82d847f16b812842ff3e1093d17113627652864e"
+
+inherit cmake lib_package pkgconfig perlnative pythonnative distro_features_check upstream-version-is-even gobject-introspection
+
+# depends on libxt
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn gnutls \
+ gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \
+ pango icu bison-native gnome-common gawk intltool-native libwebp \
+ atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \
+ ruby-native libnotify gstreamer1.0-plugins-bad \
+ "
+
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \
+ ${@base_contains('DISTRO_FEATURES', 'opengl', 'webgl', '' ,d)} \
+ enchant \
+ gtk2 \
+ libsecret \
+ "
+
+PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland"
+PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11"
+PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
+PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant"
+PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+"
+PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
+PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
+PACKAGECONFIG[libsecret] = "-DENABLE_CREDENTIAL_STORAGE=ON,-DENABLE_CREDENTIAL_STORAGE=OFF,libsecret"
+PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
+
+EXTRA_OECMAKE = " \
+ -DPORT=GTK \
+ -DCMAKE_BUILD_TYPE=Release \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+ -DENABLE_GTKDOC=OFF \
+ -DENABLE_MINIBROWSER=ON \
+ "
+
+# Javascript JIT is not supported on powerpc
+EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF "
+
+# ARM JIT code does not build on ARMv5/6 anymore, apparently they test only on v7 onwards
+EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF "
+
+# binutils 2.25.1 has a bug on aarch64:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18430
+EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF "
+
+# JIT not supported on MIPS either
+EXTRA_OECMAKE_append_mips = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=OFF "
+
+FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
+
+# http://errors.yoctoproject.org/Errors/Details/20370/
+ARM_INSTRUCTION_SET = "arm"
+
+# Invalid data memory access: 0x00000000
+# ...
+# qemu: uncaught target signal 11 (Segmentation fault) - core dumped
+# Segmentation fault
+EXTRA_OECMAKE_append_powerpc = " -DENABLE_INTROSPECTION=OFF "
+
OpenPOWER on IntegriCloud