summaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-sato')
-rw-r--r--meta/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb33
-rw-r--r--meta/recipes-sato/clipboard-manager/files/daemonize.patch44
-rw-r--r--meta/recipes-sato/clipboard-manager/files/makefile.patch18
-rw-r--r--meta/recipes-sato/clipboard-manager/files/script.patch39
-rw-r--r--meta/recipes-sato/eds/eds-dbus-2.20.0/iconv-detect.h5
-rw-r--r--meta/recipes-sato/eds/eds-dbus-2.20.0/no_iconv_test.patch30
-rw-r--r--meta/recipes-sato/eds/eds-dbus-2.20.0/oh-contact.patch132
-rw-r--r--meta/recipes-sato/eds/eds-dbus/iconv-detect.h5
-rw-r--r--meta/recipes-sato/eds/eds-dbus/nossl.patch68
-rw-r--r--meta/recipes-sato/eds/eds-dbus/oh-contact.patch134
-rw-r--r--meta/recipes-sato/eds/eds-dbus/optional_imapx_provider.patch62
-rw-r--r--meta/recipes-sato/eds/eds-dbus/parallelmake.patch201
-rw-r--r--meta/recipes-sato/eds/eds-dbus_2.20.0.bb90
-rw-r--r--meta/recipes-sato/eds/eds-dbus_git.bb102
-rw-r--r--meta/recipes-sato/eds/eds-tools_bzr.bb13
-rw-r--r--meta/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml12
-rw-r--r--meta/recipes-sato/epdfview/epdfview/epdfview-ui.xml57
-rw-r--r--meta/recipes-sato/epdfview/epdfview/epdfview.desktop10
-rw-r--r--meta/recipes-sato/epdfview/epdfview/owl-menus.patch325
-rw-r--r--meta/recipes-sato/epdfview/epdfview_0.1.6.bb21
-rw-r--r--meta/recipes-sato/epdfview/epdfview_0.1.7.bb21
-rw-r--r--meta/recipes-sato/gaku/gaku_svn.bb26
-rw-r--r--meta/recipes-sato/gtk-engines/gtk-sato-engine.inc23
-rw-r--r--meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb14
-rw-r--r--meta/recipes-sato/images/poky-image-sato-directdisk.bb7
-rw-r--r--meta/recipes-sato/images/poky-image-sato-live.bb9
-rw-r--r--meta/recipes-sato/images/poky-image-sato.bb7
-rw-r--r--meta/recipes-sato/images/poky-image-sdk-live.bb9
-rw-r--r--meta/recipes-sato/images/poky-image-sdk.bb7
-rw-r--r--meta/recipes-sato/kf/files/fix-configure.patch25
-rw-r--r--meta/recipes-sato/kf/files/fix-desktop-file.patch20
-rw-r--r--meta/recipes-sato/kf/files/gcc4.patch30
-rw-r--r--meta/recipes-sato/kf/kf_0.5.4.1.bb16
-rw-r--r--meta/recipes-sato/leafpad/files/leafpad.desktop10
-rw-r--r--meta/recipes-sato/leafpad/files/owl-menu.patch61
-rw-r--r--meta/recipes-sato/leafpad/leafpad_0.8.17.bb28
-rw-r--r--meta/recipes-sato/libowl/libowl_svn.bb20
-rw-r--r--meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch33
-rw-r--r--meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_svn.bb20
-rw-r--r--meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb19
-rw-r--r--meta/recipes-sato/matchbox-desktop/matchbox-desktop_0.9.1.bb24
-rw-r--r--meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb11
-rw-r--r--meta/recipes-sato/matchbox-desktop/matchbox-desktop_svn.bb22
-rwxr-xr-xmeta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg23
-rw-r--r--meta/recipes-sato/matchbox-keyboard/files/configure_fix.patch13
-rw-r--r--meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_svn.bb60
-rw-r--r--meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_svn.bb36
-rw-r--r--meta/recipes-sato/matchbox-panel-2/startup_fix.diff17
-rw-r--r--meta/recipes-sato/matchbox-sato/matchbox-session-sato/session22
-rw-r--r--meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb53
-rw-r--r--meta/recipes-sato/matchbox-stroke/files/configure_fix.patch13
-rw-r--r--meta/recipes-sato/matchbox-stroke/matchbox-stroke_svn.bb21
-rw-r--r--meta/recipes-sato/matchbox-terminal/matchbox-terminal_svn.bb18
-rw-r--r--meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb9
-rw-r--r--meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc13
-rw-r--r--meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb5
-rw-r--r--meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb10
-rw-r--r--meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb25
-rw-r--r--meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb30
-rw-r--r--meta/recipes-sato/matchbox-themes-gtk/files/gtkrc1
-rw-r--r--meta/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb17
-rw-r--r--meta/recipes-sato/owl-video-widget/files/owl-video-widget.desktop10
-rw-r--r--meta/recipes-sato/owl-video-widget/files/owl-video-widget.pngbin0 -> 4923 bytes
-rw-r--r--meta/recipes-sato/owl-video-widget/files/stock_media-play.pngbin0 -> 329 bytes
-rw-r--r--meta/recipes-sato/owl-video-widget/files/stock_volume-0.pngbin0 -> 570 bytes
-rw-r--r--meta/recipes-sato/owl-video-widget/files/stock_volume-max.pngbin0 -> 689 bytes
-rw-r--r--meta/recipes-sato/owl-video-widget/files/stock_volume-med.pngbin0 -> 630 bytes
-rw-r--r--meta/recipes-sato/owl-video-widget/files/stock_volume-min.pngbin0 -> 570 bytes
-rw-r--r--meta/recipes-sato/owl-video-widget/libowl-av_svn.bb22
-rw-r--r--meta/recipes-sato/owl-video-widget/owl-video_svn.bb38
-rw-r--r--meta/recipes-sato/pcmanfm/files/cross-compile-fix.patch16
-rw-r--r--meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.pngbin0 -> 999 bytes
-rw-r--r--meta/recipes-sato/pcmanfm/files/gnome-fs-directory.pngbin0 -> 2044 bytes
-rw-r--r--meta/recipes-sato/pcmanfm/files/gnome-fs-regular.pngbin0 -> 3220 bytes
-rw-r--r--meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.pngbin0 -> 2855 bytes
-rw-r--r--meta/recipes-sato/pcmanfm/files/owl-window-menu.patch80
-rw-r--r--meta/recipes-sato/pcmanfm/pcmanfm_0.9.7.bb35
-rw-r--r--meta/recipes-sato/pimlico/contacts.inc31
-rw-r--r--meta/recipes-sato/pimlico/contacts/contacts-owl-window-menu.patch52
-rw-r--r--meta/recipes-sato/pimlico/contacts/stock_contact.pngbin0 -> 2311 bytes
-rw-r--r--meta/recipes-sato/pimlico/contacts/stock_person.pngbin0 -> 2280 bytes
-rw-r--r--meta/recipes-sato/pimlico/contacts_0.9.bb5
-rw-r--r--meta/recipes-sato/pimlico/contacts_git.bb17
-rw-r--r--meta/recipes-sato/pimlico/dates.inc20
-rw-r--r--meta/recipes-sato/pimlico/dates/dates-owl-window-menu.patch65
-rw-r--r--meta/recipes-sato/pimlico/dates_0.4.8.bb5
-rw-r--r--meta/recipes-sato/pimlico/dates_git.bb13
-rw-r--r--meta/recipes-sato/pimlico/tasks.inc16
-rw-r--r--meta/recipes-sato/pimlico/tasks/fix_pre-GTK+2.16.patch26
-rw-r--r--meta/recipes-sato/pimlico/tasks/tasks-owl.diff62
-rw-r--r--meta/recipes-sato/pimlico/tasks_0.16.bb14
-rw-r--r--meta/recipes-sato/pimlico/tasks_git.bb8
-rw-r--r--meta/recipes-sato/puzzles/files/makedist_hack.patch17
-rw-r--r--meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch198
-rw-r--r--meta/recipes-sato/puzzles/oh-puzzles_svn.bb69
-rw-r--r--meta/recipes-sato/puzzles/puzzles_r7593.bb53
-rw-r--r--meta/recipes-sato/sato-icon-theme/sato-icon-theme.inc24
-rw-r--r--meta/recipes-sato/sato-icon-theme/sato-icon-theme/iconpath-option.patch51
-rw-r--r--meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb6
-rw-r--r--meta/recipes-sato/screenshot/screenshot_svn.bb21
-rw-r--r--meta/recipes-sato/settings-daemon/files/70settings-daemon.sh1
-rw-r--r--meta/recipes-sato/settings-daemon/files/addsoundkeys.patch47
-rw-r--r--meta/recipes-sato/settings-daemon/settings-daemon_svn.bb26
-rw-r--r--meta/recipes-sato/tasks/task-poky-apps-x11-pimlico.bb31
-rw-r--r--meta/recipes-sato/tasks/task-poky-x11-sato.bb30
-rw-r--r--meta/recipes-sato/web/web-webkit/link-with-g++.patch32
-rw-r--r--meta/recipes-sato/web/web-webkit_svn.bb26
-rw-r--r--meta/recipes-sato/web/web/owl-window-menu.patch100
-rw-r--r--meta/recipes-sato/web/web_svn.bb16
109 files changed, 3532 insertions, 0 deletions
diff --git a/meta/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb b/meta/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb
new file mode 100644
index 0000000000..82dd1d047f
--- /dev/null
+++ b/meta/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb
@@ -0,0 +1,33 @@
+LICENSE = "GPL"
+DESCRIPTION = "clipboard manager"
+DEPENDS = "virtual/libx11"
+
+SRC_URI = "svn://stage.maemo.org/svn/maemo/projects/haf/tags/clipboard-manager/;module=${PV};proto=https \
+ file://makefile.patch;patch=1 \
+ file://script.patch;patch=1 \
+ file://daemonize.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/${PV}"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ mv ${D}/${sysconfdir}/X11/Xsession.d/clipboard.sh ${D}/${sysconfdir}/X11/Xsession.d/70clipboard
+ chmod u+x ${D}/${sysconfdir}/X11/Xsession.d/70clipboard
+}
+
+pkg_postinst_clipboard-manager () {
+#!/bin/sh -e
+if [ x"$D" = "x" ]; then
+ {
+ if [ x$(pidof clipboard-manager) != x ]; then
+ kill -TERM $(pidof clipboard-manager)
+ fi
+
+ ${sysconfdir}/X11/Xsession.d/70clipboard
+ } > /dev/null
+else
+ exit 1
+fi
+}
diff --git a/meta/recipes-sato/clipboard-manager/files/daemonize.patch b/meta/recipes-sato/clipboard-manager/files/daemonize.patch
new file mode 100644
index 0000000000..51ce4781a5
--- /dev/null
+++ b/meta/recipes-sato/clipboard-manager/files/daemonize.patch
@@ -0,0 +1,44 @@
+Index: 0.6.4/manager.c
+===================================================================
+--- 0.6.4.orig/manager.c 2007-06-28 12:23:37.000000000 +0100
++++ 0.6.4/manager.c 2007-06-28 12:36:14.000000000 +0100
+@@ -68,7 +68,8 @@
+ ClipboardManager *manager;
+ int terminated = False;
+ Display *display;
+-
++ pid_t pid;
++
+ display = XOpenDisplay (NULL);
+
+ if (!display)
+@@ -83,6 +84,29 @@
+ exit (1);
+ }
+
++ /* deamonize */
++ pid = fork();
++ switch (pid)
++ {
++ case -1: fprintf (stderr, "Fork failed.\n");
++ /* Fall through */
++ default: exit(0); break;
++ case 0: break;
++ }
++
++ chdir ("/");
++ setsid ();
++ umask (0);
++
++ pid = fork();
++ switch (pid)
++ {
++ case -1: fprintf (stderr, "Fork failed.\n");
++ /* Fall through */
++ default: exit(0); break;
++ case 0: break;
++ }
++
+ XSetErrorHandler (x_error);
+ manager = clipboard_manager_new (display,
+ error_trap_push, error_trap_pop,
diff --git a/meta/recipes-sato/clipboard-manager/files/makefile.patch b/meta/recipes-sato/clipboard-manager/files/makefile.patch
new file mode 100644
index 0000000000..6e48da004c
--- /dev/null
+++ b/meta/recipes-sato/clipboard-manager/files/makefile.patch
@@ -0,0 +1,18 @@
+Index: 0.6.4/Makefile.am
+===================================================================
+--- 0.6.4.orig/Makefile.am 2007-06-28 12:23:37.000000000 +0100
++++ 0.6.4/Makefile.am 2007-06-28 14:21:23.000000000 +0100
+@@ -1,5 +1,3 @@
+-SUBDIRS = debian
+-
+ bin_PROGRAMS = clipboard-manager
+
+ INCLUDES = \
+@@ -21,6 +19,6 @@
+ clipboard.txt \
+ clipboard.sh
+
+-servicedir = $(sysconfdir)/osso-af-init
++servicedir = $(sysconfdir)/X11/Xsession.d
+
+ service_DATA = clipboard.sh
diff --git a/meta/recipes-sato/clipboard-manager/files/script.patch b/meta/recipes-sato/clipboard-manager/files/script.patch
new file mode 100644
index 0000000000..09e68620d7
--- /dev/null
+++ b/meta/recipes-sato/clipboard-manager/files/script.patch
@@ -0,0 +1,39 @@
+Index: 0.6.4/clipboard.sh
+===================================================================
+--- 0.6.4.orig/clipboard.sh 2007-06-28 12:23:37.000000000 +0100
++++ 0.6.4/clipboard.sh 2007-06-28 14:27:39.000000000 +0100
+@@ -1,33 +1,2 @@
+ #!/bin/sh
+-# Clipboard persistence manager startup script
+-
+-if [ "x$AF_PIDDIR" = "x" ]; then
+- echo "$0: Error, AF_PIDDIR is not defined"
+- exit 2
+-fi
+-if [ "x$LAUNCHWRAPPER_NICE_TRYRESTART" = "x" ]; then
+- echo "$0: Error, LAUNCHWRAPPER_NICE_TRYRESTART is not defined"
+- exit 2
+-fi
+-if [ ! -w $AF_PIDDIR ]; then
+- echo "$0: Error, directory $AF_PIDDIR is not writable"
+- exit 2
+-fi
+-PROG=/usr/bin/clipboard-manager
+-SVC="clipboard-manager"
+-
+-case "$1" in
+-start) START=TRUE
+- ;;
+-stop) START=FALSE
+- ;;
+-*) echo "Usage: $0 {start|stop}"
+- exit 1
+- ;;
+-esac
+-
+-if [ $START = TRUE ]; then
+- source $LAUNCHWRAPPER_NICE_TRYRESTART start "$SVC" $PROG
+-else
+- source $LAUNCHWRAPPER_NICE_TRYRESTART stop "$SVC" $PROG
+-fi
++/usr/bin/clipboard-manager &
diff --git a/meta/recipes-sato/eds/eds-dbus-2.20.0/iconv-detect.h b/meta/recipes-sato/eds/eds-dbus-2.20.0/iconv-detect.h
new file mode 100644
index 0000000000..46f476d5bc
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus-2.20.0/iconv-detect.h
@@ -0,0 +1,5 @@
+/* This is an auto-generated header, DO NOT EDIT! */
+
+#define ICONV_ISO_D_FORMAT "iso-%d-%d"
+#define ICONV_ISO_S_FORMAT "iso-%d-%s"
+#define ICONV_10646 "iso-10646"
diff --git a/meta/recipes-sato/eds/eds-dbus-2.20.0/no_iconv_test.patch b/meta/recipes-sato/eds/eds-dbus-2.20.0/no_iconv_test.patch
new file mode 100644
index 0000000000..4a034b6c58
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus-2.20.0/no_iconv_test.patch
@@ -0,0 +1,30 @@
+Index: trunk/configure.in
+===================================================================
+--- trunk.orig/configure.in 2005-09-28 17:34:08.000000000 +0000
++++ trunk/configure.in 2005-09-28 19:13:22.000000000 +0000
+@@ -254,25 +221,6 @@
+ AC_SUBST(ICONV_CFLAGS)
+ AC_SUBST(ICONV_LIBS)
+
+-CFLAGS="$CFLAGS -I$srcdir"
+-
+-AC_MSG_CHECKING(preferred charset formats for system iconv)
+-AC_TRY_RUN([
+-#define CONFIGURE_IN
+-#include "iconv-detect.c"
+-],[
+- AC_MSG_RESULT(found)
+-],[
+- AC_MSG_RESULT(not found)
+- AC_WARN([
+- *** The iconv-detect program was unable to determine the
+- *** preferred charset formats recognized by your system
+- *** iconv library. It is suggested that you install a
+- *** working iconv library such as the one found at
+- *** ftp://ftp.gnu.org/pub/gnu/libiconv
+- ])
+-])
+-
+ CFLAGS="$save_CFLAGS"
+ LIBS="$save_LIBS"
+
diff --git a/meta/recipes-sato/eds/eds-dbus-2.20.0/oh-contact.patch b/meta/recipes-sato/eds/eds-dbus-2.20.0/oh-contact.patch
new file mode 100644
index 0000000000..e5c0f51840
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus-2.20.0/oh-contact.patch
@@ -0,0 +1,132 @@
+Index: addressbook/libedata-book/ximian-vcard.h
+===================================================================
+--- addressbook/libedata-book/ximian-vcard.h (revision 578)
++++ addressbook/libedata-book/ximian-vcard.h (working copy)
+@@ -1,80 +1,40 @@
+ #define XIMIAN_VCARD \
+ "BEGIN:VCARD\n" \
+-"X-EVOLUTION-FILE-AS:Novell Ximian Group\n" \
+-"ADR;TYPE=WORK:;Suite 500;8 Cambridge Center;Cambridge;MA;02142;USA\n" \
+-"LABEL;TYPE=WORK:8 Cambridge Center, Suite 500\\nCambridge\\, MA\\n02142\\nUSA\n" \
+-"TEL;WORK;VOICE:(617) 613-2000\n" \
+-"TEL;WORK;FAX:(617) 613-2001\n" \
+-"EMAIL;INTERNET:hello@ximian.com\n" \
+-"URL:http://www.ximian.com/\n" \
+-"ORG:Novell;Ximian Group\n" \
+-"PHOTO;ENCODING=b;TYPE=JPEG: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\n" \
++"VERSION:3.0\n" \
++"FN:OpenedHand Ltd\n" \
++"URL:http://www.o-hand.com/\n" \
++"EMAIL:info@openedhand.com\n" \
++"TEL;TYPE=VOICE:+44 208 819 6559\n" \
++"ADR;TYPE=WORK:;216 - 218 Homesdale Road;Unit R\, Homesdale Business Center;\n" \
++" Bromley;;BR1 2QZ;United Kingdom\n" \
++"LABEL:Unit R, Homesdale Business Center\\n216 - 218 Homesdale Road\\nBromley\\nBR1 2QZ\\nUnited Kingdom\n" \
++"PHOTO;ENCODING=b:iVBORw0KGgoAAAANSUhEUgAAAC0AAAA\n" \
++" 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\n" \
++" ArmsGAAAAAElFTkSuQmCC\n" \
+ "END:VCARD"
+Index: addressbook/backends/file/Makefile.am
+===================================================================
+--- addressbook/backends/file/Makefile.am (revision 578)
++++ addressbook/backends/file/Makefile.am (working copy)
+@@ -1,4 +1,5 @@
+ INCLUDES = \
++ -DCREATE_DEFAULT_VCARD \
+ -DG_LOG_DOMAIN=\"libebookbackend\" \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
diff --git a/meta/recipes-sato/eds/eds-dbus/iconv-detect.h b/meta/recipes-sato/eds/eds-dbus/iconv-detect.h
new file mode 100644
index 0000000000..46f476d5bc
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus/iconv-detect.h
@@ -0,0 +1,5 @@
+/* This is an auto-generated header, DO NOT EDIT! */
+
+#define ICONV_ISO_D_FORMAT "iso-%d-%d"
+#define ICONV_ISO_S_FORMAT "iso-%d-%s"
+#define ICONV_10646 "iso-10646"
diff --git a/meta/recipes-sato/eds/eds-dbus/nossl.patch b/meta/recipes-sato/eds/eds-dbus/nossl.patch
new file mode 100644
index 0000000000..30568ff075
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus/nossl.patch
@@ -0,0 +1,68 @@
+Index: git/camel/Makefile.am
+===================================================================
+--- git.orig/camel/Makefile.am 2010-02-05 15:25:09.000000000 +0000
++++ git/camel/Makefile.am 2010-02-05 15:25:20.000000000 +0000
+@@ -80,7 +80,6 @@
+ camel-store-summary.c \
+ camel-store.c \
+ camel-tcp-stream-raw.c \
+- camel-tcp-stream-ssl.c \
+ camel-tcp-stream.c \
+ camel-transport.c \
+ camel-uid-cache.c \
+@@ -133,7 +132,6 @@
+ camel-store-summary.h \
+ camel-store.h \
+ camel-tcp-stream-raw.h \
+- camel-tcp-stream-ssl.h \
+ camel-tcp-stream.h \
+ camel-transport.h \
+ camel-uid-cache.h \
+Index: git/camel/camel.h
+===================================================================
+--- git.orig/camel/camel.h 2010-02-05 15:26:30.000000000 +0000
++++ git/camel/camel.h 2010-02-05 15:26:52.000000000 +0000
+@@ -122,7 +122,6 @@
+ #include <camel/camel-string-utils.h>
+ #include <camel/camel-tcp-stream.h>
+ #include <camel/camel-tcp-stream-raw.h>
+-#include <camel/camel-tcp-stream-ssl.h>
+ #include <camel/camel-text-index.h>
+ #include <camel/camel-transport.h>
+ #include <camel/camel-trie.h>
+Index: git/camel/providers/imap/camel-imap-store.c
+===================================================================
+--- git.orig/camel/providers/imap/camel-imap-store.c 2010-02-05 15:28:19.000000000 +0000
++++ git/camel/providers/imap/camel-imap-store.c 2010-02-05 15:28:38.000000000 +0000
+@@ -51,7 +51,6 @@
+ #include "camel/camel-stream.h"
+ #include "camel/camel-string-utils.h"
+ #include "camel/camel-tcp-stream-raw.h"
+-#include "camel/camel-tcp-stream-ssl.h"
+ #include "camel/camel-url.h"
+ #include "camel/camel-utf8.h"
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2010-02-05 15:31:59.000000000 +0000
++++ git/configure.ac 2010-02-05 15:33:00.000000000 +0000
+@@ -1272,7 +1272,8 @@
+ dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
+ dnl libical is fixed, we have to work-around the buggy CFlags.
+ dnl *****
+- LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
++ m4_pattern_allow([^PKG_CONFIG_SYSROOT_DIR$])
++ LIBICAL_EXTRA_CFLAGS=" -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=includedir libical` "
+ LIBICAL_EXTRA_LIBS=""
+ AC_SUBST(LIBICAL_EXTRA_CFLAGS)
+ AC_SUBST(LIBICAL_EXTRA_LIBS)
+Index: git/calendar/libecal/libecal.pc.in
+===================================================================
+--- git.orig/calendar/libecal/libecal.pc.in 2010-02-05 15:39:41.000000000 +0000
++++ git/calendar/libecal/libecal.pc.in 2010-02-05 15:39:55.000000000 +0000
+@@ -12,4 +12,4 @@
+ Version: @VERSION@
+ Requires: libical >= @LIBICAL_REQUIRED@ libedataserver-1.2 dbus-glib-1
+ Libs: -L${libdir} -lecal-1.2
+-Cflags: -I${privincludedir} @LIBICAL_EXTRA_CFLAGS@
++Cflags: -I${privincludedir}
diff --git a/meta/recipes-sato/eds/eds-dbus/oh-contact.patch b/meta/recipes-sato/eds/eds-dbus/oh-contact.patch
new file mode 100644
index 0000000000..fdd7e4bdfb
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus/oh-contact.patch
@@ -0,0 +1,134 @@
+Index: addressbook/libedata-book/ximian-vcard.h
+===================================================================
+--- addressbook/libedata-book/ximian-vcard.h.orig 2010-02-05 14:57:14.000000000 +0000
++++ addressbook/libedata-book/ximian-vcard.h 2010-02-05 14:58:14.000000000 +0000
+@@ -1,80 +1,40 @@
+ #define XIMIAN_VCARD \
+ "BEGIN:VCARD\n" \
+-"X-EVOLUTION-FILE-AS:Novell Ximian Group\n" \
+-"ADR;TYPE=WORK:;Suite 500;8 Cambridge Center;Cambridge;MA;02142;USA\n" \
+-"LABEL;TYPE=WORK:8 Cambridge Center, Suite 500\\nCambridge\\, MA\\n02142\\nUSA\n" \
+-"TEL;WORK;VOICE:(617) 613-2000\n" \
+-"TEL;WORK;FAX:(617) 613-2001\n" \
+-"EMAIL;INTERNET:hello@ximian.com\n" \
+-"URL:http://www.ximian.com/\n" \
+-"ORG:Novell;Ximian Group\n" \
+-"PHOTO;ENCODING=b;TYPE=JPEG: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\n" \
++"VERSION:3.0\n" \
++"FN:OpenedHand Ltd\n" \
++"URL:http://www.o-hand.com/\n" \
++"EMAIL:info@openedhand.com\n" \
++"TEL;TYPE=VOICE:+44 208 819 6559\n" \
++"ADR;TYPE=WORK:;216 - 218 Homesdale Road;Unit R\, Homesdale Business Center;\n" \
++" Bromley;;BR1 2QZ;United Kingdom\n" \
++"LABEL:Unit R, Homesdale Business Center\\n216 - 218 Homesdale Road\\nBromley\\nBR1 2QZ\\nUnited Kingdom\n" \
++"PHOTO;ENCODING=b:iVBORw0KGgoAAAANSUhEUgAAAC0AAAA\n" \
++" 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\n" \
++" ArmsGAAAAAElFTkSuQmCC\n" \
+ "END:VCARD"
+Index: addressbook/backends/file/Makefile.am
+===================================================================
+--- addressbook/backends/file/Makefile.am.orig 2010-02-05 14:57:14.000000000 +0000
++++ addressbook/backends/file/Makefile.am 2010-02-05 14:59:10.000000000 +0000
+@@ -2,6 +2,7 @@
+
+ libebookbackendfile_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
++ -DCREATE_DEFAULT_VCARD \
+ -DG_LOG_DOMAIN=\"libebookbackend\" \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
diff --git a/meta/recipes-sato/eds/eds-dbus/optional_imapx_provider.patch b/meta/recipes-sato/eds/eds-dbus/optional_imapx_provider.patch
new file mode 100644
index 0000000000..128307a5f2
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus/optional_imapx_provider.patch
@@ -0,0 +1,62 @@
+Index: git/camel/providers/Makefile.am
+===================================================================
+--- git.orig/camel/providers/Makefile.am 2010-07-06 18:49:34.000000000 +0800
++++ git/camel/providers/Makefile.am 2010-07-08 17:23:56.000000000 +0800
+@@ -6,6 +6,10 @@
+ IMAP4_DIR=imap4
+ endif
+
++if ENABLE_IMAPX
++IMAPX_DIR=imapx
++endif
++
+ if ENABLE_HULA
+ HULA_DIR=hula
+ endif
+@@ -15,6 +19,6 @@
+ SENDMAIL_DIR=sendmail
+ endif
+
+-SUBDIRS = pop3 $(SENDMAIL_DIR) smtp imap imapx $(IMAP4_DIR) $(NNTP_DIR) local groupwise $(HULA_DIR)
++SUBDIRS = pop3 $(SENDMAIL_DIR) smtp imap $(IMAPX_DIR) $(IMAP4_DIR) $(NNTP_DIR) local groupwise $(HULA_DIR)
+
+ -include $(top_srcdir)/git.mk
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2010-07-08 17:24:36.000000000 +0800
++++ git/configure.ac 2010-07-08 17:32:06.000000000 +0800
+@@ -1002,6 +1002,26 @@
+ AM_CONDITIONAL(ENABLE_IMAP4, [test x$enable_imap4 = xyes])
+
+ dnl ******************************
++dnl IMAPX code support.
++dnl ******************************
++AC_ARG_ENABLE(imapx,
++ AS_HELP_STRING([--enable-imapx=no/yes],
++ [Attempt to compile yet another, incomplete, very unsupported IMAPv4r1 implementation]),
++ [],[enable_imapx=no])
++
++if test "x$enable_imapx" = "xyes"; then
++ AC_DEFINE(ENABLE_IMAPX,1,[Really don't try this at home])
++ AC_PATH_PROG(GPERF, gperf)
++ if test -z "$GPERF" ; then
++ AC_MSG_ERROR([You need gperf to compile imapx provider])
++ fi
++ msg_imapx=yes
++else
++ msg_imapx=no
++fi
++AM_CONDITIONAL(ENABLE_IMAPX, [test x$enable_imapx = xyes])
++
++dnl ******************************
+ dnl Hula support
+ dnl ******************************
+ AC_ARG_ENABLE([hula],
+@@ -1541,3 +1561,7 @@
+ if test "x$msg_hula" = "xyes"; then
+ echo "Hula support: $msg_hula"
+ fi
++
++if test "x$msg_imapx" = "xyes"; then
++ echo "IMAPX support: $msg_imapx"
++fi
diff --git a/meta/recipes-sato/eds/eds-dbus/parallelmake.patch b/meta/recipes-sato/eds/eds-dbus/parallelmake.patch
new file mode 100644
index 0000000000..08cfac0d83
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus/parallelmake.patch
@@ -0,0 +1,201 @@
+Update git.mk to the version from Pango which has parallel make fixes.
+http://git.gnome.org/browse/pango/log/git.mk
+commit 6118d5891fee776a087855c335a73c79fdaf036c
+
+RP 16/3/10
+
+Index: git/git.mk
+===================================================================
+--- git.orig/git.mk 2010-02-05 14:57:15.000000000 +0000
++++ git/git.mk 2010-03-16 11:30:23.000000000 +0000
+@@ -82,97 +82,106 @@
+ ### .gitignore generation
+
+ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
+- @echo Generating $@; \
+- GTKDOCGITIGNOREFILES=; \
+- test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x || \
+- GTKDOCGITIGNOREFILES=" \
+- $(DOC_MODULE)-decl-list.txt \
+- $(DOC_MODULE)-decl.txt \
+- tmpl/$(DOC_MODULE)-unused.sgml \
+- tmpl/*.bak \
+- xml html \
+- "; \
+- GNOMEDOCUTILSGITIGNOREFILES=; \
+- test "x$(DOC_MODULE)" = x -o "x$(DOC_LINGUAS)" = x || \
+- GNOMEDOCUTILSGITIGNOREFILES=" \
+- $(_DOC_C_DOCS) \
+- $(_DOC_LC_DOCS) \
+- $(_DOC_OMF_ALL) \
+- $(_DOC_DSK_ALL) \
+- $(_DOC_HTML_ALL) \
+- $(_DOC_POFILES) \
+- */.xml2po.mo \
+- */*.omf.out \
+- "; \
+- INTLTOOLGITIGNOREFILES=; test -f $(srcdir)/po/Makefile.in.in && \
+- INTLTOOLGITIGNOREFILES=" \
+- po/Makefile.in.in \
+- po/Makefile.in \
+- po/Makefile \
+- po/*.gmo \
+- po/*.mo \
+- po/POTFILES \
+- po/stamp-it \
+- po/.intltool-merge-cache \
+- intltool-extract.in \
+- intltool-merge.in \
+- intltool-update.in \
+- "; \
+- AUTOCONFGITIGNOREFILES=; test -f $(srcdir)/configure && \
+- AUTOCONFGITIGNOREFILES=" \
+- autom4te.cache \
+- configure \
+- config.h \
+- stamp-h1 \
+- libtool \
+- config.lt \
+- "; \
+- for x in \
+- .gitignore \
+- $$GTKDOCGITIGNOREFILES \
+- $$GNOMEDOCUTILSGITIGNOREFILES \
+- $$INTLTOOLGITIGNOREFILES \
+- $$AUTOCONFGITIGNOREFILES \
+- $(GITIGNOREFILES) \
+- $(CLEANFILES) \
+- $(PROGRAMS) \
+- $(EXTRA_PROGRAMS) \
+- $(LTLIBRARIES) \
+- so_locations \
+- .libs _libs \
+- $(MOSTLYCLEANFILES) \
+- "*.$(OBJEXT)" \
+- "*.lo" \
+- $(DISTCLEANFILES) \
+- $(am__CONFIG_DISTCLEAN_FILES) \
+- $(CONFIG_CLEAN_FILES) \
+- TAGS ID GTAGS GRTAGS GSYMS GPATH tags \
+- "*.tab.c" \
+- $(MAINTAINERCLEANFILES) \
+- $(BUILT_SOURCES) \
+- $(DEPDIR) \
+- Makefile \
+- Makefile.in \
+- "*.orig" \
+- "*.rej" \
+- "*.bak" \
+- "*~" \
+- ".*.sw[nop]" \
+- ; do echo /$$x; done | \
++ $(AM_V_GEN) \
++ { \
++ if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \
++ for x in \
++ $(DOC_MODULE)-decl-list.txt \
++ $(DOC_MODULE)-decl.txt \
++ tmpl/$(DOC_MODULE)-unused.sgml \
++ "tmpl/*.bak" \
++ xml html \
++ ; do echo /$$x; done; \
++ fi; \
++ if test "x$(DOC_MODULE)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \
++ for x in \
++ $(_DOC_C_DOCS) \
++ $(_DOC_LC_DOCS) \
++ $(_DOC_OMF_ALL) \
++ $(_DOC_DSK_ALL) \
++ $(_DOC_HTML_ALL) \
++ $(_DOC_POFILES) \
++ "*/.xml2po.mo" \
++ "*/*.omf.out" \
++ ; do echo /$$x; done; \
++ fi; \
++ if test -f $(srcdir)/po/Makefile.in.in; then \
++ for x in \
++ po/Makefile.in.in \
++ po/Makefile.in \
++ po/Makefile \
++ po/POTFILES \
++ po/stamp-it \
++ po/.intltool-merge-cache \
++ "po/*.gmo" \
++ "po/*.mo" \
++ po/$(GETTEXT_PACKAGE).pot \
++ intltool-extract.in \
++ intltool-merge.in \
++ intltool-update.in \
++ ; do echo /$$x; done; \
++ fi; \
++ if test -f $(srcdir)/configure; then \
++ for x in \
++ autom4te.cache \
++ configure \
++ config.h \
++ stamp-h1 \
++ libtool \
++ config.lt \
++ ; do echo /$$x; done; \
++ fi; \
++ for x in \
++ .gitignore \
++ $(GITIGNOREFILES) \
++ $(CLEANFILES) \
++ $(PROGRAMS) \
++ $(check_PROGRAMS) \
++ $(EXTRA_PROGRAMS) \
++ $(LTLIBRARIES) \
++ so_locations \
++ .libs _libs \
++ $(MOSTLYCLEANFILES) \
++ "*.$(OBJEXT)" \
++ "*.lo" \
++ $(DISTCLEANFILES) \
++ $(am__CONFIG_DISTCLEAN_FILES) \
++ $(CONFIG_CLEAN_FILES) \
++ TAGS ID GTAGS GRTAGS GSYMS GPATH tags \
++ "*.tab.c" \
++ $(MAINTAINERCLEANFILES) \
++ $(BUILT_SOURCES) \
++ $(DEPDIR) \
++ Makefile \
++ Makefile.in \
++ "*.orig" \
++ "*.rej" \
++ "*.bak" \
++ "*~" \
++ ".*.sw[nop]" \
++ ; do echo /$$x; done; \
++ } | \
+ sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \
+ sed 's@/[.]/@/@g' | \
+- LANG=C sort | uniq > $@.tmp && \
++ LC_ALL=C sort | uniq > $@.tmp && \
+ mv $@.tmp $@;
+
+-all: $(srcdir)/.gitignore gitignore-recurse
+-gitignore-recurse:
++all: $(srcdir)/.gitignore gitignore-recurse-maybe
++gitignore-recurse-maybe:
+ @if test "x$(SUBDIRS)" = "x$(DIST_SUBDIRS)"; then :; else \
+- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) .gitignore); \
+- done; \
++ $(MAKE) $(AM_MAKEFLAGS) gitignore-recurse; \
+ fi;
++gitignore-recurse:
++ @for subdir in $(DIST_SUBDIRS); do \
++ case " $(SUBDIRS) " in \
++ *" $$subdir "*) :;; \
++ *) test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) .gitignore gitignore-recurse || echo "Skipping $$subdir");; \
++ esac; \
++ done
++gitignore: $(srcdir)/.gitignore gitignore-recurse
++
+ maintainer-clean: gitignore-clean
+ gitignore-clean:
+ -rm -f $(srcdir)/.gitignore
+-.PHONY: gitignore-clean gitignore-recurse
+
++.PHONY: gitignore-clean gitignore gitignore-recurse gitignore-recurse-maybe
diff --git a/meta/recipes-sato/eds/eds-dbus_2.20.0.bb b/meta/recipes-sato/eds/eds-dbus_2.20.0.bb
new file mode 100644
index 0000000000..2cbc9037a9
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus_2.20.0.bb
@@ -0,0 +1,90 @@
+DESCRIPTION = "Evolution database backend server"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+
+DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup libglade"
+
+PR = "r1"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/mobile/2.23/2.23.92/sources/evolution-data-server-dbus-${PV}.tar.gz \
+ file://oh-contact.patch;patch=1;pnum=0 \
+ file://no_iconv_test.patch;patch=1 \
+ file://iconv-detect.h"
+
+S = "${WORKDIR}/evolution-data-server-dbus-${PV}"
+
+inherit autotools pkgconfig
+
+# -ldb needs this on some platforms
+LDFLAGS += "-lpthread"
+
+do_configure_append () {
+ cp ${WORKDIR}/iconv-detect.h ${S}
+}
+
+EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy \
+ --with-soup --with-libdb=${STAGING_DIR_HOST}${prefix} \
+ --disable-smime --disable-nss --disable-nntp --disable-gtk-doc"
+
+
+PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
+ libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
+ libedataserver libedataserver-dev \
+ libedataserverui libedataserverui-dev"
+
+FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
+FILES_${PN}-dbg =+ "${libdir}/evolution-data-server-*/camel-providers/.debug \
+ ${libdir}/evolution-data-server*/extensions/.debug/"
+RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
+
+FILES_libcamel = "${libexecdir}/camel-* ${libdir}/libcamel-*.so.* \
+ ${libdir}/libcamel-provider-*.so.* \
+ ${libdir}/evolution-data-server-*/camel-providers/*.so \
+ ${libdir}/evolution-data-server-*/camel-providers/*.urls"
+FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
+ ${libdir}/pkgconfig/camel*pc \
+ ${includedir}/evolution-data-server*/camel"
+
+FILES_libebook = "${libdir}/libebook-*.so.*"
+FILES_libebook-dev = "${libdir}/libebook-1.2.so \
+ ${libdir}/pkgconfig/libebook-*.pc \
+ ${includedir}/evolution-data-server*/libebook/*.h"
+RRECOMMENDS_libebook = "libedata-book"
+
+FILES_libecal = "${libdir}/libecal-*.so.* \
+ ${datadir}/evolution-data-server-1.4/zoneinfo"
+
+FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
+ ${includedir}/evolution-data-server*/libecal/*.h \
+ ${includedir}/evolution-data-server*/libical/*.h"
+RRECOMMENDS_libecal = "libedata-cal tzdata"
+
+FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
+ ${datadir}/dbus-1/services/*.AddressBook.service \
+ ${libdir}/libedata-book-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libebook*.so \
+ ${datadir}/evolution-data-server-1.4/weather/Locations.xml"
+FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
+ ${libdir}/pkgconfig/libedata-book-*.pc \
+ ${includedir}/evolution-data-server-*/libedata-book"
+
+FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
+ ${datadir}/dbus-1/services/*.Calendar.service \
+ ${libdir}/libedata-cal-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libecal*.so"
+FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
+ ${libdir}/pkgconfig/libedata-cal-*.pc \
+ ${includedir}/evolution-data-server-*/libedata-cal"
+
+FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
+FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
+ ${libdir}/pkgconfig/libedataserver-*.pc \
+ ${includedir}/evolution-data-server-*/libedataserver/*.h"
+
+FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
+FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
+ ${libdir}/pkgconfig/libedataserverui-*.pc \
+ ${includedir}/evolution-data-server-*/libedataserverui/*.h"
+
diff --git a/meta/recipes-sato/eds/eds-dbus_git.bb b/meta/recipes-sato/eds/eds-dbus_git.bb
new file mode 100644
index 0000000000..e11c91d5d7
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus_git.bb
@@ -0,0 +1,102 @@
+DESCRIPTION = "Evolution database backend server"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
+ file://camel/camel.h;endline=24;md5=b02175c88f821224746b347a89731a2b \
+ file://libedataserver/e-data-server-util.h;endline=23;md5=9df8127bd8cfdc5469e938fc710d1f40 \
+ file://calendar/libecal/e-cal.h;endline=24;md5=5d496b9b6fd2a4fdbbfc31ef9455c9d0"
+
+DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup-2.4 libglade libical gnome-keyring gperf-native"
+
+PV = "2.30+git${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://git.gnome.org/evolution-data-server;protocol=git \
+ file://oh-contact.patch;patch=1;pnum=0 \
+ file://nossl.patch;patch=1 \
+ file://optional_imapx_provider.patch;patch=1 \
+ file://iconv-detect.h"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+# -ldb needs this on some platforms
+LDFLAGS += "-lpthread"
+
+# Parallel make shows many issues with this source code.
+# Current problems seem to be duplicate execution of the calander/backends
+# directories by make resulting in truncated/corrupt .la files
+PARALLEL_MAKE = ""
+
+do_configure_prepend () {
+ echo "EXTRA_DIST = " > ${S}/gtk-doc.make
+}
+
+do_configure_append () {
+ cp ${WORKDIR}/iconv-detect.h ${S}
+}
+
+EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy \
+ --with-soup --with-libdb=${STAGING_DIR_HOST}${prefix} \
+ --disable-smime --disable-ssl --disable-nntp --disable-gtk-doc --without-weather"
+
+PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
+ libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
+ libedataserver libedataserver-dev \
+ libedataserverui libedataserverui-dev"
+
+FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
+FILES_${PN}-dbg =+ "${libdir}/evolution-data-server-*/camel-providers/.debug \
+ ${libdir}/evolution-data-server*/extensions/.debug/"
+RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
+
+FILES_libcamel = "${libexecdir}/camel-* ${libdir}/libcamel-*.so.* \
+ ${libdir}/libcamel-provider-*.so.* \
+ ${libdir}/evolution-data-server-*/camel-providers/*.so \
+ ${libdir}/evolution-data-server-*/camel-providers/*.urls"
+FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
+ ${libdir}/pkgconfig/camel*pc \
+ ${includedir}/evolution-data-server*/camel"
+
+FILES_libebook = "${libdir}/libebook-*.so.*"
+FILES_libebook-dev = "${libdir}/libebook-1.2.so \
+ ${libdir}/pkgconfig/libebook-*.pc \
+ ${includedir}/evolution-data-server*/libebook/*.h"
+RRECOMMENDS_libebook = "libedata-book"
+
+FILES_libecal = "${libdir}/libecal-*.so.* \
+ ${datadir}/evolution-data-server-1.4/zoneinfo"
+FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
+ ${includedir}/evolution-data-server*/libecal/*.h \
+ ${includedir}/evolution-data-server*/libical/*.h"
+RRECOMMENDS_libecal = "libedata-cal tzdata"
+
+FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
+ ${datadir}/dbus-1/services/*.AddressBook.service \
+ ${libdir}/libedata-book-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libebook*.so"
+FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
+ ${libdir}/pkgconfig/libedata-book-*.pc \
+ ${includedir}/evolution-data-server-*/libedata-book"
+
+FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
+ ${datadir}/dbus-1/services/*.Calendar.service \
+ ${libdir}/libedata-cal-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libecal*.so"
+FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
+ ${libdir}/pkgconfig/libedata-cal-*.pc \
+ ${includedir}/evolution-data-server-*/libedata-cal"
+
+FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
+FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
+ ${libdir}/pkgconfig/libedataserver-*.pc \
+ ${includedir}/evolution-data-server-*/libedataserver/*.h"
+
+FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
+FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
+ ${libdir}/pkgconfig/libedataserverui-*.pc \
+ ${includedir}/evolution-data-server-*/libedataserverui/*.h"
+
diff --git a/meta/recipes-sato/eds/eds-tools_bzr.bb b/meta/recipes-sato/eds/eds-tools_bzr.bb
new file mode 100644
index 0000000000..85e1c4b7c4
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-tools_bzr.bb
@@ -0,0 +1,13 @@
+LICENSE = "GPL"
+SECTION = "x11"
+DEPENDS = "dbus-glib eds-dbus"
+RDEPENDS = "libedata-book"
+DESCRIPTION = "Test applications for EDS"
+
+SRC_URI = "bzr://burtonini.com/bzr/${PN};proto=http"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/${PN}"
+
+FILES_${PN} += "${libdir}/evolution-data-server-1.2/extensions/*.so"
diff --git a/meta/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml b/meta/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml
new file mode 100644
index 0000000000..3ddf5147df
--- /dev/null
+++ b/meta/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml
@@ -0,0 +1,12 @@
+<ui>
+ <menubar name="MenuBar">
+ <menu name="TopMenu" action="Top">
+ <menu action="FileMenu">
+ <placeholder name="PrintPlaceHolder">
+ <separator/>
+ <menuitem name="Print" action="Print"/>
+ </placeholder>
+ </menu>
+ </menu>
+ </menubar>
+</ui>
diff --git a/meta/recipes-sato/epdfview/epdfview/epdfview-ui.xml b/meta/recipes-sato/epdfview/epdfview/epdfview-ui.xml
new file mode 100644
index 0000000000..602d86f903
--- /dev/null
+++ b/meta/recipes-sato/epdfview/epdfview/epdfview-ui.xml
@@ -0,0 +1,57 @@
+<ui>
+ <menubar name="MenuBar">
+ <menu name="TopMenu" action="Top">
+ <menu action="FileMenu">
+ <menuitem name="OpenFile" action="OpenFile"/>
+ <menuitem name="ReloadFile" action="ReloadFile"/>
+ <menuitem name="SaveFile" action="SaveFile"/>
+ <placeholder name="PrintPlaceHolder"/>
+ <separator/>
+ <menuitem name="Quit" action="Quit"/>
+ </menu>
+ <menu action="EditMenu">
+ <menuitem name="Find" action="Find"/>
+ <separator />
+ <menuitem name="Preferences" action="Preferences"/>
+ </menu>
+ <menu action="ViewMenu">
+ <menuitem name="ShowToolBar" action="ShowToolBar"/>
+ <menuitem name="ShowStatusBar" action="ShowStatusBar"/>
+ <menuitem name="ShowIndex" action="ShowIndex"/>
+ <separator/>
+ <menuitem name="ZoomIn" action="ZoomIn"/>
+ <menuitem name="ZoomOut" action="ZoomOut"/>
+ <menuitem name="ZoomFit" action="ZoomFit"/>
+ <menuitem name="ZoomWidth" action="ZoomWidth"/>
+ <separator />
+ <menuitem name="FullScreen" action="FullScreen"/>
+ <separator />
+ <menuitem name="RotateRight" action="RotateRight"/>
+ <menuitem name="RotateLeft" action="RotateLeft"/>
+ </menu>
+ <menu action="GoMenu">
+ <menuitem name="GoToFirstPage" action="GoToFirstPage"/>
+ <menuitem name="GoToPreviousPage" action="GoToPreviousPage"/>
+ <menuitem name="GoToNextPage" action="GoToNextPage"/>
+ <menuitem name="GoToLastPage" action="GoToLastPage"/>
+ </menu>
+ <menu action="HelpMenu">
+ <menuitem name="About" action="About"/>
+ </menu>
+ </menu>
+ </menubar>
+
+ <toolbar name="ToolBar">
+ <toolitem name="OpenFile" action="OpenFile"/>
+ <separator/>
+ <toolitem name="GoToPreviousPage" action="GoToPreviousPage"/>
+ <toolitem name="GoToNextPage" action="GoToNextPage"/>
+ <separator/>
+ <toolitem name="ZoomIn" action="ZoomIn"/>
+ <toolitem name="ZoomOut" action="ZoomOut"/>
+ <toolitem name="ZoomFit" action="ZoomFit"/>
+ <toolitem name="ZoomWidth" action="ZoomWidth"/>
+ </toolbar>
+
+ <accelerator name="SlashAccelerator" action="Slash"/>
+</ui>
diff --git a/meta/recipes-sato/epdfview/epdfview/epdfview.desktop b/meta/recipes-sato/epdfview/epdfview/epdfview.desktop
new file mode 100644
index 0000000000..d3bf06d2aa
--- /dev/null
+++ b/meta/recipes-sato/epdfview/epdfview/epdfview.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Categories=Viewer;Office;GTK;
+Comment=Lightweight PDF document viewer
+Exec=epdfview %f
+GenericName=PDF Viewer
+Icon=accessories-text-editor
+Name=PDF Viewer
+MimeType=application/pdf;
+Terminal=false
+Type=Application
diff --git a/meta/recipes-sato/epdfview/epdfview/owl-menus.patch b/meta/recipes-sato/epdfview/epdfview/owl-menus.patch
new file mode 100644
index 0000000000..755b71e7a4
--- /dev/null
+++ b/meta/recipes-sato/epdfview/epdfview/owl-menus.patch
@@ -0,0 +1,325 @@
+Index: epdfview-0.1.7/src/Makefile.am
+===================================================================
+--- epdfview-0.1.7.orig/src/Makefile.am 2010-07-13 12:30:44.014172385 +0100
++++ epdfview-0.1.7/src/Makefile.am 2010-07-13 12:30:48.780063260 +0100
+@@ -58,7 +58,7 @@
+ main.cxx
+
+ libshell_cxxflags = -I$(top_srcdir)/src/gtk $(GTK2_CFLAGS)
+-libshell_ldadd = $(GTK2_LIBS) $(top_builddir)/src/gtk/libshell-gtk.a
++libshell_ldadd = $(GTK2_LIBS) $(top_builddir)/src/gtk/libshell-gtk.a -lowl
+
+ epdfview_CXXFLAGS = \
+ -DLOCALEDIR='"$(datadir)/locale"' \
+Index: epdfview-0.1.7/src/gtk/MainView.cxx
+===================================================================
+--- epdfview-0.1.7.orig/src/gtk/MainView.cxx 2010-07-13 12:30:44.014172385 +0100
++++ epdfview-0.1.7/src/gtk/MainView.cxx 2010-07-13 12:30:48.782124540 +0100
+@@ -20,6 +20,7 @@
+ #include <string.h>
+ #include <gettext.h>
+ #include <gtk/gtk.h>
++#include <libowl/owlwindowmenu.h>
+ #include <epdfview.h>
+ #include "StockIcons.h"
+ #include "FindView.h"
+@@ -86,6 +87,7 @@
+ // The actions for menus and toolbars.
+ static const GtkActionEntry g_NormalEntries[] =
+ {
++ { "Top", NULL, "", NULL, NULL, NULL },
+ { "FileMenu", NULL, N_("_File"), NULL, NULL, NULL },
+ { "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL },
+ { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL },
+@@ -100,7 +102,7 @@
+ N_("Reload the current document"),
+ G_CALLBACK (main_window_reload_cb) },
+
+- { "SaveFile", GTK_STOCK_SAVE, N_("_Save a Copy..."), "<control>S",
++ { "SaveFile", GTK_STOCK_SAVE, N_("_Save a Copy..."), "<control>W",
+ N_("Save a copy of the current document"),
+ G_CALLBACK (main_window_save_file_cb) },
+
+@@ -110,11 +112,11 @@
+ G_CALLBACK (main_window_print_cb) },
+ #endif // HAVE_CUPS
+
+- { "Quit", GTK_STOCK_CLOSE, N_("_Close"), "<control>W",
++ { "Quit", GTK_STOCK_CLOSE, N_("_Close"), "<control>Q",
+ N_("Close this window"),
+ G_CALLBACK (main_window_quit_cb) },
+
+- { "Find", GTK_STOCK_FIND, N_("_Find"), "<control>F",
++ { "Find", GTK_STOCK_FIND, N_("_Find"), "<control>S",
+ N_("Find a word in the document"),
+ G_CALLBACK (main_window_find_cb) },
+
+@@ -138,19 +140,19 @@
+ N_("Rotate the document 90 degrees counter-clockwise"),
+ G_CALLBACK (main_window_rotate_left_cb) },
+
+- { "GoToFirstPage", GTK_STOCK_GOTO_FIRST, N_("_First Page"), "<control>Home",
++ { "GoToFirstPage", GTK_STOCK_GOTO_FIRST, N_("_First Page"), "<control>1",
+ N_("Go to the first page"),
+ G_CALLBACK (main_window_go_to_first_page_cb) },
+
+- { "GoToNextPage", GTK_STOCK_GO_FORWARD, N_("_Next Page"), "<Shift>Page_Down",
++ { "GoToNextPage", GTK_STOCK_GO_FORWARD, N_("_Next Page"), "<Shift>Down",
+ N_("Go to the next page"),
+ G_CALLBACK (main_window_go_to_next_page_cb) },
+
+- { "GoToPreviousPage", GTK_STOCK_GO_BACK, N_("_Previous Page"), "<Shift>Page_Up",
++ { "GoToPreviousPage", GTK_STOCK_GO_BACK, N_("_Previous Page"), "<Shift>Up",
+ N_("Go to the previous page"),
+ G_CALLBACK (main_window_go_to_previous_page_cb) },
+
+- { "GoToLastPage", GTK_STOCK_GOTO_LAST, N_("_Last Page"), "<control>End",
++ { "GoToLastPage", GTK_STOCK_GOTO_LAST, N_("_Last Page"), "<control>0",
+ N_("Go to the last page"),
+ G_CALLBACK (main_window_go_to_last_page_cb) },
+
+@@ -172,7 +174,7 @@
+
+ static GtkToggleActionEntry g_ToggleEntries[] =
+ {
+- { "FullScreen", NULL, N_("F_ull screen"), "F11",
++ { "FullScreen", NULL, N_("F_ull screen"), "<control>F",
+ N_("Toggle full screen window"),
+ G_CALLBACK (main_window_fullscreen_cb), FALSE },
+
+@@ -184,7 +186,7 @@
+ N_("Show or hide the statusbar"),
+ G_CALLBACK (main_window_show_statusbar_cb), TRUE },
+
+- { "ShowIndex", NULL, N_("Show I_ndex"), "F9",
++ { "ShowIndex", NULL, N_("Show I_ndex"), "<control>I",
+ N_("Show or hide the document's outline"),
+ G_CALLBACK (main_window_show_index_cb), FALSE },
+
+@@ -234,9 +236,8 @@
+ GtkAccelGroup *accelGroup = gtk_ui_manager_get_accel_group (m_UIManager);
+ gtk_window_add_accel_group (GTK_WINDOW (m_MainWindow), accelGroup);
+ // Add the menu bar and tool bar.
+- GtkWidget *menuBar = gtk_ui_manager_get_widget (m_UIManager, "/MenuBar");
+- gtk_box_pack_start (GTK_BOX (m_MainBox), menuBar, FALSE, FALSE, 0);
+- gtk_widget_show (menuBar);
++ owl_set_window_menu_item (GTK_WINDOW (m_MainWindow),
++ GTK_MENU_ITEM(gtk_ui_manager_get_widget(m_UIManager, "/MenuBar/TopMenu")));
+ GtkWidget *toolBar = gtk_ui_manager_get_widget (m_UIManager, "/ToolBar");
+ gtk_box_pack_start (GTK_BOX (m_MainBox), toolBar, FALSE, FALSE, 0);
+ // Add the current page tool item.
+@@ -285,7 +286,7 @@
+ MainView::activeZoomFit (gboolean active)
+ {
+ GtkAction *zoomFit =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomFit");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomFit");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (zoomFit), active);
+ }
+
+@@ -293,7 +294,7 @@
+ MainView::activeZoomWidth (gboolean active)
+ {
+ GtkAction *zoomWidth =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomWidth");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomWidth");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (zoomWidth), active);
+ }
+
+@@ -484,7 +485,7 @@
+ MainView::sensitiveFind (gboolean sensitive)
+ {
+ GtkAction *find =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/EditMenu/Find");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/EditMenu/Find");
+ gtk_action_set_sensitive (find, sensitive);
+ }
+
+@@ -492,7 +493,7 @@
+ MainView::sensitiveGoToFirstPage (gboolean sensitive)
+ {
+ GtkAction *goToFirstPage = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/GoMenu/GoToFirstPage");
++ "/MenuBar/TopMenu/GoMenu/GoToFirstPage");
+ gtk_action_set_sensitive (goToFirstPage, sensitive);
+ }
+
+@@ -500,7 +501,7 @@
+ MainView::sensitiveGoToLastPage (gboolean sensitive)
+ {
+ GtkAction *goToLastPage =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/GoMenu/GoToLastPage");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/GoMenu/GoToLastPage");
+ gtk_action_set_sensitive (goToLastPage, sensitive);
+ }
+
+@@ -508,7 +509,7 @@
+ MainView::sensitiveGoToNextPage (gboolean sensitive)
+ {
+ GtkAction *goToNextPage =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/GoMenu/GoToNextPage");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/GoMenu/GoToNextPage");
+ gtk_action_set_sensitive (goToNextPage, sensitive);
+ }
+
+@@ -522,7 +523,7 @@
+ MainView::sensitiveGoToPreviousPage (gboolean sensitive)
+ {
+ GtkAction *goToPreviousPage = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/GoMenu/GoToPreviousPage");
++ "/MenuBar/TopMenu/GoMenu/GoToPreviousPage");
+ gtk_action_set_sensitive (goToPreviousPage, sensitive);
+ }
+
+@@ -530,7 +531,7 @@
+ MainView::sensitiveOpen (gboolean sensitive)
+ {
+ GtkAction *open =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/OpenFile");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/OpenFile");
+ gtk_action_set_sensitive (open, sensitive);
+ }
+
+@@ -539,7 +540,7 @@
+ MainView::sensitivePrint (gboolean sensitive)
+ {
+ GtkAction *print = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/FileMenu/PrintPlaceHolder/Print");
++ "/MenuBar/TopMenu/FileMenu/PrintPlaceHolder/Print");
+ gtk_action_set_sensitive (print, sensitive);
+ }
+ #endif // HAVE_CUPS
+@@ -548,7 +549,7 @@
+ MainView::sensitiveReload (gboolean sensitive)
+ {
+ GtkAction *reload =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/ReloadFile");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/ReloadFile");
+ gtk_action_set_sensitive (reload, sensitive);
+ }
+
+@@ -556,7 +557,7 @@
+ MainView::sensitiveRotateLeft (gboolean sensitive)
+ {
+ GtkAction *rotateLeft =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/RotateLeft");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/RotateLeft");
+ gtk_action_set_sensitive (rotateLeft, sensitive);
+ }
+
+@@ -564,7 +565,7 @@
+ MainView::sensitiveRotateRight (gboolean sensitive)
+ {
+ GtkAction *rotateRight = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/RotateRight");
++ "/MenuBar/TopMenu/ViewMenu/RotateRight");
+ gtk_action_set_sensitive (rotateRight, sensitive);
+ }
+
+@@ -572,7 +573,7 @@
+ MainView::sensitiveSave (gboolean sensitive)
+ {
+ GtkAction *save =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/SaveFile");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/SaveFile");
+ gtk_action_set_sensitive (save, sensitive);
+ }
+
+@@ -586,7 +587,7 @@
+ MainView::sensitiveZoomIn (gboolean sensitive)
+ {
+ GtkAction *zoomIn =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomIn");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomIn");
+ gtk_action_set_sensitive (zoomIn, sensitive);
+ }
+
+@@ -594,7 +595,7 @@
+ MainView::sensitiveZoomOut (gboolean sensitive)
+ {
+ GtkAction *zoomOut =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomOut");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomOut");
+ gtk_action_set_sensitive (zoomOut, sensitive);
+ }
+
+@@ -602,7 +603,7 @@
+ MainView::sensitiveZoomFit (gboolean sensitive)
+ {
+ GtkAction *zoomFit =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomFit");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomFit");
+ gtk_action_set_sensitive (zoomFit, sensitive);
+ }
+
+@@ -610,7 +611,7 @@
+ MainView::sensitiveZoomWidth (gboolean sensitive)
+ {
+ GtkAction *zoomWidth =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomWidth");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomWidth");
+ gtk_action_set_sensitive (zoomWidth, sensitive);
+ }
+
+@@ -654,7 +655,7 @@
+ }
+ GtkAction *showIndex =
+ gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowIndex");
++ "/MenuBar/TopMenu/ViewMenu/ShowIndex");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (showIndex), show);
+ }
+
+@@ -695,13 +696,13 @@
+ gtk_window_fullscreen (GTK_WINDOW (m_MainWindow));
+ // Hide the menu bar, tool bar, status bar and the index bar. Then
+ // zoom to fit.
+- gtk_widget_hide (menuBar);
++// gtk_widget_hide (menuBar);
+ gtk_widget_hide (toolBar);
+ gtk_widget_hide (m_StatusBar);
+ gtk_widget_hide (m_Sidebar);
+ gtk_toggle_action_set_active (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ZoomFit")), TRUE);
++ "/MenuBar/TopMenu/ViewMenu/ZoomFit")), TRUE);
+ }
+ else
+ {
+@@ -711,15 +712,15 @@
+ // enabled.
+ main_window_show_index_cb (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowIndex")),
++ "/MenuBar/TopMenu/ViewMenu/ShowIndex")),
+ (gpointer)m_Pter);
+ main_window_show_statusbar_cb (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowStatusBar")),
++ "/MenuBar/TopMenu/ViewMenu/ShowStatusBar")),
+ (gpointer)m_Pter);
+ main_window_show_toolbar_cb (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowToolBar")),
++ "/MenuBar/TopMenu/ViewMenu/ShowToolBar")),
+ (gpointer)m_Pter);
+ }
+ }
+@@ -814,7 +815,7 @@
+ MainView::showStatusbar (gboolean show)
+ {
+ GtkAction *toggleAction = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowStatusBar");
++ "/MenuBar/TopMenu/ViewMenu/ShowStatusBar");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (toggleAction), show);
+ if ( show )
+ {
+@@ -830,7 +831,7 @@
+ MainView::showToolbar (gboolean show)
+ {
+ GtkAction *toggleAction = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowToolBar");
++ "/MenuBar/TopMenu/ViewMenu/ShowToolBar");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (toggleAction), show);
+ GtkWidget *toolBar = gtk_ui_manager_get_widget (m_UIManager, "/ToolBar");
+ if ( show )
diff --git a/meta/recipes-sato/epdfview/epdfview_0.1.6.bb b/meta/recipes-sato/epdfview/epdfview_0.1.6.bb
new file mode 100644
index 0000000000..a528474d9b
--- /dev/null
+++ b/meta/recipes-sato/epdfview/epdfview_0.1.6.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A minimal PDF viewer based on gtk and poppler"
+HOMEPAGE = "http://trac.emma-soft.com/epdfview/"
+LICENSE = "GPLv2"
+SECTION = "x11/applications"
+DEPENDS = "poppler gtk+ libowl"
+PR="r0"
+
+SRC_URI = "http://trac.emma-soft.com/epdfview/chrome/site/releases/epdfview-${PV}.tar.bz2 \
+ file://owl-menus.patch \
+ file://epdfview.desktop \
+ file://epdfview-ui.xml \
+ file://epdfview-ui-print.xml"
+
+inherit autotools gettext
+
+do_install_prepend() {
+ install ${WORKDIR}/epdfview-ui.xml ${S}/data/epdfview-ui.xml
+ install ${WORKDIR}/epdfview-ui-print.xml ${S}/data/epdfview-ui-print.xml
+ install ${WORKDIR}/epdfview.desktop ${S}/data/epdfview.desktop
+}
+
diff --git a/meta/recipes-sato/epdfview/epdfview_0.1.7.bb b/meta/recipes-sato/epdfview/epdfview_0.1.7.bb
new file mode 100644
index 0000000000..34e08bd140
--- /dev/null
+++ b/meta/recipes-sato/epdfview/epdfview_0.1.7.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A minimal PDF viewer based on gtk and poppler"
+HOMEPAGE = "http://trac.emma-soft.com/epdfview/"
+LICENSE = "GPLv2"
+SECTION = "x11/applications"
+DEPENDS = "poppler gtk+"
+PR="r0"
+
+SRC_URI = "http://trac.emma-soft.com/epdfview/chrome/site/releases/epdfview-${PV}.tar.bz2 \
+ file://owl-menus.patch;patch=1 \
+ file://epdfview.desktop \
+ file://epdfview-ui.xml \
+ file://epdfview-ui-print.xml"
+
+inherit autotools gettext
+
+do_install_prepend() {
+ install ${WORKDIR}/epdfview-ui.xml ${S}/data/epdfview-ui.xml
+ install ${WORKDIR}/epdfview-ui-print.xml ${S}/data/epdfview-ui-print.xml
+ install ${WORKDIR}/epdfview.desktop ${S}/data/epdfview.desktop
+}
+
diff --git a/meta/recipes-sato/gaku/gaku_svn.bb b/meta/recipes-sato/gaku/gaku_svn.bb
new file mode 100644
index 0000000000..a9a0b05552
--- /dev/null
+++ b/meta/recipes-sato/gaku/gaku_svn.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Music player"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://main.c;beginline=1;endline=20;md5=0c02b4ef945956832b37a036b9cc103a"
+DEPENDS = "gtk+ gstreamer libowl-av"
+
+RDEPENDS = "gst-plugins-base-audioconvert \
+ gst-plugins-base-audioresample \
+ gst-plugins-base-typefindfunctions \
+ gst-plugins-base-playbin"
+
+RRECOMMENDS = "gst-plugins-ugly-mad \
+ gst-plugins-good-id3demux \
+ gst-plugins-base-vorbis \
+ gst-plugins-base-alsa \
+ gst-plugins-base-ogg"
+
+PV = "0.0+svnr${SRCREV}"
+
+PR = "r3"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
diff --git a/meta/recipes-sato/gtk-engines/gtk-sato-engine.inc b/meta/recipes-sato/gtk-engines/gtk-sato-engine.inc
new file mode 100644
index 0000000000..a7ebddff99
--- /dev/null
+++ b/meta/recipes-sato/gtk-engines/gtk-sato-engine.inc
@@ -0,0 +1,23 @@
+DESCRIPTION = "Sato theme engine for GTK"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "LGPLv2.1 & LGPLv2+"
+
+SECTION = "x11/base"
+DEPENDS = "gtk+"
+RDEPENDS_gtk-theme-sato = "gtk-sato-engine"
+
+PACKAGES += "gtk-theme-sato"
+FILES_${PN} = "${libdir}/gtk-2.0/*/engines/*.so "
+FILES_${PN}-dev = "${libdir}/gtk-2.0/*/engines/*"
+FILES_${PN}-dbg = "${libdir}/gtk-2.0/*/engines/.debug"
+FILES_gtk-theme-sato = "${datadir}/icons ${datadir}/themes"
+
+inherit autotools pkgconfig
+
+do_configure_prepend() {
+ for i in `ls gtk-common`; do
+ ln -sf ../gtk-common/$i gtk2-engine/$i
+ done
+}
diff --git a/meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb b/meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb
new file mode 100644
index 0000000000..a7ee6c6e43
--- /dev/null
+++ b/meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.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"
+
+PV = "0.3.2+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=gtk-engine;proto=http"
+
+EXTRA_OECONF += "${@base_contains('MACHINE_FEATURES', 'qvga', '--with-mode=qvga', '',d)}"
+
+S = "${WORKDIR}/gtk-engine"
diff --git a/meta/recipes-sato/images/poky-image-sato-directdisk.bb b/meta/recipes-sato/images/poky-image-sato-directdisk.bb
new file mode 100644
index 0000000000..5fa20b6cad
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sato-directdisk.bb
@@ -0,0 +1,7 @@
+require recipes-core/images/poky-image-directdisk.inc
+
+DESCRIPTION = "Sato Direct Disk Image"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-sato-${MACHINE}.ext3"
+
+do_bootdirectdisk[depends] += "poky-image-sato:do_rootfs"
diff --git a/meta/recipes-sato/images/poky-image-sato-live.bb b/meta/recipes-sato/images/poky-image-sato-live.bb
new file mode 100644
index 0000000000..08e3441861
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sato-live.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "Sato Bootable Live Image"
+
+require recipes-core/images/poky-image-live.inc
+
+LABELS += "boot install"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-sato-${MACHINE}.ext3"
+
+do_bootimg[depends] += "poky-image-sato:do_rootfs"
diff --git a/meta/recipes-sato/images/poky-image-sato.bb b/meta/recipes-sato/images/poky-image-sato.bb
new file mode 100644
index 0000000000..58eb5d68c2
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sato.bb
@@ -0,0 +1,7 @@
+#
+# Copyright (C) 2007 OpenedHand Ltd.
+#
+
+IMAGE_FEATURES += "apps-console-core ${SATO_IMAGE_FEATURES}"
+
+inherit poky-image
diff --git a/meta/recipes-sato/images/poky-image-sdk-live.bb b/meta/recipes-sato/images/poky-image-sdk-live.bb
new file mode 100644
index 0000000000..06c56ee155
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sdk-live.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "Bootable Live SDK Image"
+
+require recipes-core/images/poky-image-live.inc
+
+LABELS += "boot install"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-sdk-${MACHINE}.ext3"
+
+do_bootimg[depends] += "poky-image-sdk:do_rootfs"
diff --git a/meta/recipes-sato/images/poky-image-sdk.bb b/meta/recipes-sato/images/poky-image-sdk.bb
new file mode 100644
index 0000000000..1df832a0b2
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sdk.bb
@@ -0,0 +1,7 @@
+#
+# Copyright (C) 2007 OpenedHand Ltd.
+#
+
+IMAGE_FEATURES += "apps-console-core ${SATO_IMAGE_FEATURES} tools-debug tools-profile tools-sdk dev-pkgs"
+
+inherit poky-image
diff --git a/meta/recipes-sato/kf/files/fix-configure.patch b/meta/recipes-sato/kf/files/fix-configure.patch
new file mode 100644
index 0000000000..fc1ad9a418
--- /dev/null
+++ b/meta/recipes-sato/kf/files/fix-configure.patch
@@ -0,0 +1,25 @@
+diff -urNd ../kf-0.5.4.1-r0/kf-0.5.4.1/configure.in kf-0.5.4.1/configure.in
+--- ../kf-0.5.4.1-r0/kf-0.5.4.1/configure.in 2005-04-27 19:42:49.000000000 +0100
++++ kf-0.5.4.1/configure.in 2005-09-29 14:12:32.000000000 +0100
+@@ -27,7 +27,7 @@
+ dnl AC_ARG_ENABLE(debug,)
+
+ dnl modules needed for package
+-MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.16"
++MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.16 libxml-2.0"
+ dnl MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.15.1"
+
+ dnl GtkSpell
+@@ -60,9 +60,9 @@
+ AC_DEFINE([HAVE_LM_CONNECTION_SET_JID],1,[We have lm_connection_set_jid])
+ fi
+
+-dnl XScreenSaver stuff...
+-AC_DEFINE([HAVE_XSCREENSAVER], [1], [Whether to support XScreenSaver extension])
+-PACKAGE_LIBS="$PACKAGE_LIBS -lXss -L/usr/X11R6/lib"
++#dnl XScreenSaver stuff...
++#AC_DEFINE([HAVE_XSCREENSAVER], [1], [Whether to support XScreenSaver extension])
++#PACKAGE_LIBS="$PACKAGE_LIBS -lXss -L/usr/X11R6/lib"
+
+ AC_SUBST(PACKAGE_CFLAGS)
+ AC_SUBST(PACKAGE_LIBS)
diff --git a/meta/recipes-sato/kf/files/fix-desktop-file.patch b/meta/recipes-sato/kf/files/fix-desktop-file.patch
new file mode 100644
index 0000000000..7a0f7d1bca
--- /dev/null
+++ b/meta/recipes-sato/kf/files/fix-desktop-file.patch
@@ -0,0 +1,20 @@
+Common subdirectories: kf-0.5.4.1.orig/data and kf-0.5.4.1/data
+diff -u kf-0.5.4.1.orig/kf.desktop kf-0.5.4.1/kf.desktop
+--- kf-0.5.4.1.orig/kf.desktop 2005-04-19 22:08:44.000000000 +0100
++++ kf-0.5.4.1/kf.desktop 2005-10-03 14:36:47.000000000 +0100
+@@ -1,6 +1,6 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+-Name=kf jabber client
++Name=Instant Messenger
+ Name[pl]=kf klient sieci jabber
+ Name[lt]=Pokalbi┼│ programa kf
+ GenericName=Instant Messenger
+@@ -11,5 +11,6 @@
+ Icon=kf.png
+ Terminal=false
+ Type=Application
+-Categories=GTK;Application;Network;
++Categories=GTK;PIM;Application;Network;
+ StartupNotify=true
++X-MB-SingleInstance=true
diff --git a/meta/recipes-sato/kf/files/gcc4.patch b/meta/recipes-sato/kf/files/gcc4.patch
new file mode 100644
index 0000000000..58727ea0e0
--- /dev/null
+++ b/meta/recipes-sato/kf/files/gcc4.patch
@@ -0,0 +1,30 @@
+Index: kf-0.5.4.1/src/jispman.c
+===================================================================
+--- kf-0.5.4.1.orig/src/jispman.c 2006-12-03 15:33:47.000000000 +0100
++++ kf-0.5.4.1/src/jispman.c 2006-12-03 15:35:01.000000000 +0100
+@@ -25,12 +25,6 @@
+ #include "emoticons.h"
+ #include "kf.h"
+
+-struct _KfJispManager {
+- GHashTable *jisps; /** A hash-table of all JISP pachages managed by this object, indexed by their filename */
+- GList *patterns; /** A list of patterns */
+-};
+-
+-
+ /**
+ * \brief create a new instance of KfJispManager
+ * \return a new instance of KfJispManager
+Index: kf-0.5.4.1/src/jispman.h
+===================================================================
+--- kf-0.5.4.1.orig/src/jispman.h 2006-12-03 15:33:47.000000000 +0100
++++ kf-0.5.4.1/src/jispman.h 2006-12-03 15:34:37.000000000 +0100
+@@ -25,6 +25,8 @@
+ #include "jisp.h"
+
+ typedef struct _KfJispManager {
++ GHashTable *jisps; /** A hash-table of all JISP pachages managed by this object, indexed by their filename */
++ GList *patterns; /** A list of patterns */
+ } KfJispManager;
+
+ /**
diff --git a/meta/recipes-sato/kf/kf_0.5.4.1.bb b/meta/recipes-sato/kf/kf_0.5.4.1.bb
new file mode 100644
index 0000000000..2baa6d46f7
--- /dev/null
+++ b/meta/recipes-sato/kf/kf_0.5.4.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Kf is a GTK+ instant messaging client."
+LICENSE = "GPL"
+DEPENDS = "libxml2 glib-2.0 gtk+ loudmouth libglade"
+PR = "r4"
+
+SRC_URI = "http://jabberstudio.2nw.net/${PN}/${PN}-${PV}.tar.gz \
+ file://fix-configure.patch;patch=1 \
+ file://fix-desktop-file.patch;patch=0 \
+ file://gcc4.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-binreloc"
+
+export PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config"
+
diff --git a/meta/recipes-sato/leafpad/files/leafpad.desktop b/meta/recipes-sato/leafpad/files/leafpad.desktop
new file mode 100644
index 0000000000..c7e2d5bb58
--- /dev/null
+++ b/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/meta/recipes-sato/leafpad/files/owl-menu.patch b/meta/recipes-sato/leafpad/files/owl-menu.patch
new file mode 100644
index 0000000000..acfc880307
--- /dev/null
+++ b/meta/recipes-sato/leafpad/files/owl-menu.patch
@@ -0,0 +1,61 @@
+--- 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/meta/recipes-sato/leafpad/leafpad_0.8.17.bb b/meta/recipes-sato/leafpad/leafpad_0.8.17.bb
new file mode 100644
index 0000000000..5407b9e996
--- /dev/null
+++ b/meta/recipes-sato/leafpad/leafpad_0.8.17.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Simple GTK+ Text Editor"
+HOMEPAGE = "http://tarot.freeshell.org/leafpad/"
+BUGTRACKER = ""
+
+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"
+DEPENDS_append_poky = " libowl"
+SRC_URI = "http://savannah.nongnu.org/download/${PN}/${PN}-${PV}.tar.gz \
+ file://leafpad.desktop"
+PR = "r0"
+
+SRC_URI_append_poky += " file://owl-menu.patch;apply=yes "
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --enable-chooser --disable-gtktest --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"
diff --git a/meta/recipes-sato/libowl/libowl_svn.bb b/meta/recipes-sato/libowl/libowl_svn.bb
new file mode 100644
index 0000000000..31a142c930
--- /dev/null
+++ b/meta/recipes-sato/libowl/libowl_svn.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "OpenedHand Widget Library"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+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+"
+PV = "0.0+svnr${SRCREV}"
+PR = "r6"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch b/meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch
new file mode 100644
index 0000000000..9ab51ecedc
--- /dev/null
+++ b/meta/recipes-sato/matchbox-config-gtk/files/no-handed.patch
@@ -0,0 +1,33 @@
+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/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_svn.bb b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_svn.bb
new file mode 100644
index 0000000000..af748f14ff
--- /dev/null
+++ b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_svn.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Matchbox GTK+ theme configuration application."
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://appearance/mb-appearance.c;endline=25;md5=ea92333cf8a6802639d62d874c114a28"
+
+DEPENDS = "gconf gtk+"
+RDEPENDS = "settings-daemon"
+
+PV = "0.0+svnr${SRCREV}"
+
+S = "${WORKDIR}/${PN}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+ file://no-handed.patch;patch=1;pnum=0"
+
+inherit autotools pkgconfig
+
diff --git a/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb b/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb
new file mode 100644
index 0000000000..bdae33d5a3
--- /dev/null
+++ b/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Sato desktop folders"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SECTION = "x11"
+DEPENDS = ""
+CONFLICTS = "matchbox-common"
+PV = "0.0+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=desktop-folders;proto=http"
+S = "${WORKDIR}/desktop-folders"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${datadir}"
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_0.9.1.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_0.9.1.bb
new file mode 100644
index 0000000000..0a02bb9f3d
--- /dev/null
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_0.9.1.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Matchbox Window Manager Desktop"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox startup-notification"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/0.9/matchbox-desktop-${PV}.tar.bz2"
+
+EXTRA_OECONF = "--enable-startup-notification --enable-dnotify"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir}/* \
+ ${datadir}/applications \
+ ${libdir}/matchbox/desktop/*.so \
+ ${datadir}/matchbox-desktop \
+ ${datadir}/pixmaps \
+ ${sysconfdir}/matchbox"
+
+FILES_${PN}-dev += "${libdir}/matchbox-desktop \
+ ${includedir}/matchbox-desktop \
+ ${libdir}/matchbox/desktop/*.*a \
+ ${datadir}/matchbox/desktop/modules/*a"
+
+FILES_${PN}-dbg += "${libdir}/matchbox/desktop/.debug/"
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb
new file mode 100644
index 0000000000..83d4d0b3fd
--- /dev/null
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Matchbox Window Manager Desktop"
+LICENSE = "GPL"
+DEPENDS = "gtk+ startup-notification"
+SECTION = "x11/wm"
+PR = "r1"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/2.0/matchbox-desktop-${PV}.tar.bz2"
+
+EXTRA_OECONF = "--enable-startup-notification"
+
+inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_svn.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_svn.bb
new file mode 100644
index 0000000000..324c81ff27
--- /dev/null
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_svn.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Matchbox Window Manager Desktop"
+HOMEPAGE = "http://matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+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"
+PV = "2.0+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN}-2;proto=http"
+
+EXTRA_OECONF = "--enable-startup-notification --with-dbus"
+
+S = "${WORKDIR}/${PN}-2"
+
+inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg
new file mode 100755
index 0000000000..43c5d3ed6a
--- /dev/null
+++ b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg
@@ -0,0 +1,23 @@
+#!/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
+ exec $CMD
+fi
diff --git a/meta/recipes-sato/matchbox-keyboard/files/configure_fix.patch b/meta/recipes-sato/matchbox-keyboard/files/configure_fix.patch
new file mode 100644
index 0000000000..52cea0e8f7
--- /dev/null
+++ b/meta/recipes-sato/matchbox-keyboard/files/configure_fix.patch
@@ -0,0 +1,13 @@
+Index: matchbox-window-manager/configure.ac
+===================================================================
+--- matchbox-window-manager.orig/configure.ac 2007-11-14 12:02:28.000000000 +0000
++++ matchbox-window-manager/configure.ac 2007-11-14 12:18:55.000000000 +0000
+@@ -283,7 +283,7 @@
+ yes)
+
+ case "$expat" in
+- yes)
++ yes|"")
+ EXPAT_LIBS="-lexpat"
+ ;;
+ *)
diff --git a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_svn.bb b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_svn.bb
new file mode 100644
index 0000000000..0425fec78a
--- /dev/null
+++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_svn.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "Matchbox virtual keyboard for X11"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://src/matchbox-keyboard.h;endline=20;md5=4ba16ff913ad245dd6d95a6c67f72526 \
+ file://applet/applet.c;endline=20;md5=e9201b3efa0a81a160b88d6feb5cf75b"
+
+DEPENDS = "libfakekey expat libxft gtk+ matchbox-panel-2"
+RDEPENDS = "formfactor dbus-wait"
+SECTION = "x11"
+PV = "0.0+svnr${SRCREV}"
+PR = "r4"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+ file://configure_fix.patch;patch=1;maxrev=1819 \
+ file://80matchboxkeyboard.shbg"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF = "--disable-cairo --enable-gtk-im --enable-applet"
+
+PACKAGES += "matchbox-keyboard-im matchbox-keyboard-im-dbg \
+ matchbox-keyboard-applet matchbox-keyboard-applet-dbg"
+
+FILES_${PN} = "${bindir}/* \
+ ${sysconfdir} \
+ ${datadir}/applications \
+ ${datadir}/pixmaps \
+ ${datadir}/matchbox-keyboard"
+
+FILES_matchbox-keyboard-im = "${libdir}/gtk-2.0/*/immodules/*.so"
+FILES_matchbox-keyboard-im-dbg += "${libdir}/gtk-2.0/*/immodules/.debug"
+
+FILES_matchbox-keyboard-applet = "${libdir}/matchbox-panel/*.so"
+FILES_matchbox-keyboard-applet-dbg += "${libdir}/matchbox-panel/.debug"
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d/
+ install -m 755 ${WORKDIR}/80matchboxkeyboard.shbg ${D}/${sysconfdir}/X11/Xsession.d/
+}
+
+pkg_postinst_matchbox-keyboard-im () {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
+
+pkg_postrm_matchbox-keyboard-im () {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
diff --git a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_svn.bb b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_svn.bb
new file mode 100644
index 0000000000..45998633f4
--- /dev/null
+++ b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_svn.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "A simple GTK+ based panel for handheld devices."
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+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"
+
+PRIORITY = "optional"
+DEPENDS = "gtk+ startup-notification dbus dbus-glib"
+DEPENDS += " ${@base_contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}"
+DEPENDS += " ${@base_contains("MACHINE_FEATURES", "apm", "apmd", "",d)}"
+
+PV = "0.0+svnr${SRCREV}"
+PR = "r5"
+
+RPROVIDES_${PN} = "matchbox-panel"
+RREPLACES_${PN} = "matchbox-panel"
+RCONFLICTS_${PN} = "matchbox-panel"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+ file://startup_fix.diff;patch=1"
+
+EXTRA_OECONF = "--enable-startup-notification --enable-dbus"
+EXTRA_OECONF += " ${@base_contains("MACHINE_FEATURES", "acpi", "--with-battery=acpi", "",d)}"
+EXTRA_OECONF += " ${@base_contains("MACHINE_FEATURES", "apm", "--with-battery=apm", "",d)}"
+
+S = "${WORKDIR}/${PN}"
+
+FILES_${PN} += "${libdir}/matchbox-panel/*.so \
+ ${datadir}/matchbox-panel/brightness/*.png \
+ ${datadir}/matchbox-panel/startup/*.png "
+FILES_${PN}-dbg += "${libdir}/matchbox-panel/.debug"
+
+inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-panel-2/startup_fix.diff b/meta/recipes-sato/matchbox-panel-2/startup_fix.diff
new file mode 100644
index 0000000000..9262d33eae
--- /dev/null
+++ b/meta/recipes-sato/matchbox-panel-2/startup_fix.diff
@@ -0,0 +1,17 @@
+Fixed the compile error caused by typo, upstream also need this.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: matchbox-panel-2/applets/startup/startup.c
+===================================================================
+--- matchbox-panel-2/applets/startup/startup.c (revision 2109)
++++ matchbox-panel-2/applets/startup/startup.c (working copy)
+@@ -229,7 +229,7 @@
+ applet = g_slice_new0 (StartupApplet);
+
+ applet->launch_list = NULL;
+- applet->hourglass_show = FALSE;
++ applet->hourglass_shown = FALSE;
+
+ /* Create image */
+ applet->image = MB_PANEL_SCALING_IMAGE
diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session b/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
new file mode 100644
index 0000000000..1a7e99c0a9
--- /dev/null
+++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+. /etc/formfactor/config
+
+if [ "$HAVE_TOUCHSCREEN" = "1" ]; then
+ SHOWCURSOR="no"
+else
+ SHOWCURSOR="yes"
+fi
+
+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,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/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
new file mode 100644
index 0000000000..5c01a13283
--- /dev/null
+++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
@@ -0,0 +1,53 @@
+DESCRIPTION = "Custom MB session files for poky"
+HOMEPAGE = "http://www.matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPL"
+
+SECTION = "x11"
+RDEPENDS = "formfactor gtk-sato-engine matchbox-theme-sato gtk-theme-sato matchbox-panel-2 matchbox-desktop-sato initscripts matchbox-session"
+PR = "r27"
+
+# This package is architecture specific because the session script is modified
+# based on the machine architecture.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+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} () {
+#!/bin/sh -e
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+. ${sysconfdir}/init.d/functions
+
+gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type string --set /desktop/poky/interface/theme Sato
+gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type string --set /desktop/poky/interface/icon_theme Sato
+gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type bool --set /desktop/poky/interface/touchscreen true
+
+if [ "`machine_id`" = "gta01" ]
+then
+ gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type string --set /desktop/poky/interface/font_name "Sans 6"
+else
+ gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type string --set /desktop/poky/interface/font_name "Sans 9"
+fi
+}
diff --git a/meta/recipes-sato/matchbox-stroke/files/configure_fix.patch b/meta/recipes-sato/matchbox-stroke/files/configure_fix.patch
new file mode 100644
index 0000000000..52cea0e8f7
--- /dev/null
+++ b/meta/recipes-sato/matchbox-stroke/files/configure_fix.patch
@@ -0,0 +1,13 @@
+Index: matchbox-window-manager/configure.ac
+===================================================================
+--- matchbox-window-manager.orig/configure.ac 2007-11-14 12:02:28.000000000 +0000
++++ matchbox-window-manager/configure.ac 2007-11-14 12:18:55.000000000 +0000
+@@ -283,7 +283,7 @@
+ yes)
+
+ case "$expat" in
+- yes)
++ yes|"")
+ EXPAT_LIBS="-lexpat"
+ ;;
+ *)
diff --git a/meta/recipes-sato/matchbox-stroke/matchbox-stroke_svn.bb b/meta/recipes-sato/matchbox-stroke/matchbox-stroke_svn.bb
new file mode 100644
index 0000000000..f3626557e3
--- /dev/null
+++ b/meta/recipes-sato/matchbox-stroke/matchbox-stroke_svn.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Matchbox stroke recogniser"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2"
+
+DEPENDS = "libfakekey expat libxft"
+SECTION = "x11/wm"
+PV = "0.0+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+ file://configure_fix.patch;patch=1;maxrev=1819 "
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig gettext
+
+FILES_${PN} = "${bindir}/* \
+ ${datadir}/applications \
+ ${datadir}/pixmaps \
+ ${datadir}/matchbox-stroke"
diff --git a/meta/recipes-sato/matchbox-terminal/matchbox-terminal_svn.bb b/meta/recipes-sato/matchbox-terminal/matchbox-terminal_svn.bb
new file mode 100644
index 0000000000..169223f84e
--- /dev/null
+++ b/meta/recipes-sato/matchbox-terminal/matchbox-terminal_svn.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Matchbox Terminal"
+HOMEPAGE = "http://www.matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://main.c;endline=20;md5=96e39176d9e355639a0b8b1c7a840820"
+
+DEPENDS = "gtk+ vte"
+SECTION = "x11/utils"
+PV = "0.0+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb
new file mode 100644
index 0000000000..30b632934e
--- /dev/null
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb
@@ -0,0 +1,9 @@
+require matchbox-theme-sato.inc
+
+DEPENDS = "matchbox-wm-2"
+PV = "0.1+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=matchbox-sato;proto=http"
+S = "${WORKDIR}/matchbox-sato"
+
+EXTRA_OECONF = "--disable-matchbox-1 --enable-matchbox-2"
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc
new file mode 100644
index 0000000000..032dc2d6d5
--- /dev/null
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Matchbox window manager Sato themes"
+HOMEPAGE = "http://www.matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "CCPL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aae86bb34b0a83716ca09f4e783d6ba4"
+
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${datadir}/themes"
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb
new file mode 100644
index 0000000000..74fb8cf65a
--- /dev/null
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb
@@ -0,0 +1,5 @@
+require matchbox-theme-sato.inc
+
+PR = "r0"
+
+SRC_URI = "http://pokylinux.org/releases/sato/matchbox-theme-sato-0.1.tar.gz"
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb
new file mode 100644
index 0000000000..7d492353bf
--- /dev/null
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb
@@ -0,0 +1,10 @@
+require matchbox-theme-sato.inc
+
+PV = "0.1+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=matchbox-sato;proto=http"
+
+EXTRA_OECONF += "${@base_contains('MACHINE_FEATURES', 'qvga', '--with-mode=qvga', '',d)}"
+
+S = "${WORKDIR}/matchbox-sato"
diff --git a/meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb b/meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb
new file mode 100644
index 0000000000..fb91f03b12
--- /dev/null
+++ b/meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Matchbox window manager extra themes"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-themes-extra/${PV}/matchbox-themes-extra-${PV}.tar.bz2"
+S = "${WORKDIR}/matchbox-themes-extra-${PV}"
+
+inherit autotools pkgconfig
+
+# split into several packages plus one meta package
+PACKAGES = "${PN} ${PN}-industrial ${PN}-expose ${PN}-mbcrystal"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+RDEPENDS_${PN} = "${PN}-industrial ${PN}-expose ${PN}-mbcrystal"
+
+FILES_${PN}-industrial = "${datadir}/themes/Industrial \
+ ${datadir}/icons/Industrial"
+
+FILES_${PN}-expose = "${datadir}/themes/expose \
+ ${datadir}/icons/expose"
+
+FILES_${PN}-mbcrystal = "${datadir}/themes/mbcrystal \
+ ${datadir}/icons/mbcrystal"
diff --git a/meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb b/meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb
new file mode 100644
index 0000000000..6a9f18beaf
--- /dev/null
+++ b/meta/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Matchbox window manager extra themes"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+PV = "0.3+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-themes-extra;proto=http"
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
+
+# split into several packages plus one meta package
+PACKAGES = "${PN} ${PN}-industrial ${PN}-expose ${PN}-mbcrystal ${PN}-clearlooks"
+
+ALLOW_EMPTY_${PN} = 1
+FILES_${PN} = ""
+RDEPENDS_${PN} = "${PN}-industrial ${PN}-expose ${PN}-mbcrystal ${PN}-clearlooks"
+
+FILES_${PN}-industrial = "${datadir}/themes/Industrial \
+ ${datadir}/icons/Industrial"
+
+FILES_${PN}-expose = "${datadir}/themes/expose \
+ ${datadir}/icons/expose"
+
+FILES_${PN}-mbcrystal = "${datadir}/themes/mbcrystal \
+ ${datadir}/icons/mbcrystal"
+
+FILES_${PN}-clearlooks = "${datadir}/themes/Clearlooks \
+ ${datadir}/icons/Clearlooks"
+
diff --git a/meta/recipes-sato/matchbox-themes-gtk/files/gtkrc b/meta/recipes-sato/matchbox-themes-gtk/files/gtkrc
new file mode 100644
index 0000000000..6dc40c0aa5
--- /dev/null
+++ b/meta/recipes-sato/matchbox-themes-gtk/files/gtkrc
@@ -0,0 +1 @@
+include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
diff --git a/meta/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb b/meta/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb
new file mode 100644
index 0000000000..60be56de13
--- /dev/null
+++ b/meta/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Gtk2 theme files to accompany default Matchbox themes"
+LICENSE = "GPL"
+DEPENDS = "gtk-engines"
+RDEPENDS = "matchbox-wm gtk-engine-clearlooks"
+SECTION = "x11/base"
+PR = "r2"
+
+SRC_URI = "file://gtkrc"
+
+FILES_${PN} = "${datadir}/themes"
+
+do_install() {
+ install -d ${D}${datadir}/themes/blondie/gtk-2.0
+ install -d ${D}${datadir}/themes/MBOpus/gtk-2.0
+ install -m 644 ${WORKDIR}/gtkrc ${D}${datadir}/themes/blondie/gtk-2.0/
+ install -m 644 ${WORKDIR}/gtkrc ${D}${datadir}/themes/MBOpus/gtk-2.0/
+}
diff --git a/meta/recipes-sato/owl-video-widget/files/owl-video-widget.desktop b/meta/recipes-sato/owl-video-widget/files/owl-video-widget.desktop
new file mode 100644
index 0000000000..e7af07ee64
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/files/owl-video-widget.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Video
+Exec=video
+Icon=video-player
+Terminal=false
+Type=Application
+Categories=AudioVideo;Video;Player;
+X-MB-SingleInstance=true
+StartupNotify=true
+Comment=Video Player
diff --git a/meta/recipes-sato/owl-video-widget/files/owl-video-widget.png b/meta/recipes-sato/owl-video-widget/files/owl-video-widget.png
new file mode 100644
index 0000000000..f463fe1864
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/files/owl-video-widget.png
Binary files differ
diff --git a/meta/recipes-sato/owl-video-widget/files/stock_media-play.png b/meta/recipes-sato/owl-video-widget/files/stock_media-play.png
new file mode 100644
index 0000000000..c2b9c582a1
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/files/stock_media-play.png
Binary files differ
diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-0.png b/meta/recipes-sato/owl-video-widget/files/stock_volume-0.png
new file mode 100644
index 0000000000..f3f57143d4
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/files/stock_volume-0.png
Binary files differ
diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-max.png b/meta/recipes-sato/owl-video-widget/files/stock_volume-max.png
new file mode 100644
index 0000000000..03f5a03b45
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/files/stock_volume-max.png
Binary files differ
diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-med.png b/meta/recipes-sato/owl-video-widget/files/stock_volume-med.png
new file mode 100644
index 0000000000..f774e42bb1
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/files/stock_volume-med.png
Binary files differ
diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-min.png b/meta/recipes-sato/owl-video-widget/files/stock_volume-min.png
new file mode 100644
index 0000000000..f3f57143d4
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/files/stock_volume-min.png
Binary files differ
diff --git a/meta/recipes-sato/owl-video-widget/libowl-av_svn.bb b/meta/recipes-sato/owl-video-widget/libowl-av_svn.bb
new file mode 100644
index 0000000000..be3469965a
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/libowl-av_svn.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "OpenedHand Widget Library Audio/Video"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac14b7ca45afea5af040da54db270eb0 \
+ file://libowl-av/owl-video-widget.h;endline=22;md5=0d4caab10952acdf470086c25c7f70c8 \
+ file://libowl-av/owl-audio-player.h;endline=22;md5=4af2d44f206a086f9f03881236f7390b"
+
+SECTION = "x11"
+DEPENDS = "gtk+ gstreamer gst-plugins-base"
+RDEPENDS = "gst-meta-base"
+RRECOMMENDS = "gst-meta-audio gst-meta-video"
+
+PV = "0.0+svnr${SRCREV}"
+PR = "r3"
+
+S = "${WORKDIR}/${PN}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http"
+
+inherit autotools pkgconfig
diff --git a/meta/recipes-sato/owl-video-widget/owl-video_svn.bb b/meta/recipes-sato/owl-video-widget/owl-video_svn.bb
new file mode 100644
index 0000000000..50027f5f20
--- /dev/null
+++ b/meta/recipes-sato/owl-video-widget/owl-video_svn.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "OpenedHand Widget Library video widget"
+HOMEPAGE = "http://o-hand.com/"
+BUGTRACKER = "http://bugzilla.o-hand.com/"
+LICENSE = "LGPLv2.1 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac14b7ca45afea5af040da54db270eb0 \
+ file://src/video.c;endline=22;md5=e8e9f23c3691c11af7d8fc03264ca9da \
+ file://src/bacon-volume.c;endline=20;md5=798804562b24e30bac482ba91c45e46d"
+SECTION = "x11"
+DEPENDS = "libowl-av"
+
+PV = "0.0+svnr${SRCREV}"
+PR = "r1"
+
+S = "${WORKDIR}/video"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=video;proto=http \
+ file://owl-video-widget.png \
+ file://stock_media-play.png \
+ file://stock_volume-0.png \
+ file://stock_volume-min.png \
+ file://stock_volume-med.png \
+ file://stock_volume-max.png \
+ file://owl-video-widget.desktop"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_media-play.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_volume-0.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_volume-min.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_volume-med.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_volume-max.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/owl-video-widget.png ${D}/${datadir}/pixmaps
+
+ install -d ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/owl-video-widget.desktop ${D}/${datadir}/applications
+}
diff --git a/meta/recipes-sato/pcmanfm/files/cross-compile-fix.patch b/meta/recipes-sato/pcmanfm/files/cross-compile-fix.patch
new file mode 100644
index 0000000000..2f654a5fb6
--- /dev/null
+++ b/meta/recipes-sato/pcmanfm/files/cross-compile-fix.patch
@@ -0,0 +1,16 @@
+pcmanfm need a binary xml-purge(from its own source code) to optimize size of
+data file, which cause build error on cross-compile environment. Simplely
+remove it to work aound this issue.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: pcmanfm-0.9.7/data/ui/Makefile.am
+===================================================================
+--- pcmanfm-0.9.7.orig/data/ui/Makefile.am 2010-07-29 15:10:18.000000000 +0800
++++ pcmanfm-0.9.7/data/ui/Makefile.am 2010-07-29 15:11:24.000000000 +0800
+@@ -21,4 +21,4 @@
+ # Purge GtkBuilder UI files
+ %.ui: %.glade
+ cp $< $@
+- $(top_builddir)/src/xml-purge $@
++# $(top_builddir)/src/xml-purge $@
diff --git a/meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.png b/meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.png
new file mode 100644
index 0000000000..b8e559456e
--- /dev/null
+++ b/meta/recipes-sato/pcmanfm/files/emblem-symbolic-link.png
Binary files differ
diff --git a/meta/recipes-sato/pcmanfm/files/gnome-fs-directory.png b/meta/recipes-sato/pcmanfm/files/gnome-fs-directory.png
new file mode 100644
index 0000000000..05921a6689
--- /dev/null
+++ b/meta/recipes-sato/pcmanfm/files/gnome-fs-directory.png
Binary files differ
diff --git a/meta/recipes-sato/pcmanfm/files/gnome-fs-regular.png b/meta/recipes-sato/pcmanfm/files/gnome-fs-regular.png
new file mode 100644
index 0000000000..ce77a8e62d
--- /dev/null
+++ b/meta/recipes-sato/pcmanfm/files/gnome-fs-regular.png
Binary files differ
diff --git a/meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.png b/meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.png
new file mode 100644
index 0000000000..bfe4bad56c
--- /dev/null
+++ b/meta/recipes-sato/pcmanfm/files/gnome-mime-text-plain.png
Binary files differ
diff --git a/meta/recipes-sato/pcmanfm/files/owl-window-menu.patch b/meta/recipes-sato/pcmanfm/files/owl-window-menu.patch
new file mode 100644
index 0000000000..f3d4e61a22
--- /dev/null
+++ b/meta/recipes-sato/pcmanfm/files/owl-window-menu.patch
@@ -0,0 +1,80 @@
+0.9.7 use a new menu bar from gtk_ui_manager, so need a translation here to
+enable owl menu
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: pcmanfm-0.9.7/configure.ac
+===================================================================
+--- pcmanfm-0.9.7.orig/configure.ac 2010-07-27 10:28:12.000000000 +0800
++++ pcmanfm-0.9.7/configure.ac 2010-07-27 18:03:42.000000000 +0800
+@@ -70,6 +70,8 @@
+
+ gtk_modules="gtk+-2.0 >= 2.16.0"
+ PKG_CHECK_MODULES(GTK, [$gtk_modules])
++OWL_LIBS="-lowl"
++GTK_LIBS="$GTK_LIBS $OWL_LIBS"
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+
+Index: pcmanfm-0.9.7/src/main-win.c
+===================================================================
+--- pcmanfm-0.9.7.orig/src/main-win.c 2010-07-27 10:56:08.000000000 +0800
++++ pcmanfm-0.9.7/src/main-win.c 2010-07-27 17:28:59.000000000 +0800
+@@ -36,6 +36,8 @@
+ #include "main-win.h"
+ #include "pref.h"
+
++#include "libowl/owlwindowmenu.h"
++
+ static void fm_main_win_finalize (GObject *object);
+ G_DEFINE_TYPE(FmMainWin, fm_main_win, GTK_TYPE_WINDOW);
+
+@@ -466,9 +468,27 @@
+ fm_main_win_chdir(win, path);
+ }
+
++/* Transfer gtk_ui_manager menubar to gtk menubar */
++static GtkWidget * ui_menubar_to_menu(GtkWidget *menubar)
++{
++ GtkWidget *main_menu;
++ GList *iter;
++
++ main_menu = gtk_menu_new();
++
++ for ( iter = gtk_container_get_children(GTK_CONTAINER(menubar));
++ iter;
++ iter = g_list_next(iter) )
++ {
++ GtkWidget *menu = GTK_WIDGET(iter->data);
++ gtk_widget_reparent(menu, main_menu);
++ }
++ return main_menu;
++}
++
+ static void fm_main_win_init(FmMainWin *self)
+ {
+- GtkWidget *vbox, *menubar, *toolitem, *scroll;
++ GtkWidget *vbox, *menubar, *owl_menubar, *toolitem, *scroll;
+ GtkUIManager* ui;
+ GtkActionGroup* act_grp;
+ GtkAction* act;
+@@ -537,7 +557,6 @@
+
+ self->popup = gtk_ui_manager_get_widget(ui, "/popup");
+
+- gtk_box_pack_start( (GtkBox*)vbox, menubar, FALSE, TRUE, 0 );
+ gtk_box_pack_start( (GtkBox*)vbox, self->toolbar, FALSE, TRUE, 0 );
+
+ /* load bookmarks menu */
+@@ -586,6 +605,11 @@
+ gtk_container_add( (GtkContainer*)self, vbox );
+ gtk_widget_show_all(vbox);
+
++ owl_menubar = ui_menubar_to_menu(menubar);
++ gtk_widget_show_all (owl_menubar);
++ owl_set_window_menu (GTK_WINDOW(self),
++ GTK_MENU(owl_menubar));
++
+ /* create new tab */
+ fm_main_win_add_tab(self, fm_path_get_home());
+ gtk_widget_grab_focus(self->folder_view);
diff --git a/meta/recipes-sato/pcmanfm/pcmanfm_0.9.7.bb b/meta/recipes-sato/pcmanfm/pcmanfm_0.9.7.bb
new file mode 100644
index 0000000000..46e46da685
--- /dev/null
+++ b/meta/recipes-sato/pcmanfm/pcmanfm_0.9.7.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Fast lightweight tabbed filemanager"
+HOMEPAGE = "http://pcmanfm.sourceforge.net/"
+BUGTRACKER = ""
+
+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"
+PRIORITY = "optional"
+DEPENDS = "gtk+ startup-notification libfm"
+DEPENDS_append_poky = " libowl"
+
+PR = "r0"
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|mips.*|powerpc.*)-(linux|freebsd.*)'
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/pcmanfm-${PV}.tar.gz \
+ file://gnome-fs-directory.png \
+ file://gnome-fs-regular.png \
+ file://gnome-mime-text-plain.png \
+ file://emblem-symbolic-link.png \
+ file://cross-compile-fix.patch"
+
+SRC_URI_append_poky = " file://owl-window-menu.patch;patch=1"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps
+}
diff --git a/meta/recipes-sato/pimlico/contacts.inc b/meta/recipes-sato/pimlico/contacts.inc
new file mode 100644
index 0000000000..a424295aca
--- /dev/null
+++ b/meta/recipes-sato/pimlico/contacts.inc
@@ -0,0 +1,31 @@
+DESCRIPTION = "Address-book application."
+HOMEPAGE = "http://pimlico-project.org/contacts.html"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2 & GPLv2+ & GPLv3+ "
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ eds-dbus"
+DEPENDS_append_poky = " libowl"
+RDEPENDS = "libedata-book"
+
+inherit autotools pkgconfig
+
+OWL = "--disable-owl"
+OWL_poky = "--enable-owl"
+
+EXTRA_OECONF += "--disable-gnome-vfs ${OWL}"
+EXTRA_OEMAKE += "GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1"
+
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_contact.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_person.png ${D}/${datadir}/pixmaps
+}
+
+FILES_${PN} += "${datadir}/pixmaps/stock_contact.png \
+ ${datadir}/pixmaps/stock_person.png"
+
+SRC_URI = "file://stock_contact.png \
+ file://stock_person.png"
+
+SRC_URI_append_poky = " file://contacts-owl-window-menu.patch;apply=yes "
diff --git a/meta/recipes-sato/pimlico/contacts/contacts-owl-window-menu.patch b/meta/recipes-sato/pimlico/contacts/contacts-owl-window-menu.patch
new file mode 100644
index 0000000000..4b9238b43a
--- /dev/null
+++ b/meta/recipes-sato/pimlico/contacts/contacts-owl-window-menu.patch
@@ -0,0 +1,52 @@
+Index: contacts-0.9/src/contacts-gtk.c
+===================================================================
+--- contacts-0.9.orig/src/contacts-gtk.c 2008-06-06 12:56:08.000000000 +0100
++++ contacts-0.9/src/contacts-gtk.c 2008-06-16 08:14:28.000000000 +0100
+@@ -220,8 +220,8 @@
+ vbox7 = gtk_vbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (main_window), vbox7);
+
+- main_menubar = gtk_menu_bar_new ();
+- gtk_box_pack_start (GTK_BOX (vbox7), main_menubar, FALSE, FALSE, 0);
++ main_menubar = gtk_menu_new ();
++ gtk_widget_show (main_menubar);
+
+ contacts_menu = gtk_menu_item_new_with_mnemonic (_("C_ontacts"));
+ gtk_container_add (GTK_CONTAINER (main_menubar), contacts_menu);
+Index: contacts-0.9/src/Makefile.am
+===================================================================
+--- contacts-0.9.orig/src/Makefile.am 2008-06-03 09:16:56.000000000 +0100
++++ contacts-0.9/src/Makefile.am 2008-06-16 08:15:34.000000000 +0100
+@@ -40,7 +40,7 @@
+ contacts-@FRONTEND@.c \
+ contacts-@FRONTEND@.h
+
+-contacts_LDADD = $(CONTACTS_LIBS) $(DBUS_LIBS)
++contacts_LDADD = $(CONTACTS_LIBS) $(DBUS_LIBS) -lowl
+
+ contacts_LDFLAGS = @CONTACTS_LIBS@ @DBUS_LIBS@
+
+Index: contacts-0.9/src/contacts-main.c
+===================================================================
+--- contacts-0.9.orig/src/contacts-main.c 2008-06-06 10:26:52.000000000 +0100
++++ contacts-0.9/src/contacts-main.c 2008-06-16 08:14:28.000000000 +0100
+@@ -27,6 +27,8 @@
+ #include <libgnomevfs/gnome-vfs.h>
+ #endif
+
++#include <libowl/owlwindowmenu.h>
++
+ #include "bacon-message-connection.h"
+ #include "contacts-defs.h"
+ #include "contacts-utils.h"
+@@ -266,6 +268,10 @@
+ gtk_widget_show_all (widget);
+ }
+
++ gtk_widget_show_all (data->ui->main_menubar);
++ owl_set_window_menu (GTK_WINDOW (data->ui->main_window),
++ GTK_MENU (data->ui->main_menubar));
++
+ gtk_main ();
+
+ /* if we have modified the current contact, but not saved it, do so now */
diff --git a/meta/recipes-sato/pimlico/contacts/stock_contact.png b/meta/recipes-sato/pimlico/contacts/stock_contact.png
new file mode 100644
index 0000000000..123b4485ac
--- /dev/null
+++ b/meta/recipes-sato/pimlico/contacts/stock_contact.png
Binary files differ
diff --git a/meta/recipes-sato/pimlico/contacts/stock_person.png b/meta/recipes-sato/pimlico/contacts/stock_person.png
new file mode 100644
index 0000000000..2b1328b4e2
--- /dev/null
+++ b/meta/recipes-sato/pimlico/contacts/stock_person.png
Binary files differ
diff --git a/meta/recipes-sato/pimlico/contacts_0.9.bb b/meta/recipes-sato/pimlico/contacts_0.9.bb
new file mode 100644
index 0000000000..1e4628737d
--- /dev/null
+++ b/meta/recipes-sato/pimlico/contacts_0.9.bb
@@ -0,0 +1,5 @@
+require contacts.inc
+
+PR = "r2"
+
+SRC_URI =+ "http://pimlico-project.org/sources/${PN}/${PN}-${PV}.tar.gz"
diff --git a/meta/recipes-sato/pimlico/contacts_git.bb b/meta/recipes-sato/pimlico/contacts_git.bb
new file mode 100644
index 0000000000..bff4e288db
--- /dev/null
+++ b/meta/recipes-sato/pimlico/contacts_git.bb
@@ -0,0 +1,17 @@
+require contacts.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://src/contacts-main.h;endline=20;md5=9dc3531c914fb6d6d4a8d1aee4519fef \
+ file://src/contacts-dbus.c;endline=20;md5=95e02d77f155fbd07a14dba3348b9b03 \
+ file://src/contacts-gtk.c;endline=23;md5=e1ee9b9e72045f2d3aa44cf17313b46e"
+
+PV = "0.12+git${SRCPV}"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+
+SRC_URI =+ "git://git.gnome.org/${PN};protocol=git"
+
+S = "${WORKDIR}/git"
+
+
diff --git a/meta/recipes-sato/pimlico/dates.inc b/meta/recipes-sato/pimlico/dates.inc
new file mode 100644
index 0000000000..6ef7b60611
--- /dev/null
+++ b/meta/recipes-sato/pimlico/dates.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "Dates is a calendar application."
+HOMEPAGE = "http://pimlico-project.org/dates.html"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2+"
+
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ libglade eds-dbus"
+RDEPENDS = "libedata-cal"
+
+inherit autotools pkgconfig gtk-icon-cache
+
+# Poky/Sato specific enhancements
+OWL = "--disable-owl"
+OWL_poky = "--enable-owl --disable-dnd"
+
+EXTRA_OECONF += "${OWL}"
+DEPENDS_append_poky = " libowl"
+SRC_URI_append_poky = " file://dates-owl-window-menu.patch;apply=yes "
+
diff --git a/meta/recipes-sato/pimlico/dates/dates-owl-window-menu.patch b/meta/recipes-sato/pimlico/dates/dates-owl-window-menu.patch
new file mode 100644
index 0000000000..d5901658be
--- /dev/null
+++ b/meta/recipes-sato/pimlico/dates/dates-owl-window-menu.patch
@@ -0,0 +1,65 @@
+---
+ src/dates_gtk.c | 5 -----
+ src/dates_main.c | 5 +++++
+ src/dates_platform.h | 2 +-
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+Index: git/src/dates_gtk.c
+===================================================================
+--- git.orig/src/dates_gtk.c 2009-08-18 12:44:56.000000000 +0100
++++ git/src/dates_gtk.c 2009-09-03 22:28:50.000000000 +0100
+@@ -33,10 +33,6 @@
+ #endif
+
+ #ifndef DATES_PLATFORM_create_main_window
+-/* the default implementation assumes that menu is GtkMenuBar */
+-#ifdef DATES_MENU_WITHOUT_BAR
+-#error Cannot use default create_main_window () if DATES_MENU_WITHOUT_BAR is defined !!!
+-#endif
+ static GtkWidget *
+ create_main_window (DatesData * d, GtkWidget * toolbar,
+ GtkWidget * menu, GtkAccelGroup * accel_group)
+@@ -59,7 +55,6 @@
+ gtk_container_add (GTK_CONTAINER (d->main_window), main_vbox);
+
+ gtk_widget_show (menu);
+- gtk_box_pack_start (GTK_BOX (main_vbox), menu, FALSE, FALSE, 0);
+
+ gtk_box_pack_end (GTK_BOX (main_vbox), toolbar, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (toolbar), 3);
+Index: git/src/dates_main.c
+===================================================================
+--- git.orig/src/dates_main.c 2009-08-18 12:44:56.000000000 +0100
++++ git/src/dates_main.c 2009-09-03 22:29:21.000000000 +0100
+@@ -26,6 +26,8 @@
+ #include <libical/icaltime.h>
+ #include <gconf/gconf-client.h>
+
++#include <gtk/gtkmenuitem.h>
++#include <libowl/owlwindowmenu.h>
+ #include "dates_types.h"
+ #include "dates_platform.h"
+ #include "dates_callbacks.h"
+@@ -582,6 +584,9 @@
+ g_free (url_uri);
+ }
+
++ owl_set_window_menu (GTK_WINDOW (data.main_window),
++ GTK_MENU (data.main_menu));
++
+ gtk_main ();
+
+ return 0;
+Index: git/src/dates_platform.h
+===================================================================
+--- git.orig/src/dates_platform.h 2009-08-18 12:44:56.000000000 +0100
++++ git/src/dates_platform.h 2009-09-03 22:28:50.000000000 +0100
+@@ -20,7 +20,7 @@
+
+ #include "dates_types.h"
+
+-#ifdef WITH_HILDON
++#if 1
+ #define DATES_MENU_WITHOUT_BAR 1
+ #endif
+
diff --git a/meta/recipes-sato/pimlico/dates_0.4.8.bb b/meta/recipes-sato/pimlico/dates_0.4.8.bb
new file mode 100644
index 0000000000..13afc157d0
--- /dev/null
+++ b/meta/recipes-sato/pimlico/dates_0.4.8.bb
@@ -0,0 +1,5 @@
+require dates.inc
+
+PR = "r3"
+
+SRC_URI = "http://pimlico-project.org/sources/dates/dates-${PV}.tar.gz"
diff --git a/meta/recipes-sato/pimlico/dates_git.bb b/meta/recipes-sato/pimlico/dates_git.bb
new file mode 100644
index 0000000000..49ca4eca86
--- /dev/null
+++ b/meta/recipes-sato/pimlico/dates_git.bb
@@ -0,0 +1,13 @@
+require dates.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://src/dates_view.h;endline=22;md5=29f934f356eb970309cdeb6693b3123a \
+ file://src/dates_hildon.c;endline=19;md5=63938904198b25de429abb65fbdbdb8a \
+ file://src/gconf-bridge.c;endline=22;md5=ad7626c6daf4aec590474a243f4912fa"
+
+PV = "0.4.11+git${SRCPV}"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://git.gnome.org/${PN};protocol=git"
diff --git a/meta/recipes-sato/pimlico/tasks.inc b/meta/recipes-sato/pimlico/tasks.inc
new file mode 100644
index 0000000000..7478408447
--- /dev/null
+++ b/meta/recipes-sato/pimlico/tasks.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Task list application"
+HOMEPAGE = "http://pimlico-project.org/tasks.html"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2 & GPLv2+"
+
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ eds-dbus"
+DEPENDS_append_poky = " libowl"
+
+inherit autotools pkgconfig gtk-icon-cache
+
+OWL ?= "--disable-owl"
+OWL_poky ?= "--enable-owl"
+
+EXTRA_OECONF += "${OWL}"
diff --git a/meta/recipes-sato/pimlico/tasks/fix_pre-GTK+2.16.patch b/meta/recipes-sato/pimlico/tasks/fix_pre-GTK+2.16.patch
new file mode 100644
index 0000000000..6c458d2601
--- /dev/null
+++ b/meta/recipes-sato/pimlico/tasks/fix_pre-GTK+2.16.patch
@@ -0,0 +1,26 @@
+commit ea52d46d691c5fce4473ea4e24a35411381f3a65
+Author: Ross Burton <ross@linux.intel.com>
+Date: Fri Aug 21 14:23:21 2009 +0100
+
+ Fix compilation on pre-GTK+ 2.16
+
+diff --git a/libkoto/koto-field-editor-factory.c b/libkoto/koto-field-editor-factory.c
+index bb776ab..d0e5328 100644
+--- a/libkoto/koto-field-editor-factory.c
++++ b/libkoto/koto-field-editor-factory.c
+@@ -132,6 +132,7 @@ entry_set (GtkWidget *widget, icalproperty *prop)
+ * URL entries.
+ */
+
++#if HAVE_DECL_GTK_ENTRY_SET_ICON_FROM_ICON_NAME
+ static void
+ url_entry_icon_clicked (GtkEntry *entry,
+ GtkEntryIconPosition icon_pos,
+@@ -146,7 +147,6 @@ url_entry_icon_clicked (GtkEntry *entry,
+ }
+ }
+
+-#if HAVE_DECL_GTK_ENTRY_SET_ICON_FROM_ICON_NAME
+ static void
+ on_url_entry_changed (GtkEntry *entry)
+ {
diff --git a/meta/recipes-sato/pimlico/tasks/tasks-owl.diff b/meta/recipes-sato/pimlico/tasks/tasks-owl.diff
new file mode 100644
index 0000000000..e4078066f5
--- /dev/null
+++ b/meta/recipes-sato/pimlico/tasks/tasks-owl.diff
@@ -0,0 +1,62 @@
+Index: src/gtk/tasks-ui.xml
+===================================================================
+--- src/gtk/tasks-ui.xml (revision 338)
++++ src/gtk/tasks-ui.xml (working copy)
+@@ -7,17 +7,14 @@
+ <menuitem action="EditTask"/>
+ <menuitem action="CompleteTask"/>
+ <separator/>
++ <menuitem action="Undo"/>
++ <menuitem action="Redo"/>
++ <separator/>
+ <menuitem action="DeleteTask"/>
+ <menuitem action="PurgeTasks"/>
+ <separator/>
++ <menuitem action="About"/>
+ <menuitem action="Quit"/>
+ </menu>
+- <menu action="EditMenu">
+- <menuitem action="Undo"/>
+- <menuitem action="Redo"/>
+- </menu>
+- <menu action="HelpMenu">
+- <menuitem action="About"/>
+- </menu>
+ </menubar>
+ </ui>
+Index: src/gtk/main.c
+===================================================================
+--- src/gtk/main.c (revision 338)
++++ src/gtk/main.c (working copy)
+@@ -21,6 +21,7 @@
+ #include <libecal/e-cal.h>
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
++#include <libowl/owlwindowmenu.h>
+
+ #include <libkoto/ical-util.h>
+ #include <libkoto/koto-actions.h>
+@@ -564,8 +565,8 @@
+ gtk_window_add_accel_group (GTK_WINDOW (window), gtk_ui_manager_get_accel_group (ui_manager));
+ gtk_ui_manager_ensure_update (ui_manager);
+
+- menu = gtk_ui_manager_get_widget (ui_manager, "/MenuBar");
+- gtk_box_pack_start (GTK_BOX (top_box), menu, FALSE, FALSE, 0);
++ menu = gtk_ui_manager_get_widget (ui_manager, "/MenuBar/TasksMenu");
++ owl_set_window_menu_item (GTK_WINDOW (window), GTK_MENU_ITEM (menu));
+
+ box = gtk_vbox_new (FALSE, 4);
+ gtk_container_set_border_width (GTK_CONTAINER (box), 4);
+Index: src/gtk/Makefile.am
+===================================================================
+--- src/gtk/Makefile.am (revision 338)
++++ src/gtk/Makefile.am (working copy)
+@@ -4,7 +4,7 @@
+ bin_PROGRAMS = tasks
+ tasks_CPPFLAGS = -I$(top_srcdir)/
+ tasks_CFLAGS = $(WARN_CFLAGS) $(GTK_CFLAGS) $(ECAL_CFLAGS) $(SEXY_CFLAGS)
+-tasks_LDADD = $(top_builddir)/libkoto/libkoto.a $(GTK_LIBS) $(ECAL_LIBS) $(SEXY_LIBS)
++tasks_LDADD = $(top_builddir)/libkoto/libkoto.a $(GTK_LIBS) $(ECAL_LIBS) $(SEXY_LIBS) -lowl
+
+ tasks_SOURCES = \
+ main.c \
diff --git a/meta/recipes-sato/pimlico/tasks_0.16.bb b/meta/recipes-sato/pimlico/tasks_0.16.bb
new file mode 100644
index 0000000000..999da76529
--- /dev/null
+++ b/meta/recipes-sato/pimlico/tasks_0.16.bb
@@ -0,0 +1,14 @@
+require tasks.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://src/gtk/main.c;endline=19;md5=8659d0b7fd68a2ad6ac30c6539ea5b82 \
+ file://src/omoko/openmoko-tasks.c;endline=20;md5=04d56a46863c9f4247694f40257a836a \
+ file://src/hildon/hildon-tasks.c;endline=21;md5=488ddf31dc14b2196dec7cc736211b52"
+
+SRC_URI = "http://pimlico-project.org/sources/${PN}/${PN}-${PV}.tar.gz \
+ file://fix_pre-GTK+2.16.patch;apply=yes \
+ "
+
+OWL_poky = "--with-owl"
+
+PR = "r0"
diff --git a/meta/recipes-sato/pimlico/tasks_git.bb b/meta/recipes-sato/pimlico/tasks_git.bb
new file mode 100644
index 0000000000..1ab8cd18cd
--- /dev/null
+++ b/meta/recipes-sato/pimlico/tasks_git.bb
@@ -0,0 +1,8 @@
+require tasks.inc
+
+SRC_URI = "git://git.gnome.org/${PN};protocol=git"
+
+PV = "0.13+git${SRCPV}"
+PR = "r1"
+
+S = "${WORKDIR}/git"
diff --git a/meta/recipes-sato/puzzles/files/makedist_hack.patch b/meta/recipes-sato/puzzles/files/makedist_hack.patch
new file mode 100644
index 0000000000..d07e066026
--- /dev/null
+++ b/meta/recipes-sato/puzzles/files/makedist_hack.patch
@@ -0,0 +1,17 @@
+---
+ makedist.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: puzzles/makedist.sh
+===================================================================
+--- puzzles.orig/makedist.sh 2007-05-17 11:49:59.000000000 +0100
++++ puzzles/makedist.sh 2007-05-17 12:07:39.000000000 +0100
+@@ -30,6 +30,8 @@ fi
+
+ perl mkfiles.pl
+
++exit 0
++
+ mkdir tmp.$$
+ mkdir tmp.$$/puzzles$arcsuffix
+
diff --git a/meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch b/meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch
new file mode 100644
index 0000000000..61da9191a8
--- /dev/null
+++ b/meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch
@@ -0,0 +1,198 @@
+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/meta/recipes-sato/puzzles/oh-puzzles_svn.bb b/meta/recipes-sato/puzzles/oh-puzzles_svn.bb
new file mode 100644
index 0000000000..5fcea24b37
--- /dev/null
+++ b/meta/recipes-sato/puzzles/oh-puzzles_svn.bb
@@ -0,0 +1,69 @@
+DESCRIPTION = "Portable Puzzle Collection"
+HOMEPAGE = "http://o-hand.com/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+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"
+DEPENDS_append_poky = " libowl"
+
+PV = "0.1+svnr${SRCREV}"
+PR = "r10"
+
+bindir = "/usr/games"
+
+inherit autotools pkgconfig
+
+SRC_URI = "svn://svn.o-hand.com/repos/;module=oh-puzzles;proto=http"
+SRC_URI_append_poky = " file://oh-puzzles-owl-menu.patch;patch=1;pnum=0 "
+
+S = "${WORKDIR}/${PN}"
+
+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}-dbg += "/usr/games/.debug/*"
+FILES_${PN}-extra = "/usr/games/ /usr/share/applications /etc/gconf/schemas"
+
+python __anonymous () {
+ import bb
+ var = bb.data.expand("FILES_${PN}", d, 1)
+ data = bb.data.getVar(var, d, 1)
+ 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
+ bb.data.setVar(var, data, d)
+}
diff --git a/meta/recipes-sato/puzzles/puzzles_r7593.bb b/meta/recipes-sato/puzzles/puzzles_r7593.bb
new file mode 100644
index 0000000000..eb1e009353
--- /dev/null
+++ b/meta/recipes-sato/puzzles/puzzles_r7593.bb
@@ -0,0 +1,53 @@
+
+DEPENDS = "gtk+ libxt"
+PR = "r8"
+MOD_PV = "${@bb.data.getVar('PV',d,1)[1:]}"
+
+#SRC_URI = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.tar.gz"
+SRC_URI = "svn://ixion.tartarus.org/main;module=puzzles;rev=${MOD_PV} \
+ file://makedist_hack.patch;patch=1"
+
+S = "${WORKDIR}/${PN}"
+
+do_configure () {
+ ./makedist.sh ${MOD_PV}
+}
+
+do_compile_prepend = " \
+ export XLDFLAGS='${LDFLAGS} `${STAGING_BINDIR_NATIVE}/pkg-config gtk+-2.0 --libs`'; \
+ export CFLAGS='${CFLAGS} -I./ `${STAGING_BINDIR_NATIVE}/pkg-config gtk+-2.0 --cflags`'; "
+
+FILES_${PN} = "${prefix}/games/* ${datadir}/applications/*"
+FILES_${PN}-dbg += "${prefix}/games/.debug"
+
+do_install () {
+ rm -rf ${D}/*
+ export prefix=${D}
+ export DESTDIR=${D}
+ install -d ${D}/${prefix}/
+ install -d ${D}/${prefix}/games/
+ oe_runmake install
+
+ install -d ${D}/${datadir}/
+ 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
+STOP
+ fi
+ done
+}
diff --git a/meta/recipes-sato/sato-icon-theme/sato-icon-theme.inc b/meta/recipes-sato/sato-icon-theme/sato-icon-theme.inc
new file mode 100644
index 0000000000..a1669c6f2e
--- /dev/null
+++ b/meta/recipes-sato/sato-icon-theme/sato-icon-theme.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "Sato Icon Theme"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "CCPL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=56a830bbe6e4697fe6cbbae01bb7c2b2"
+
+SECTION = "x11"
+DEPENDS = ""
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${datadir}"
+
+PACKAGE_ARCH = "all"
+
+EXTRA_OECONF += "--with-iconmap=${STAGING_LIBDIR_NATIVE}/../libexec/icon-name-mapping"
+
+pkg_postinst_${PN} () {
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ gtk-update-icon-cache -q /usr/share/icons/Sato
+}
diff --git a/meta/recipes-sato/sato-icon-theme/sato-icon-theme/iconpath-option.patch b/meta/recipes-sato/sato-icon-theme/sato-icon-theme/iconpath-option.patch
new file mode 100644
index 0000000000..cfa6a0dd18
--- /dev/null
+++ b/meta/recipes-sato/sato-icon-theme/sato-icon-theme/iconpath-option.patch
@@ -0,0 +1,51 @@
+pkg-config will only search the target sysroot and we want the native script. This
+patch adds an option to allow the path to the tool to be specified.
+
+RP - 12/8/10
+
+Index: sato-icon-theme-0.4.1/configure.ac
+===================================================================
+--- sato-icon-theme-0.4.1.orig/configure.ac 2010-08-12 12:23:25.000000000 +0100
++++ sato-icon-theme-0.4.1/configure.ac 2010-08-12 12:48:14.000000000 +0100
+@@ -11,20 +11,29 @@
+
+ UTILS_REQUIRED=0.8.2
+
+-AC_MSG_CHECKING([icon-naming-utils >= $UTILS_REQUIRED])
+-PKG_CHECK_EXISTS(icon-naming-utils >= $UTILS_REQUIRED,
+- have_utils=yes, have_utils=no)
+-if test "x$have_utils" = "xyes"; then
+- UTILS_PATH="`$PKG_CONFIG --variable=program_path icon-naming-utils`"
+- ICONMAP="$UTILS_PATH/icon-name-mapping"
+- AC_SUBST(ICONMAP)
+- AC_MSG_RESULT([yes])
+-else
+- AC_MSG_RESULT([no])
+- AC_MSG_ERROR([icon-naming-utils >= $UTILS_REQUIRED is required to build
+- and install sato-icon-theme])
++PKG_PROG_PKG_CONFIG()
++
++AC_ARG_WITH(iconmap,
++ AC_HELP_STRING([--with-iconmap=<dir>], [The location of the icon-name-mapping script to use]),
++ ICONMAP=$withval, ICONMAP="")
++
++if test "x$ICONMAP" = "x"; then
++ AC_MSG_CHECKING([icon-naming-utils >= $UTILS_REQUIRED])
++ PKG_CHECK_EXISTS(icon-naming-utils >= $UTILS_REQUIRED,
++ have_utils=yes, have_utils=no)
++ if test "x$have_utils" = "xyes"; then
++ UTILS_PATH="`$PKG_CONFIG --variable=program_path icon-naming-utils`"
++ ICONMAP="$UTILS_PATH/icon-name-mapping"
++
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ AC_MSG_ERROR([icon-naming-utils >= $UTILS_REQUIRED is required to build
++ and install sato-icon-theme])
++ fi
+ fi
+
++AC_SUBST(ICONMAP)
+
+ AC_CONFIG_FILES([
+ Makefile
diff --git a/meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb b/meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb
new file mode 100644
index 0000000000..aa976b1022
--- /dev/null
+++ b/meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb
@@ -0,0 +1,6 @@
+require sato-icon-theme.inc
+
+DEPENDS += "icon-naming-utils-native"
+
+SRC_URI = "http://pokylinux.org/releases/sato/${PN}-${PV}.tar.gz \
+ file://iconpath-option.patch"
diff --git a/meta/recipes-sato/screenshot/screenshot_svn.bb b/meta/recipes-sato/screenshot/screenshot_svn.bb
new file mode 100644
index 0000000000..a95ba2d54d
--- /dev/null
+++ b/meta/recipes-sato/screenshot/screenshot_svn.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "An ultra-simple screen capture utility, aimed at handheld devices"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+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"
+
+PRIORITY = "optional"
+DEPENDS = "matchbox-panel-2"
+PV = "0.0+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http"
+
+S = ${WORKDIR}/${PN}
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${libdir}/matchbox-panel/*.so"
+FILES_${PN}-dbg += "${libdir}/matchbox-panel/.debug"
diff --git a/meta/recipes-sato/settings-daemon/files/70settings-daemon.sh b/meta/recipes-sato/settings-daemon/files/70settings-daemon.sh
new file mode 100644
index 0000000000..95374135f2
--- /dev/null
+++ b/meta/recipes-sato/settings-daemon/files/70settings-daemon.sh
@@ -0,0 +1 @@
+/usr/bin/settings-daemon &
diff --git a/meta/recipes-sato/settings-daemon/files/addsoundkeys.patch b/meta/recipes-sato/settings-daemon/files/addsoundkeys.patch
new file mode 100644
index 0000000000..e06f02917b
--- /dev/null
+++ b/meta/recipes-sato/settings-daemon/files/addsoundkeys.patch
@@ -0,0 +1,47 @@
+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/meta/recipes-sato/settings-daemon/settings-daemon_svn.bb b/meta/recipes-sato/settings-daemon/settings-daemon_svn.bb
new file mode 100644
index 0000000000..4d1d9baf40
--- /dev/null
+++ b/meta/recipes-sato/settings-daemon/settings-daemon_svn.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Settings-daemon provides a bridge between gconf and xsettings"
+HOMEPAGE = "http://svn.o-hand.com/view/matchbox/trunk/settings-daemon/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+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"
+PV = "0.0+svnr${SRCREV}"
+
+PR = "r3"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+ file://addsoundkeys.patch;apply=yes \
+ file://70settings-daemon.sh"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig gconf
+
+FILES_${PN} = "${bindir}/* ${sysconfdir}"
+
+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/meta/recipes-sato/tasks/task-poky-apps-x11-pimlico.bb b/meta/recipes-sato/tasks/task-poky-apps-x11-pimlico.bb
new file mode 100644
index 0000000000..651d481893
--- /dev/null
+++ b/meta/recipes-sato/tasks/task-poky-apps-x11-pimlico.bb
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2007-2008 OpenedHand Ltd.
+#
+
+DESCRIPTION = "X11 Pimlico Appications List"
+LICENSE = "MIT"
+PR = "r27"
+
+PACKAGES = "\
+ task-poky-apps-x11-pimlico \
+ task-poky-apps-x11-pimlico-dbg \
+ task-poky-apps-x11-pimlico-dev \
+ "
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+ALLOW_EMPTY = "1"
+
+WEB = "web-webkit"
+# WebKit takes too much space to fit on some devices
+# List here for now...
+WEB_c7x0 = ""
+WEB_mx31ads = ""
+
+RDEPENDS_task-poky-apps-x11-pimlico = "\
+ eds-dbus \
+ contacts \
+ dates \
+ tasks \
+ gaku \
+ ${WEB}"
diff --git a/meta/recipes-sato/tasks/task-poky-x11-sato.bb b/meta/recipes-sato/tasks/task-poky-x11-sato.bb
new file mode 100644
index 0000000000..1b344edb54
--- /dev/null
+++ b/meta/recipes-sato/tasks/task-poky-x11-sato.bb
@@ -0,0 +1,30 @@
+#
+# Copyright (C) 2007-2008 OpenedHand Ltd.
+#
+
+DESCRIPTION = "Sato Tasks for Poky"
+LICENSE = "MIT"
+PR = "r29"
+
+PACKAGES = "\
+ task-poky-x11-sato \
+ task-poky-x11-sato-dbg \
+ task-poky-x11-sato-dev \
+ "
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+ALLOW_EMPTY = "1"
+
+NETWORK_MANAGER ?= "networkmanager-applet"
+RDEPENDS_task-poky-x11-sato = "\
+ matchbox-desktop \
+ matchbox-session-sato \
+ matchbox-keyboard \
+ matchbox-stroke \
+ matchbox-config-gtk \
+ xcursor-transparent-theme \
+ sato-icon-theme \
+ settings-daemon \
+ gtk-sato-engine \
+ ${NETWORK_MANAGER}"
diff --git a/meta/recipes-sato/web/web-webkit/link-with-g++.patch b/meta/recipes-sato/web/web-webkit/link-with-g++.patch
new file mode 100644
index 0000000000..50d6e93792
--- /dev/null
+++ b/meta/recipes-sato/web/web-webkit/link-with-g++.patch
@@ -0,0 +1,32 @@
+The main webkit library links against stdc++ so we need to use g++ for
+linking. The easiest way to achieve this is to add a dummy cpp file.
+This also means we have to add AC_PROG_CXX else libtool 2.2.2 gets upset.
+
+RP - 14/4/08
+--- webkit.orig/src/Makefile.am
++++ webkit/src/Makefile.am
+@@ -1,11 +1,11 @@
+ AM_CPPFLAGS=-DPKGDATADIR=\"$(pkgdatadir)\"
+ AM_CFLAGS = -Wall -export-dynamic $(WEB_CFLAGS)
+
+ bin_PROGRAMS = web2
+
+-web2_SOURCES = web2.h web2-main.c web2-utils.c web2-utils.h
++web2_SOURCES = web2.h web2-main.c web2-utils.c web2-utils.h dummy.cpp
+ web2_LDADD = $(WEB_LIBS)
+
+ MAINTAINERCLEANFILES = config.h.in Makefile.in
+
+ uidir = $(pkgdatadir)
+Index: webkit/configure.ac
+===================================================================
+--- webkit.orig/configure.ac 2008-04-14 22:15:25.000000000 +0100
++++ webkit/configure.ac 2008-04-14 22:16:31.000000000 +0100
+@@ -7,6 +7,7 @@
+
+ AC_ISC_POSIX
+ AC_PROG_CC
++AC_PROG_CXX
+ AC_STDC_HEADERS
+ AC_PROG_LIBTOOL
+
diff --git a/meta/recipes-sato/web/web-webkit_svn.bb b/meta/recipes-sato/web/web-webkit_svn.bb
new file mode 100644
index 0000000000..9cdf1f9da3
--- /dev/null
+++ b/meta/recipes-sato/web/web-webkit_svn.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Multi-platform web browsing application."
+HOMEPAGE = "http://o-hand.com/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2"
+
+SECTION = "x11"
+DEPENDS = "libxml2 glib-2.0 gtk+ libglade webkit-gtk curl gconf js libowl"
+
+PV = "0.0+svnr${SRCREV}"
+PR = "r2"
+
+SRC_URI = "svn://svn.o-hand.com/repos/web/branches;module=webkit;proto=http \
+ file://link-with-g++.patch;patch=1"
+
+S = "${WORKDIR}/webkit"
+
+EXTRA_OECONF = "--enable-libowl"
+
+inherit autotools pkgconfig gconf
+
+do_configure_prepend() {
+ touch ${S}/src/dummy.cpp
+}
+
+FILES_${PN} += "${datadir}/web2"
diff --git a/meta/recipes-sato/web/web/owl-window-menu.patch b/meta/recipes-sato/web/web/owl-window-menu.patch
new file mode 100644
index 0000000000..6e60dd0893
--- /dev/null
+++ b/meta/recipes-sato/web/web/owl-window-menu.patch
@@ -0,0 +1,100 @@
+Index: trunk/src/web_main.c
+===================================================================
+--- trunk.orig/src/web_main.c 2007-04-19 15:41:44.000000000 +0100
++++ trunk/src/web_main.c 2007-04-26 07:43:23.000000000 +0100
+@@ -20,6 +20,8 @@
+ #include "web_bookmarks.h"
+ #include "web_request.h"
+
++#include <libowl/owlwindowmenu.h>
++
+ static void
+ copy_cb (GtkWindow *main_window)
+ {
+@@ -833,10 +835,8 @@
+ main (int argc, char **argv)
+ {
+ GtkWidget *widget;
+-#ifdef WITH_HILDON
+ GList *children, *c;
+ GtkMenu *menu;
+-#endif
+ WebPages pages;
+ GConfClient *client;
+ GModule *module;
+@@ -889,33 +889,12 @@
+ WEB_API_VERSION, pages.backend->api_version);
+ pages.backend->init (&(pages.backend_data), &pages);
+
+-#ifdef WITH_HILDON
+- osso_initialize ("web", "0.0", FALSE, NULL);
+- pages.appview = hildon_appview_new ("");
+- pages.window = hildon_app_new_with_appview (pages.appview);
+- hildon_app_set_title (pages.window, "Web");
+- gtk_widget_show (pages.appview);
+-
+- /* Reparent widgets to hildon appview */
+- widget = glade_xml_get_widget (pages.xml, "main_vbox");
+- gtk_container_remove (
+- GTK_CONTAINER (gtk_widget_get_parent (widget)),
+- g_object_ref (widget));
+- gtk_container_add (GTK_CONTAINER (pages.appview), widget);
+-
+- widget = glade_xml_get_widget (pages.xml, "main_toolbar");
+- gtk_container_remove (
+- GTK_CONTAINER (gtk_widget_get_parent (widget)),
+- g_object_ref (widget));
+- gtk_box_pack_end (GTK_BOX (pages.appview->vbox),
+- widget, TRUE, TRUE, 0);
+- gtk_widget_show_all (GTK_WIDGET (pages.appview->vbox));
+-
+- gtk_widget_destroy (glade_xml_get_widget (pages.xml, "main_window"));
++ pages.window = glade_xml_get_widget (pages.xml, "main_window");
+
+ /* Reparent menu items */
+ widget = glade_xml_get_widget (pages.xml, "main_menubar");
+- menu = hildon_appview_get_menu (pages.appview);
++ menu = gtk_menu_new ();
++
+ children = gtk_container_get_children (GTK_CONTAINER (widget));
+ for (c = children; c; c = c->next) {
+ GtkWidget *menuitem = GTK_WIDGET (c->data);
+@@ -926,12 +905,6 @@
+ gtk_widget_destroy (widget);
+ g_list_free (children);
+
+- g_signal_connect (G_OBJECT (pages.window),
+- "key_press_event", G_CALLBACK (web_key_press_cb), &pages);
+-#else
+- pages.window = glade_xml_get_widget (pages.xml, "main_window");
+-#endif
+-
+ web_bookmarks_init (&pages);
+
+ /* Set history menus */
+@@ -1064,6 +1037,8 @@
+
+ gtk_widget_show (pages.window);
+
++ owl_set_window_menu (GTK_WINDOW(pages.window), GTK_MENU(menu));
++
+ gtk_main ();
+
+ g_module_close (module);
+Index: trunk/configure.ac
+===================================================================
+--- trunk.orig/configure.ac 2007-04-19 15:41:44.000000000 +0100
++++ trunk/configure.ac 2007-04-25 20:36:34.000000000 +0100
+@@ -14,6 +14,12 @@
+
+ PKG_CHECK_MODULES(WEB, libxml-2.0 glib-2.0 gthread-2.0 gtk+-2.0 libglade-2.0 gconf-2.0 gobject-2.0)
+
++OWL_CFLAGS=""
++OWL_LIBS="-lowl"
++
++WEB_CFLAGS="$WEB_CFLAGS $OWL_CFLAGS"
++WEB_LIBS="$WEB_LIBS $OWL_LIBS"
++
+ # -- Hildon stuff for Maemo
+ hildon=false
+ AC_ARG_ENABLE(hildon,AS_HELP_STRING([--enable-hildon],[Turn on hildon support]),[
diff --git a/meta/recipes-sato/web/web_svn.bb b/meta/recipes-sato/web/web_svn.bb
new file mode 100644
index 0000000000..583be4aa24
--- /dev/null
+++ b/meta/recipes-sato/web/web_svn.bb
@@ -0,0 +1,16 @@
+LICENSE = "GPL"
+SECTION = "x11"
+DEPENDS = "libxml2 glib-2.0 gtk+ libglade gtkhtml2 curl gconf js libowl"
+DESCRIPTION = "Web is a multi-platform web browsing application."
+PR = "r2"
+
+PV = "0.0+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \
+ file://owl-window-menu.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/trunk"
+
+inherit autotools pkgconfig gconf
+