From cfe12efb5ec9586dab6961f141d52b103bd8b1d1 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Mon, 22 Nov 2010 13:57:13 +0000 Subject: Meta: Recipe Reogranization This is the next stage of recipe reorganization, in this stage many recipes where moved to a new meta-demoapps layer since this is more appropriate for demo usage then the core. Additional some recipes were moved to meta-extras to indicate they may be depercated at a future time. A number of recipes were modified since dependencies need to be corrected. Signed-off-by: Saul Wold --- .../recipes-gnome/abiword/abiword-2.5.inc | 63 +++ .../abiword/abiword-embedded_2.5.2.bb | 10 + meta-demoapps/recipes-gnome/abiword/abiword.inc | 63 +++ .../recipes-gnome/abiword/abiword_2.5.2.bb | 5 + meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb | 9 + .../gcalctool/gcalctool/fix-includedir.patch | 31 ++ .../recipes-gnome/gcalctool/gcalctool_5.7.32.bb | 13 + .../recipes-gnome/gcalctool/gcalctool_5.8.17.bb | 12 + .../gnome/gnome-settings-daemon/configurefix.patch | 30 + .../gnome-settings-daemon/desktop-moblin.patch | 11 + ...-settings-daemon-2.24.0-catch-deviceadded.patch | 19 + .../gnome-settings-daemon-fix-gthread.patch | 13 + .../gnome-settings-daemon/mojito-cleanup.patch | 74 +++ .../gnome/gnome-settings-daemon/mount-plugin.patch | 618 +++++++++++++++++++++ .../gnome/gnome-settings-daemon_2.26.1.bb | 25 + .../30f29e7d8e1b67c40cd18a7155ba30c4382692d5.patch | 20 + .../recipes-gnome/gnome/gnome-terminal_2.26.3.bb | 16 + .../recipes-gnome/gnome/libgnomecanvas_2.20.0.bb | 14 + .../recipes-gnome/gnome/libgnomekbd_2.26.0.bb | 14 + .../recipes-gnome/libgsf/libgsf_1.14.5.bb | 20 + .../recipes-gnome/libgtkstylus/files/gtkstylus.sh | 5 + .../recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb | 24 + .../recipes-gnome/wv/wv-1.2.0/pkgconfig.patch | 13 + meta-demoapps/recipes-gnome/wv/wv_1.2.0.bb | 14 + 24 files changed, 1136 insertions(+) create mode 100644 meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc create mode 100644 meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb create mode 100644 meta-demoapps/recipes-gnome/abiword/abiword.inc create mode 100644 meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb create mode 100644 meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb create mode 100644 meta-demoapps/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch create mode 100644 meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.7.32.bb create mode 100644 meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.8.17.bb create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/configurefix.patch create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/desktop-moblin.patch create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-2.24.0-catch-deviceadded.patch create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-fix-gthread.patch create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mount-plugin.patch create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon_2.26.1.bb create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-terminal/30f29e7d8e1b67c40cd18a7155ba30c4382692d5.patch create mode 100644 meta-demoapps/recipes-gnome/gnome/gnome-terminal_2.26.3.bb create mode 100644 meta-demoapps/recipes-gnome/gnome/libgnomecanvas_2.20.0.bb create mode 100644 meta-demoapps/recipes-gnome/gnome/libgnomekbd_2.26.0.bb create mode 100644 meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb create mode 100644 meta-demoapps/recipes-gnome/libgtkstylus/files/gtkstylus.sh create mode 100644 meta-demoapps/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb create mode 100644 meta-demoapps/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch create mode 100644 meta-demoapps/recipes-gnome/wv/wv_1.2.0.bb (limited to 'meta-demoapps/recipes-gnome') diff --git a/meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc b/meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc new file mode 100644 index 0000000000..dcd3b85534 --- /dev/null +++ b/meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc @@ -0,0 +1,63 @@ +DESCRIPTION = "AbiWord is free word processing program similar to Microsoft(r) Word" +HOMEPAGE = "http://www.abiword.org" +SECTION = "x11/office" +LICENSE = "GPLv2" +DEPENDS = "perl-native wv libgsf libglade libfribidi jpeg libpng libxml2" +RDEPENDS = "glibc-gconv-ibm850 glibc-gconv-cp1252 \ + glibc-gconv-iso8859-15 glibc-gconv-iso8859-1" + +SRC_URI = "http://www.abiword.org/downloads/abiword/${PV}/source/abiword-${PV}.tar.gz" + +#want 2.x from 2.x.y for the installation directory +SHRT_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}" + +FILES_${PN} += " \ + ${datadir}/icons/* \ + ${datadir}/abiword-${SHRT_VER}/glade \ + ${datadir}/abiword-${SHRT_VER}/scripts \ + ${datadir}/abiword-${SHRT_VER}/system.profile-en \ + ${datadir}/abiword-${SHRT_VER}/system.profile-en_GB \ +# ${datadir}/abiword-${SHRT_VER}/templates/A4.awt \ +# ${datadir}/abiword-${SHRT_VER}/templates/US-Letter.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/normal.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/normal.awt-en_GB \ + ${datadir}/abiword-${SHRT_VER}/templates/Employee-Directory.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/Business-Report.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/Fax-Coversheet.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/Resume.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/Two-Columns.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/Memo.awt \ + ${datadir}/abiword-${SHRT_VER}/templates/Press-Release.awt " + +inherit autotools pkgconfig + +PARALLEL_MAKE = "" + +EXTRA_OECONF = " --disable-pspell \ + --disable-spellcheck \ + --disable-printing \ + --disable-exports \ + --with-sys-wv" + +# AbiWord configure.ac does not play nicely with autoreconf +# so use the autogen.sh script that comes with AbiWord +# +do_configure() { + cd ${S} + export NOCONFIGURE="no"; ./autogen.sh + oe_runconf +} + + +do_install_append() { + install -d ${D}${datadir}/pixmaps/ + mv ${D}${datadir}/icons/* ${D}${datadir}/pixmaps/ +} + +PACKAGES += " abiword-clipart abiword-icons abiword-strings abiword-systemprofiles abiword-templates " + +FILES_abiword-clipart += "${datadir}/abiword-${SHRT_VER}/clipart" +FILES_abiword-icons += "${datadir}/abiword-${SHRT_VER}/icons" +FILES_abiword-strings += "${datadir}/abiword-${SHRT_VER}/AbiWord/strings" +FILES_abiword-systemprofiles += "${datadir}/abiword-${SHRT_VER}/AbiWord/system.profile*" +FILES_abiword-templates += "${datadir}/abiword-${SHRT_VER}/templates" diff --git a/meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb b/meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb new file mode 100644 index 0000000000..47cf9e03c0 --- /dev/null +++ b/meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb @@ -0,0 +1,10 @@ +require abiword-2.5.inc + +EXTRA_OECONF += "--enable-embedded" + +S = "${WORKDIR}/abiword-${PV}" + +RCONFLICTS = "abiword" +RPROVIDES += "abiword" + + diff --git a/meta-demoapps/recipes-gnome/abiword/abiword.inc b/meta-demoapps/recipes-gnome/abiword/abiword.inc new file mode 100644 index 0000000000..d2fabf931c --- /dev/null +++ b/meta-demoapps/recipes-gnome/abiword/abiword.inc @@ -0,0 +1,63 @@ +DESCRIPTION = "AbiWord is free word processing program similar to Microsoft(r) Word" +SECTION = "gnome/office" +HOMEPAGE = "http://www.abiword.org"" +LICENSE = "GPLv2" + +DEPENDS = "libgsf libglade libfribidi libxml2 wv" +RRECOMMENDS = "glibc-gconv-ibm850 glibc-gconv-cp1252 \ + glibc-gconv-iso8859-15 glibc-gconv-iso8859-1" + +# Share this file between recipes that use cvs and that pull tarballs +# (one day change this to differentiate automatically based on PV and set the +# SRC_URI and S var directly) +RELURI = "http://www.abiword.org/downloads/abiword/${PV}/source/abiword-${PV}.tar.gz" +RELSRC = "${WORKDIR}/abiword-${PV}/abi" + +CVSURI = "cvs://anoncvs:anoncvs@anoncvs.abisource.com/cvsroot;module=abi" +CVSSRC = "${WORKDIR}/abi" + +#want 2.x from 2.x.y for the installation directory +SHRT_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}" + +FILES_${PN} += " \ + ${datadir}/icons/* \ + ${datadir}/mime-info \ + ${datadir}/abiword-${SHRT_VER}/glade \ + ${datadir}/abiword-${SHRT_VER}/system.profile-en \ + ${datadir}/abiword-${SHRT_VER}/system.profile-en-GB \ +# ${datadir}/abiword-${SHRT_VER}/templates/normal.awt \ +# ${datadir}/abiword-${SHRT_VER}/templates/normal.awt-en_GB \ + " + +inherit autotools pkgconfig + +PARALLEL_MAKE = "" + +# This is a minimalistic AbiWord build +# +# if you are planning to build plugins, make sure to comment out the +# --disable-exports options + +EXTRA_OECONF = " --enable-embedded=poky \ + --disable-printing \ + --with-sys-wv \ + --disable-exports \ + --disable-spellcheck" + +# TODO -- refactor this, so that instead of two strings and profiles +# packages we have lots of locale packages, each with a set of strings and +# a profile +# +PACKAGES += " abiword-strings abiword-systemprofiles" + +FILES_abiword-strings += "${datadir}/abiword-${SHRT_VER}/strings" +FILES_abiword-systemprofiles += "${datadir}/abiword-${SHRT_VER}/system.profile*" + +# AbiWord configure.ac does not play nicely with autoreconf +# so use the autogen.sh script that comes with AbiWord +# +do_configure() { + cd ${S} + export NOCONFIGURE="no"; ./autogen.sh + oe_runconf +} diff --git a/meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb b/meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb new file mode 100644 index 0000000000..566d0fa203 --- /dev/null +++ b/meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb @@ -0,0 +1,5 @@ +require abiword-2.5.inc + +PR = "r1" + +RCONFLICTS = "abiword-embedded" diff --git a/meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb b/meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb new file mode 100644 index 0000000000..e0e3bd7d60 --- /dev/null +++ b/meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb @@ -0,0 +1,9 @@ +require abiword.inc + +PV="2.5.0+cvs${SRCDATE}" +PR = "r3" + +SRC_URI = "${CVSURI}" + +S = "${CVSSRC}" + diff --git a/meta-demoapps/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch b/meta-demoapps/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch new file mode 100644 index 0000000000..aeb02ab2c1 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch @@ -0,0 +1,31 @@ +--- + Makefile.am | 2 +- + gcalctool/Makefile.am | 2 -- + 2 files changed, 1 insertion(+), 3 deletions(-) + +Index: gcalctool-5.8.17/gcalctool/Makefile.am +=================================================================== +--- gcalctool-5.8.17.orig/gcalctool/Makefile.am 2005-12-19 15:46:57.000000000 +0000 ++++ gcalctool-5.8.17/gcalctool/Makefile.am 2007-05-16 16:03:26.000000000 +0100 +@@ -1,8 +1,6 @@ + ## Process this file with automake to produce Makefile.in + + INCLUDES = \ +- -I$(includedir) \ +- -DG_DISABLE_DEPRECATED \ + -DGDK_PIXBUF_DISABLE_DEPRECATED \ + -DGDK_DISABLE_DEPRECATED \ + -DGNOME_DISABLE_DEPRECATED \ +Index: gcalctool-5.8.17/Makefile.am +=================================================================== +--- gcalctool-5.8.17.orig/Makefile.am 2007-05-16 15:35:44.000000000 +0100 ++++ gcalctool-5.8.17/Makefile.am 2007-05-16 16:06:46.000000000 +0100 +@@ -29,7 +29,7 @@ DISTCLEANFILES = \ + gnome-doc-utils.make \ + gcalctool.desktop + +-SUBDIRS = po gcalctool help ++SUBDIRS = po gcalctool + + SCHEMAS_FILE = gcalctool.schemas + diff --git a/meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.7.32.bb b/meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.7.32.bb new file mode 100644 index 0000000000..f12e6c402a --- /dev/null +++ b/meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.7.32.bb @@ -0,0 +1,13 @@ +LICENSE = "GPL" +SECTION = "x11" +DEPENDS = "gtk+" +DESCRIPTION = "gcalctool is a powerful calculator" +PR = "r2" + +SRC_URI = "http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz \ + file://makefile-fix.diff;patch=1\ + file://fix-includedir.patch;patch=1" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-gnome" diff --git a/meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.8.17.bb b/meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.8.17.bb new file mode 100644 index 0000000000..c72860c8f5 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gcalctool/gcalctool_5.8.17.bb @@ -0,0 +1,12 @@ +LICENSE = "GPL" +SECTION = "x11" +DEPENDS = "gtk+ gnome-doc-utils" +DESCRIPTION = "gcalctool is a powerful calculator" +PR = "r0" + +SRC_URI = "http://download.gnome.org/sources/${PN}/5.8/${PN}-${PV}.tar.gz \ + file://fix-includedir.patch;patch=1" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-gnome" diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/configurefix.patch b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/configurefix.patch new file mode 100644 index 0000000000..01b4f64191 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/configurefix.patch @@ -0,0 +1,30 @@ +Index: gnome-settings-daemon-2.26.1/configure.ac +=================================================================== +--- gnome-settings-daemon-2.26.1.orig/configure.ac 2009-09-16 22:57:31.000000000 +0100 ++++ gnome-settings-daemon-2.26.1/configure.ac 2009-09-16 22:58:45.000000000 +0100 +@@ -133,9 +133,6 @@ + # + AC_DEFUN([AC_CHECK_X_HEADERS], [ + ac_save_CPPFLAGS="$CPPFLAGS" +- if test \! -z "$includedir" ; then +- CPPFLAGS="$CPPFLAGS -I$includedir" +- fi + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + AC_CHECK_HEADERS([$1],[$2],[$3],[$4]) + CPPFLAGS="$ac_save_CPPFLAGS"]) +@@ -148,15 +145,9 @@ + ac_save_LDFLAGS="$LDFLAGS" + # ac_save_LIBS="$LIBS" + +- if test \! -z "$includedir" ; then +- CPPFLAGS="$CPPFLAGS -I$includedir" +- fi + # note: $X_CFLAGS includes $x_includes + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + +- if test \! -z "$libdir" ; then +- LDFLAGS="$LDFLAGS -L$libdir" +- fi + # note: $X_LIBS includes $x_libraries + LDFLAGS="$LDFLAGS $ALL_X_LIBS" + diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/desktop-moblin.patch b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/desktop-moblin.patch new file mode 100644 index 0000000000..d3fd76c621 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/desktop-moblin.patch @@ -0,0 +1,11 @@ +--- gnome-settings-daemon-2.26.1/data/gnome-settings-daemon.desktop.in.in~ 2009-04-24 20:59:51.000000000 -0700 ++++ gnome-settings-daemon-2.26.1/data/gnome-settings-daemon.desktop.in.in 2009-04-24 20:59:51.000000000 -0700 +@@ -2,7 +2,7 @@ + Type=Application + _Name=GNOME Settings Daemon + Exec=@LIBEXECDIR@/gnome-settings-daemon +-OnlyShowIn=GNOME; ++OnlyShowIn=GNOME;MOBLIN; + X-GNOME-Autostart-Phase=Initialization + X-GNOME-Autostart-Notify=true + X-GNOME-AutoRestart=true diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-2.24.0-catch-deviceadded.patch b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-2.24.0-catch-deviceadded.patch new file mode 100644 index 0000000000..8e1d0ce9ce --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-2.24.0-catch-deviceadded.patch @@ -0,0 +1,19 @@ +============================================================ + Listen for DeviceAdded in addition to DeviceEnabled + + This should help address problems like left-handed +mouse, and acceleration settings getting lost after +resume, or when new devices gets plugged in. + +diff --git a/plugins/mouse/gsd-mouse-manager.c b/plugins/mouse/gsd-mouse-manager.c +--- a/plugins/mouse/gsd-mouse-manager.c ++++ b/plugins/mouse/gsd-mouse-manager.c +@@ -320,7 +320,7 @@ devicepresence_filter (GdkXEvent *xevent, + if (xev->type == xi_presence) + { + XDevicePresenceNotifyEvent *dpn = (XDevicePresenceNotifyEvent *) xev; +- if (dpn->devchange == DeviceEnabled) ++ if (dpn->devchange == DeviceEnabled || dpn->devchange == DeviceAdded) + set_mouse_settings ((GsdMouseManager *) data); + } + return GDK_FILTER_CONTINUE; diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-fix-gthread.patch b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-fix-gthread.patch new file mode 100644 index 0000000000..d77063eba7 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/gnome-settings-daemon-fix-gthread.patch @@ -0,0 +1,13 @@ +Index: gnome-settings-daemon-2.25.90/configure.ac +=================================================================== +--- gnome-settings-daemon-2.25.90.orig/configure.ac ++++ gnome-settings-daemon-2.25.90/configure.ac +@@ -85,6 +85,8 @@ AC_PATH_PROG(GCONFTOOL, gconftool-2) + + AM_GCONF_SOURCE_2 + ++AC_CHECK_LIB(gthread-2.0, g_thread_init) ++ + dnl --------------------------------------------------------------------------- + dnl - Check for libnotify + dnl --------------------------------------------------------------------------- diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch new file mode 100644 index 0000000000..1aff2d6d6f --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch @@ -0,0 +1,74 @@ +diff --git a/plugins/housekeeping/gsd-housekeeping-manager.c b/plugins/housekeeping/gsd-housekeeping-manager.c +index f84cfad..e8f474a 100644 +--- a/plugins/housekeeping/gsd-housekeeping-manager.c ++++ b/plugins/housekeeping/gsd-housekeeping-manager.c +@@ -85,9 +85,13 @@ thumb_data_free (gpointer data) + } + } + ++typedef enum { ++ HASH, ++ HASH_PNG ++} FileType; + + static GList * +-read_dir_for_purge (const char *path, GList *files) ++read_dir_for_purge (const char *path, GList *files, FileType type) + { + GFile *read_path; + GFileEnumerator *enum_dir; +@@ -105,9 +109,20 @@ read_dir_for_purge (const char *path, GList *files) + GFileInfo *info; + while ((info = g_file_enumerator_next_file (enum_dir, NULL, NULL)) != NULL) { + const char *name; ++ gboolean prune = FALSE; ++ + name = g_file_info_get_name (info); + +- if (strlen (name) == 36 && strcmp (name + 32, ".png") == 0) { ++ switch (type) { ++ case HASH: ++ prune = (strlen (name) == 36); ++ break; ++ case HASH_PNG: ++ prune = (strlen (name) == 36 && strcmp (name + 32, ".png") == 0); ++ break; ++ } ++ ++ if (prune) { + ThumbData *td; + GFile *entry; + char *entry_path; +@@ -197,14 +212,14 @@ purge_thumbnail_cache (void) + ".thumbnails", + "normal", + NULL); +- files = read_dir_for_purge (path, NULL); ++ files = read_dir_for_purge (path, NULL, HASH_PNG); + g_free (path); + + path = g_build_filename (g_get_home_dir (), + ".thumbnails", + "large", + NULL); +- files = read_dir_for_purge (path, files); ++ files = read_dir_for_purge (path, files, HASH_PNG); + g_free (path); + + path = g_build_filename (g_get_home_dir (), +@@ -212,7 +227,14 @@ purge_thumbnail_cache (void) + "fail", + "gnome-thumbnail-factory", + NULL); +- files = read_dir_for_purge (path, files); ++ files = read_dir_for_purge (path, files, HASH_PNG); ++ g_free (path); ++ ++ path = g_build_filename (g_get_user_cache_dir (), ++ "mojito", ++ "thumbnails", ++ NULL); ++ files = read_dir_for_purge (path, files, HASH); + g_free (path); + + g_get_current_time (¤t_time); diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mount-plugin.patch b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mount-plugin.patch new file mode 100644 index 0000000000..67f056b505 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mount-plugin.patch @@ -0,0 +1,618 @@ +diff --git a/configure.ac b/configure.ac +index 135f2ce..ba737a5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -356,6 +356,7 @@ plugins/keybindings/Makefile + plugins/keyboard/Makefile + plugins/media-keys/Makefile + plugins/media-keys/cut-n-paste/Makefile ++plugins/mount/Makefile + plugins/mouse/Makefile + plugins/screensaver/Makefile + plugins/sound/Makefile +diff --git a/data/gnome-settings-daemon.schemas.in b/data/gnome-settings-daemon.schemas.in +index 4920ae3..502e9e6 100644 +--- a/data/gnome-settings-daemon.schemas.in ++++ b/data/gnome-settings-daemon.schemas.in +@@ -557,5 +557,29 @@ + + + ++ ++ /schemas/apps/gnome_settings_daemon/plugins/mount/active ++ /apps/gnome_settings_daemon/plugins/mount/active ++ gnome-settings-daemon ++ bool ++ TRUE ++ ++ Enable mount plugin ++ Set to True to enable the plugin to automount media. ++ ++ ++ ++ /schemas/apps/gnome_settings_daemon/plugins/mount/priority ++ /apps/gnome_settings_daemon/plugins/mount/priority ++ gnome-settings-daemon ++ int ++ 99 ++ ++ ++ ++ ++ ++ ++ + + +diff --git a/plugins/Makefile.am b/plugins/Makefile.am +index 2d33061..46615c1 100644 +--- a/plugins/Makefile.am ++++ b/plugins/Makefile.am +@@ -11,6 +11,7 @@ SUBDIRS = \ + keybindings \ + keyboard \ + media-keys \ ++ mount \ + mouse \ + screensaver \ + sound \ +diff --git a/plugins/mount/Makefile.am b/plugins/mount/Makefile.am +new file mode 100644 +index 0000000..188c83d +--- /dev/null ++++ b/plugins/mount/Makefile.am +@@ -0,0 +1,39 @@ ++plugin_LTLIBRARIES = \ ++ libmount.la ++ ++libmount_la_SOURCES = \ ++ gsd-mount-manager.c \ ++ gsd-mount-manager.h \ ++ gsd-mount-plugin.c \ ++ gsd-mount-plugin.h ++ ++libmount_la_CPPFLAGS = \ ++ -I$(top_srcdir)/gnome-settings-daemon \ ++ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \ ++ $(AM_CPPFLAGS) ++ ++libmount_la_CFLAGS = \ ++ $(SETTINGS_PLUGIN_CFLAGS) \ ++ $(AM_CFLAGS) ++ ++libmount_la_LDFLAGS = \ ++ $(GSD_PLUGIN_LDFLAGS) ++ ++libmount_la_LIBADD = \ ++ $(SETTINGS_PLUGIN_LIBS) ++ ++plugin_in_files = \ ++ mount.gnome-settings-plugin.in ++ ++plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin) ++ ++EXTRA_DIST = \ ++ $(plugin_in_files) ++ ++CLEANFILES = \ ++ $(plugin_DATA) ++ ++DISTCLEANFILES = \ ++ $(plugin_DATA) ++ ++@GSD_INTLTOOL_PLUGIN_RULE@ +diff --git a/plugins/mount/gsd-mount-manager.c b/plugins/mount/gsd-mount-manager.c +new file mode 100644 +index 0000000..a768f03 +--- /dev/null ++++ b/plugins/mount/gsd-mount-manager.c +@@ -0,0 +1,261 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2009 Intel Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation; either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple ++ * Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include "gsd-mount-manager.h" ++ ++#define GSD_MOUNT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_MOUNT_MANAGER, GsdMountManagerPrivate)) ++ ++struct GsdMountManagerPrivate ++{ ++ GVolumeMonitor *monitor; ++}; ++ ++G_DEFINE_TYPE (GsdMountManager, gsd_mount_manager, G_TYPE_OBJECT) ++ ++static gpointer manager_object = NULL; ++ ++#if 0 ++static void ++drive_connected_cb (GVolumeMonitor *monitor, ++ GDrive *drive, ++ GsdMountManager *manager) ++{ ++ /* TODO: listen for the eject button */ ++} ++#endif ++ ++static void ++volume_mounted_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) ++{ ++ GError *error = NULL; ++ char *name; ++ ++ name = g_volume_get_name (G_VOLUME (source_object)); ++ ++ if (!g_volume_mount_finish (G_VOLUME (source_object), result, &error)) { ++ g_debug ("Failed to mount '%s': %s", name, error->message); ++ ++ if (error->code != G_IO_ERROR_FAILED_HANDLED) { ++ char *primary; ++ GtkWidget *dialog; ++ ++ primary = g_strdup_printf (_("Unable to mount %s"), name); ++ ++ dialog = gtk_message_dialog_new (NULL, 0, ++ GTK_MESSAGE_ERROR, ++ GTK_BUTTONS_CLOSE, ++ primary); ++ ++ g_free (primary); ++ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), error->message); ++ ++ gtk_dialog_run (GTK_DIALOG (dialog)); ++ gtk_widget_destroy (dialog); ++ } ++ g_error_free (error); ++ } else { ++ g_debug ("Mounted '%s'", name); ++ } ++ ++ g_free (name); ++} ++ ++static void ++volume_added_cb (GVolumeMonitor *monitor, ++ GVolume *volume, ++ GsdMountManager *manager) ++{ ++ char *name; ++ ++ name = g_volume_get_name (volume); ++ g_debug ("Volme '%s' added", name); ++ ++ if (g_volume_can_mount (volume)) { ++ GMountOperation *mount_op; ++ ++ g_debug ("Mounting '%s'", name); ++ ++ mount_op = gtk_mount_operation_new (NULL); ++ g_volume_mount (volume, G_MOUNT_MOUNT_NONE, ++ mount_op, NULL, ++ volume_mounted_cb, manager); ++ } ++ ++ g_free (name); ++} ++ ++static void ++mount_added_cb (GVolumeMonitor *monitor, ++ GMount *mount, ++ GsdMountManager *manager) ++{ ++ GFile *file; ++ char *uri; ++ ++ file = g_mount_get_root (mount); ++ uri = g_file_get_uri (file); ++ ++ g_debug ("%s mounted, starting file manager", uri); ++ ++ /* TODO: error */ ++ gtk_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL); ++ ++ g_free (uri); ++ g_object_unref (file); ++} ++ ++static void ++mount_existing_volumes (GsdMountManager *manager) ++{ ++ /* TODO: iterate over drives to hook up eject */ ++ GList *l; ++ ++ g_debug ("Mounting existing volumes"); ++ ++ l = g_volume_monitor_get_volumes (manager->priv->monitor); ++ while (l) { ++ GVolume *volume = l->data; ++ GMount *mount; ++ ++ mount = g_volume_get_mount (volume); ++ if (mount == NULL && ++ g_volume_can_mount (volume) && ++ g_volume_should_automount (volume)) { ++ GMountOperation *mount_op; ++ char *name; ++ ++ name = g_volume_get_name (volume); ++ g_debug ("Mounting '%s'", name); ++ g_free (name); ++ ++ mount_op = gtk_mount_operation_new (NULL); ++ g_volume_mount (volume, G_MOUNT_MOUNT_NONE, ++ mount_op, NULL, ++ volume_mounted_cb, manager); ++ } ++ ++ if (mount) ++ g_object_unref (mount); ++ g_object_unref (volume); ++ l = g_list_delete_link (l, l); ++ } ++} ++ ++gboolean ++gsd_mount_manager_start (GsdMountManager *manager, ++ GError **error) ++{ ++ g_debug ("Starting mount manager"); ++ ++ manager->priv->monitor = g_volume_monitor_get (); ++ ++#if 0 ++ g_signal_connect_object (manager->priv->monitor, "drive-connected", ++ G_CALLBACK (drive_connected_cb), manager, 0); ++#endif ++ g_signal_connect_object (manager->priv->monitor, "volume-added", ++ G_CALLBACK (volume_added_cb), manager, 0); ++ g_signal_connect_object (manager->priv->monitor, "mount-added", ++ G_CALLBACK (mount_added_cb), manager, 0); ++ ++ /* TODO: handle eject buttons */ ++ ++#if 0 ++ mount_existing_volumes (manager); ++#endif ++ ++ return TRUE; ++} ++ ++void ++gsd_mount_manager_stop (GsdMountManager *manager) ++{ ++ g_debug ("Stopping mount manager"); ++} ++ ++static void ++gsd_mount_manager_dispose (GObject *object) ++{ ++ GsdMountManager *manager = GSD_MOUNT_MANAGER (object); ++ ++ if (manager->priv->monitor) { ++ g_signal_handlers_disconnect_by_func ++ (manager->priv->monitor, volume_added_cb, manager); ++ g_signal_handlers_disconnect_by_func ++ (manager->priv->monitor, mount_added_cb, manager); ++ g_object_unref (manager->priv->monitor); ++ manager->priv->monitor = NULL; ++ } ++ ++ G_OBJECT_CLASS (gsd_mount_manager_parent_class)->dispose (object); ++} ++ ++static void ++gsd_mount_manager_init (GsdMountManager *manager) ++{ ++ manager->priv = GSD_MOUNT_MANAGER_GET_PRIVATE (manager); ++} ++ ++static void ++gsd_mount_manager_finalize (GObject *object) ++{ ++ GsdMountManager *mount_manager; ++ ++ g_return_if_fail (object != NULL); ++ g_return_if_fail (GSD_IS_MOUNT_MANAGER (object)); ++ ++ mount_manager = GSD_MOUNT_MANAGER (object); ++ ++ g_return_if_fail (mount_manager->priv != NULL); ++ ++ G_OBJECT_CLASS (gsd_mount_manager_parent_class)->finalize (object); ++} ++ ++static void ++gsd_mount_manager_class_init (GsdMountManagerClass *klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ ++ object_class->dispose = gsd_mount_manager_dispose; ++ object_class->finalize = gsd_mount_manager_finalize; ++ ++ g_type_class_add_private (klass, sizeof (GsdMountManagerPrivate)); ++} ++ ++GsdMountManager * ++gsd_mount_manager_new (void) ++{ ++ if (manager_object != NULL) { ++ g_object_ref (manager_object); ++ } else { ++ manager_object = g_object_new (GSD_TYPE_MOUNT_MANAGER, NULL); ++ g_object_add_weak_pointer (manager_object, ++ (gpointer *) &manager_object); ++ } ++ ++ return GSD_MOUNT_MANAGER (manager_object); ++} +diff --git a/plugins/mount/gsd-mount-manager.h b/plugins/mount/gsd-mount-manager.h +new file mode 100644 +index 0000000..9093fff +--- /dev/null ++++ b/plugins/mount/gsd-mount-manager.h +@@ -0,0 +1,58 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2009 Intel Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation; either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple ++ * Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef __GSD_MOUNT_MANAGER_H ++#define __GSD_MOUNT_MANAGER_H ++ ++#include ++ ++G_BEGIN_DECLS ++ ++#define GSD_TYPE_MOUNT_MANAGER (gsd_mount_manager_get_type ()) ++#define GSD_MOUNT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_MOUNT_MANAGER, GsdMountManager)) ++#define GSD_MOUNT_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_MOUNT_MANAGER, GsdMountManagerClass)) ++#define GSD_IS_MOUNT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_MOUNT_MANAGER)) ++#define GSD_IS_MOUNT_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_MOUNT_MANAGER)) ++#define GSD_MOUNT_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_MOUNT_MANAGER, GsdMountManagerClass)) ++ ++typedef struct GsdMountManagerPrivate GsdMountManagerPrivate; ++ ++typedef struct ++{ ++ GObject parent; ++ GsdMountManagerPrivate *priv; ++} GsdMountManager; ++ ++typedef struct ++{ ++ GObjectClass parent_class; ++} GsdMountManagerClass; ++ ++GType gsd_mount_manager_get_type (void); ++ ++GsdMountManager * gsd_mount_manager_new (void); ++ ++gboolean gsd_mount_manager_start (GsdMountManager *manager, ++ GError **error); ++void gsd_mount_manager_stop (GsdMountManager *manager); ++ ++G_END_DECLS ++ ++#endif /* __GSD_MOUNT_MANAGER_H */ +diff --git a/plugins/mount/gsd-mount-plugin.c b/plugins/mount/gsd-mount-plugin.c +new file mode 100644 +index 0000000..af295a5 +--- /dev/null ++++ b/plugins/mount/gsd-mount-plugin.c +@@ -0,0 +1,103 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2009 Intel Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation; either version 2, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple ++ * Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#include ++ ++#include ++#include ++#include ++ ++#include "gsd-mount-plugin.h" ++#include "gsd-mount-manager.h" ++ ++struct GsdMountPluginPrivate { ++ GsdMountManager *manager; ++}; ++ ++#define GSD_MOUNT_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), GSD_TYPE_MOUNT_PLUGIN, GsdMountPluginPrivate)) ++ ++GNOME_SETTINGS_PLUGIN_REGISTER (GsdMountPlugin, gsd_mount_plugin) ++ ++static void ++gsd_mount_plugin_init (GsdMountPlugin *plugin) ++{ ++ plugin->priv = GSD_MOUNT_PLUGIN_GET_PRIVATE (plugin); ++ ++ g_debug ("GsdMountPlugin initializing"); ++ ++ plugin->priv->manager = gsd_mount_manager_new (); ++} ++ ++static void ++gsd_mount_plugin_finalize (GObject *object) ++{ ++ GsdMountPlugin *plugin; ++ ++ g_return_if_fail (object != NULL); ++ g_return_if_fail (GSD_IS_MOUNT_PLUGIN (object)); ++ ++ g_debug ("GsdMountPlugin finalizing"); ++ ++ plugin = GSD_MOUNT_PLUGIN (object); ++ ++ g_return_if_fail (plugin->priv != NULL); ++ ++ if (plugin->priv->manager != NULL) { ++ g_object_unref (plugin->priv->manager); ++ } ++ ++ G_OBJECT_CLASS (gsd_mount_plugin_parent_class)->finalize (object); ++} ++ ++static void ++impl_activate (GnomeSettingsPlugin *plugin) ++{ ++ gboolean res; ++ GError *error; ++ ++ g_debug ("Activating mount plugin"); ++ ++ error = NULL; ++ res = gsd_mount_manager_start (GSD_MOUNT_PLUGIN (plugin)->priv->manager, &error); ++ if (! res) { ++ g_warning ("Unable to start mount manager: %s", error->message); ++ g_error_free (error); ++ } ++} ++ ++static void ++impl_deactivate (GnomeSettingsPlugin *plugin) ++{ ++ g_debug ("Deactivating mount plugin"); ++ gsd_mount_manager_stop (GSD_MOUNT_PLUGIN (plugin)->priv->manager); ++} ++ ++static void ++gsd_mount_plugin_class_init (GsdMountPluginClass *klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ GnomeSettingsPluginClass *plugin_class = GNOME_SETTINGS_PLUGIN_CLASS (klass); ++ ++ object_class->finalize = gsd_mount_plugin_finalize; ++ ++ plugin_class->activate = impl_activate; ++ plugin_class->deactivate = impl_deactivate; ++ ++ g_type_class_add_private (klass, sizeof (GsdMountPluginPrivate)); ++} +diff --git a/plugins/mount/gsd-mount-plugin.h b/plugins/mount/gsd-mount-plugin.h +new file mode 100644 +index 0000000..526a41f +--- /dev/null ++++ b/plugins/mount/gsd-mount-plugin.h +@@ -0,0 +1,55 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2009 Intel Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation; either version 2, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple ++ * Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ */ ++ ++#ifndef __GSD_MOUNT_PLUGIN_H__ ++#define __GSD_MOUNT_PLUGIN_H__ ++ ++#include ++#include ++#include ++ ++G_BEGIN_DECLS ++ ++#define GSD_TYPE_MOUNT_PLUGIN (gsd_mount_plugin_get_type ()) ++#define GSD_MOUNT_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_MOUNT_PLUGIN, GsdMountPlugin)) ++#define GSD_MOUNT_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_MOUNT_PLUGIN, GsdMountPluginClass)) ++#define GSD_IS_MOUNT_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_MOUNT_PLUGIN)) ++#define GSD_IS_MOUNT_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_MOUNT_PLUGIN)) ++#define GSD_MOUNT_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_MOUNT_PLUGIN, GsdMountPluginClass)) ++ ++typedef struct GsdMountPluginPrivate GsdMountPluginPrivate; ++ ++typedef struct ++{ ++ GnomeSettingsPlugin parent; ++ GsdMountPluginPrivate *priv; ++} GsdMountPlugin; ++ ++typedef struct ++{ ++ GnomeSettingsPluginClass parent_class; ++} GsdMountPluginClass; ++ ++GType gsd_mount_plugin_get_type (void) G_GNUC_CONST; ++ ++G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module); ++ ++G_END_DECLS ++ ++#endif /* __GSD_MOUNT_PLUGIN_H__ */ +diff --git a/plugins/mount/mount.gnome-settings-plugin.in b/plugins/mount/mount.gnome-settings-plugin.in +new file mode 100644 +index 0000000..ca29ad1 +--- /dev/null ++++ b/plugins/mount/mount.gnome-settings-plugin.in +@@ -0,0 +1,8 @@ ++[GNOME Settings Plugin] ++Module=mount ++IAge=0 ++_Name=Mount ++_Description=Mount removable media ++Authors=Ross Burton ++Copyright=Copyright © 2009 Intel Corporation ++Website= diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon_2.26.1.bb b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon_2.26.1.bb new file mode 100644 index 0000000000..cb216b2753 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon_2.26.1.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "GNOME settings daemon" +LICENSE = "GPL" +DEPENDS = "libxklavier gnome-doc-utils gtk+ libglade libgnomekbd gnome-desktop librsvg libxml2 libart-lgpl" + +PR = "r3" + +inherit gnome + +SRC_URI += "file://desktop-moblin.patch;patch=1 \ + file://gnome-settings-daemon-fix-gthread.patch;patch=1 \ + file://mount-plugin.patch;patch=1 \ + file://gnome-settings-daemon-2.24.0-catch-deviceadded.patch;patch=1 \ + file://configurefix.patch;patch=1 \ + file://mojito-cleanup.patch;patch=1" + +EXTRA_OECONF = "--disable-esd --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}" +ASNEEDED = "" + +FILES_${PN} += "${libdir}/gnome-settings-daemon-2.0/*.so ${libdir}/gnome-settings-daemon-2.0/*plugin \ + ${datadir}/dbus-1/ \ + ${datadir}/icon* \ + ${datadir}/xsession*" + +FILES_${PN}-dbg += "${libdir}/gnome-settings-daemon-2.0/.debug" +FILES_${PN}-dev += "${libdir}/gnome-settings-daemon-2.0/*.a ${libdir}/gnome-settings-daemon-2.0/*.la" diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-terminal/30f29e7d8e1b67c40cd18a7155ba30c4382692d5.patch b/meta-demoapps/recipes-gnome/gnome/gnome-terminal/30f29e7d8e1b67c40cd18a7155ba30c4382692d5.patch new file mode 100644 index 0000000000..0358ed8a64 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-terminal/30f29e7d8e1b67c40cd18a7155ba30c4382692d5.patch @@ -0,0 +1,20 @@ +From 30f29e7d8e1b67c40cd18a7155ba30c4382692d5 Mon Sep 17 00:00:00 2001 +From: Seán de Búrca +Date: Fri, 07 Aug 2009 00:38:52 +0000 +Subject: Remove useless Plural-Forms line which breaks build with gnome-doc-utils master + +--- +diff --git a/help/el/el.po b/help/el/el.po +index ab77264..635b68f 100644 +--- a/help/el/el.po ++++ b/help/el/el.po +@@ -10,7 +10,6 @@ msgstr "" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: 2\n" + "X-Poedit-Language: Greek\n" + "X-Poedit-Country: GREECE\n" + "X-Generator: Lokalize 0.2\n" +-- +cgit v0.8.3.1 diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-terminal_2.26.3.bb b/meta-demoapps/recipes-gnome/gnome/gnome-terminal_2.26.3.bb new file mode 100644 index 0000000000..73f0b99eac --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-terminal_2.26.3.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "GNOME Terminal" +LICENSE = "GPL" +DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte" +PR = "r2" + +inherit gnome + +SRC_URI += "file://30f29e7d8e1b67c40cd18a7155ba30c4382692d5.patch;patch=1" + +EXTRA_OECONF += "--disable-scrollkeeper" + +# Remove an autogenerated file that needs to be rebuilt +do_configure_prepend () { + rm -f ${S}/src/terminal-type-builtins.c +} + diff --git a/meta-demoapps/recipes-gnome/gnome/libgnomecanvas_2.20.0.bb b/meta-demoapps/recipes-gnome/gnome/libgnomecanvas_2.20.0.bb new file mode 100644 index 0000000000..266d44b050 --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/libgnomecanvas_2.20.0.bb @@ -0,0 +1,14 @@ +LICENSE = "GPL" +SECTION = "x11/gnome/libs" +DESCRIPTION = "A powerful object-oriented display" +PR = "r2" + +inherit gnome + +DEPENDS = "libglade libart-lgpl virtual/gail" + +EXTRA_OECONF = "--disable-gtk-doc" + +FILES_${PN} += "${libdir}/libglade/*/libcanvas.so" +FILES_${PN}-dbg += "${libdir}/libglade/*/.debug/" +FILES_${PN}-dev += "${libdir}/libglade/*/libcanvas.*a" diff --git a/meta-demoapps/recipes-gnome/gnome/libgnomekbd_2.26.0.bb b/meta-demoapps/recipes-gnome/gnome/libgnomekbd_2.26.0.bb new file mode 100644 index 0000000000..f2e4ec533e --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/libgnomekbd_2.26.0.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "GNOME keyboard library" +LICENSE = "LGPL" + +DEPENDS = "gconf-dbus dbus libxklavier gtk+" + +inherit gnome + +do_configure_append() { + find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g + find ${S} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g +} + + + diff --git a/meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb b/meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb new file mode 100644 index 0000000000..10b6390722 --- /dev/null +++ b/meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb @@ -0,0 +1,20 @@ +LICENSE = "GPL" +SECTION = "libs" +PR = "r0" + +DEPENDS= "libxml2 bzip2 glib-2.0 zlib" +RDEPENDS = "gconf gnome-vfs" + + +PACKAGES =+ "${PN}-gnome ${PN}-gnome-dev " + +FILES_${PN}-gnome = "${libdir}/libgsf-gnome-1.so.*" +FILES_${PN}-gnome-dev = "${libdir}/libgsf-gnome-1.* ${includedir}/libgsf-1/gsf-gnome" + +inherit autotools pkgconfig gnome gconf + +EXTRA_OECONF = "\ + --without-python \ + --without-gnome \ + --disable-gtk-doc \ + --with-bz2" diff --git a/meta-demoapps/recipes-gnome/libgtkstylus/files/gtkstylus.sh b/meta-demoapps/recipes-gnome/libgtkstylus/files/gtkstylus.sh new file mode 100644 index 0000000000..b1302ede0e --- /dev/null +++ b/meta-demoapps/recipes-gnome/libgtkstylus/files/gtkstylus.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +GTK_MODULES=libgtkstylus.so + +export GTK_MODULES diff --git a/meta-demoapps/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb b/meta-demoapps/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb new file mode 100644 index 0000000000..f614048a16 --- /dev/null +++ b/meta-demoapps/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "GTK plugin for stylus based systems" +SECTION = "libs" +DEPENDS = "gtk+" +LICENSE = "LGPL" +PR = "r2" + +inherit autotools + +SRC_URI = "http://burtonini.com/temp/${PN}-${PV}.tar.gz \ + file://gtkstylus.sh" + +do_install_append() { + install -d ${D}/${sysconfdir}/X11/Xsession.d + install -m 755 ${WORKDIR}/gtkstylus.sh ${D}/${sysconfdir}/X11/Xsession.d/45gtkstylus +} + +# Horrible but rpm falls over if you use '*' +GTKVER = "2.10.0" + +FILES_${PN} = "${sysconfdir} \ + ${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.so.*" +FILES_${PN}-dbg += "${libdir}/gtk-2.0/${GTKVER}/modules/.debug" +FILES_${PN}-dev += "${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.so \ + ${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.*a" diff --git a/meta-demoapps/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch b/meta-demoapps/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch new file mode 100644 index 0000000000..136d89341f --- /dev/null +++ b/meta-demoapps/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch @@ -0,0 +1,13 @@ +Index: wv-1.2.0/wv-1.0.pc.in +=================================================================== +--- wv-1.2.0.orig/wv-1.0.pc.in 2008-03-19 22:25:18.000000000 +0000 ++++ wv-1.2.0/wv-1.0.pc.in 2008-03-19 22:26:32.000000000 +0000 +@@ -6,5 +6,6 @@ + Name: wvWare + Description: Word Document Filter library and utilities + Version: @VERSION@ +-Libs: -L${libdir} -lwv @WMF_LIBS@ @XML_LIBS@ @GLIB_LIBS@ @GSF_LIBS@ @PNG_LIBS@ @ZLIB_LIBS@ @LIBS@ -lm +-Cflags: -I${includedir}/wv @GSF_CFLAGS@ ++Requires: libgsf-1 ++Libs: -L${libdir} -lwv @WMF_LIBS@ @XML_LIBS@ @PNG_LIBS@ @ZLIB_LIBS@ @LIBS@ -lm ++Cflags: -I${includedir}/wv diff --git a/meta-demoapps/recipes-gnome/wv/wv_1.2.0.bb b/meta-demoapps/recipes-gnome/wv/wv_1.2.0.bb new file mode 100644 index 0000000000..c4c115b90e --- /dev/null +++ b/meta-demoapps/recipes-gnome/wv/wv_1.2.0.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Programs for accessing Microsoft Word documents" +HOMEPAGE = "http://wvware.sourceforge.net/" +LICENSE = "GPLv2" +DEPENDS = "libgsf glib-2.0" +PR = "r3" + +SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/wv-${PV}.tar.gz \ + file://pkgconfig.patch;patch=1" + +inherit autotools pkgconfig + +S = "${WORKDIR}/${PN}-${PV}" + +EXTRA_OECONF = "" -- cgit 1.2.3-korg