aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-sato
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadopenembedded-core-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
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
+