From 972dcfcdbfe75dcfeb777150c136576cf1a71e99 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Fri, 9 Oct 2015 22:59:03 +0200 Subject: initial commit for Enea Linux 5.0 arm Signed-off-by: Tudor Florea --- .../extending-libinstall-dependencies.patch | 42 + .../gdk-pixbuf/gdk-pixbuf/fatal-loader.patch | 79 + .../gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch | 33 + meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest | 3 + meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb | 96 ++ .../remove_plus_from_invalid_characters_list.patch | 19 + .../gnome/gconf/unable-connect-dbus.patch | 95 + meta/recipes-gnome/gnome/gconf_3.2.6.bb | 60 + meta/recipes-gnome/gnome/gnome-common_3.12.0.bb | 22 + meta/recipes-gnome/gnome/gnome-desktop.inc | 23 + meta/recipes-gnome/gnome/gnome-desktop_2.32.1.bb | 7 + meta/recipes-gnome/gnome/gnome-doc-utils.inc | 31 + .../gnome-doc-utils/sysrooted-pkg-config.patch | 35 + .../use-usr-bin-env-for-python-in-xml2po.patch | 30 + .../gnome/gnome-doc-utils/xsltproc_nonet.patch | 95 + .../recipes-gnome/gnome/gnome-doc-utils_0.20.10.bb | 13 + .../gnome/gnome-icon-theme/iconpath-option.patch | 49 + .../recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb | 24 + .../gnome/gnome-mime-data/pkgconfig.patch | 14 + meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb | 18 + .../gnome/gsettings-desktop-schemas_3.10.1.bb | 16 + .../gnome/libart-lgpl/Makefile.am.patch | 17 + .../gnome/libart-lgpl/aarch64/art_config.h | 10 + .../gnome/libart-lgpl/arm/art_config.h | 10 + .../gnome/libart-lgpl/i386/art_config.h | 10 + .../gnome/libart-lgpl/i586/art_config.h | 10 + .../gnome/libart-lgpl/i686/art_config.h | 10 + .../gnome/libart-lgpl/mips/art_config.h | 10 + .../gnome/libart-lgpl/mips64/art_config.h | 10 + .../gnome/libart-lgpl/mips64el/art_config.h | 10 + .../gnome/libart-lgpl/mipsel/art_config.h | 10 + .../gnome/libart-lgpl/powerpc/art_config.h | 10 + .../gnome/libart-lgpl/powerpc64/art_config.h | 10 + .../gnome/libart-lgpl/x86_64/art_config.h | 10 + meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb | 28 + ...utton-do-not-prelight-in-touchscreen-mode.patch | 48 + ...Duplicate-the-exec-string-returned-by-gtk.patch | 30 + .../gtk+/gtk+-2.24.24/cellrenderer-cairo.patch | 31 + .../gtk+/gtk+-2.24.24/configure-nm.patch | 21 + .../gtk+/gtk+-2.24.24/configurefix.patch | 87 + .../gtk+/gtk+-2.24.24/doc-fixes.patch | 22 + .../gtk+/gtk+-2.24.24/entry-cairo.patch | 105 ++ .../gtk+/gtk+-2.24.24/hardcoded_libtool.patch | 1814 ++++++++++++++++++++ .../gtk+/gtk+-2.24.24/run-iconcache.patch | 24 + .../gtk+/gtk+-2.24.24/toggle-font.diff | 102 ++ .../gtk+/gtk+-2.24.24/xsettings.patch | 20 + meta/recipes-gnome/gtk+/gtk+.inc | 94 + meta/recipes-gnome/gtk+/gtk+3.inc | 110 ++ .../gtk+/gtk+3/fix-flags-for-native.patch | 33 + .../gtk+/gtk+3/hardcoded_libtool.patch | 35 + meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb | 18 + meta/recipes-gnome/gtk+/gtk+_2.24.24.bb | 50 + .../gtk+/gtk-update-icon-cache-native_3.4.4.bb | 47 + .../recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb | 20 + .../gtk-engines/gtk-engines-2.20.2/glib-2.32.patch | 23 + .../gtk-engines-2.20.2/substitute-tests.patch | 37 + .../gtk-engines/gtk-engines_2.20.2.bb | 46 + .../gtk-theme-torturer/gtk-theme-torturer_git.bb | 21 + .../hicolor-icon-theme/files/index.theme | 1731 +++++++++++++++++++ .../hicolor-icon-theme/hicolor-icon-theme_0.13.bb | 23 + meta/recipes-gnome/json-glib/json-glib_1.0.0.bb | 20 + .../libffi/libffi/fix-libffi.la-location.patch | 18 + meta/recipes-gnome/libffi/libffi_3.1.bb | 24 + .../libglade/libglade-2.6.4/glade-cruft.patch | 102 ++ .../libglade/libglade-2.6.4/no-xml2.patch | 501 ++++++ .../libglade-2.6.4/python_environment.patch | 14 + meta/recipes-gnome/libglade/libglade_2.6.4.bb | 29 + meta/recipes-gnome/libnotify/libnotify_0.6.0.bb | 17 + .../recipes-gnome/librsvg/librsvg/gtk-option.patch | 62 + meta/recipes-gnome/librsvg/librsvg/vapigen.m4 | 96 ++ meta/recipes-gnome/librsvg/librsvg_2.40.2.bb | 59 + meta/recipes-gnome/libunique/libunique/build.patch | 421 +++++ .../libunique/fix_for_compile_with_gcc-4.6.0.patch | 36 + .../libunique/libunique/noconst.patch | 130 ++ meta/recipes-gnome/libunique/libunique_1.1.6.bb | 25 + 75 files changed, 7115 insertions(+) create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb create mode 100644 meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch create mode 100644 meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch create mode 100644 meta/recipes-gnome/gnome/gconf_3.2.6.bb create mode 100644 meta/recipes-gnome/gnome/gnome-common_3.12.0.bb create mode 100644 meta/recipes-gnome/gnome/gnome-desktop.inc create mode 100644 meta/recipes-gnome/gnome/gnome-desktop_2.32.1.bb create mode 100644 meta/recipes-gnome/gnome/gnome-doc-utils.inc create mode 100644 meta/recipes-gnome/gnome/gnome-doc-utils/sysrooted-pkg-config.patch create mode 100644 meta/recipes-gnome/gnome/gnome-doc-utils/use-usr-bin-env-for-python-in-xml2po.patch create mode 100644 meta/recipes-gnome/gnome/gnome-doc-utils/xsltproc_nonet.patch create mode 100644 meta/recipes-gnome/gnome/gnome-doc-utils_0.20.10.bb create mode 100644 meta/recipes-gnome/gnome/gnome-icon-theme/iconpath-option.patch create mode 100644 meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb create mode 100644 meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch create mode 100644 meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb create mode 100644 meta/recipes-gnome/gnome/gsettings-desktop-schemas_3.10.1.bb create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/Makefile.am.patch create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/aarch64/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/arm/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/i386/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/i586/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/i686/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/mips/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/mips64/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/mips64el/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/mipsel/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/powerpc/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/powerpc64/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl/x86_64/art_config.h create mode 100644 meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+.inc create mode 100644 meta/recipes-gnome/gtk+/gtk+3.inc create mode 100644 meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+3/hardcoded_libtool.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb create mode 100644 meta/recipes-gnome/gtk+/gtk+_2.24.24.bb create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb create mode 100644 meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb create mode 100644 meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/glib-2.32.patch create mode 100644 meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/substitute-tests.patch create mode 100644 meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb create mode 100644 meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb create mode 100644 meta/recipes-gnome/hicolor-icon-theme/files/index.theme create mode 100644 meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.13.bb create mode 100644 meta/recipes-gnome/json-glib/json-glib_1.0.0.bb create mode 100644 meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch create mode 100644 meta/recipes-gnome/libffi/libffi_3.1.bb create mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch create mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch create mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch create mode 100644 meta/recipes-gnome/libglade/libglade_2.6.4.bb create mode 100644 meta/recipes-gnome/libnotify/libnotify_0.6.0.bb create mode 100644 meta/recipes-gnome/librsvg/librsvg/gtk-option.patch create mode 100644 meta/recipes-gnome/librsvg/librsvg/vapigen.m4 create mode 100644 meta/recipes-gnome/librsvg/librsvg_2.40.2.bb create mode 100644 meta/recipes-gnome/libunique/libunique/build.patch create mode 100644 meta/recipes-gnome/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch create mode 100644 meta/recipes-gnome/libunique/libunique/noconst.patch create mode 100644 meta/recipes-gnome/libunique/libunique_1.1.6.bb (limited to 'meta/recipes-gnome') diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch new file mode 100644 index 0000000000..edbdced43a --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch @@ -0,0 +1,42 @@ +Upstream-Status: Pending + +This patch fixes parallel install issue that lib libpixbufloader-png.la +depends on libgdk_pixbuf-2.0.la which will be regenerated during insta- +llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time +libpixbufloader-png.la links it, the error will happen. + +Error message is: +* usr/bin/ld: cannot find -lgdk_pixbuf-2.0 +* collect2: ld returned 1 exit status + +Make an explicit dependency to the libs install targets would fix this +issue. + +Signed-off-by: Wenzong Fan +--- + gdk-pixbuf/Makefile.am | 1 + + libdeps.mk | 3 +++ + 2 files changed, 4 insertions(+), 0 deletions(-) + create mode 100644 libdeps.mk + +diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am +index 95a93a8..db44cae 100644 +--- a/gdk-pixbuf/Makefile.am ++++ b/gdk-pixbuf/Makefile.am +@@ -783,3 +783,4 @@ loaders.cache: + endif + + -include $(top_srcdir)/git.mk ++-include $(top_srcdir)/libdeps.mk +diff --git a/libdeps.mk b/libdeps.mk +new file mode 100644 +index 0000000..d7a10a8 +--- /dev/null ++++ b/libdeps.mk +@@ -0,0 +1,3 @@ ++# Extending dependencies of install-loaderLTLIBRARIES: ++# The $(lib-LTLIBRARIES) is needed by relinking $(loader_LTLIBRARIES) ++install-loaderLTLIBRARIES: install-libLTLIBRARIES +-- +1.7.6.1 + diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch new file mode 100644 index 0000000000..70146c6181 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch @@ -0,0 +1,79 @@ +If an environment variable is specified set the return value from main() to +non-zero if the loader had errors (missing libraries, generally). + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c +index a9ca015..395674a 100644 +--- a/gdk-pixbuf/queryloaders.c ++++ b/gdk-pixbuf/queryloaders.c +@@ -146,7 +146,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info) + g_string_append_c (contents, '\n'); + } + +-static void ++static gboolean + query_module (GString *contents, const char *dir, const char *file) + { + char *path; +@@ -155,6 +155,7 @@ query_module (GString *contents, const char *dir, const char *file) + void (*fill_vtable) (GdkPixbufModule *module); + gpointer fill_info_ptr; + gpointer fill_vtable_ptr; ++ gboolean ret = TRUE; + + if (g_path_is_absolute (file)) + path = g_strdup (file); +@@ -204,10 +205,13 @@ query_module (GString *contents, const char *dir, const char *file) + g_module_error()); + else + g_fprintf (stderr, "Cannot load loader %s\n", path); ++ ret = FALSE; + } + if (module) + g_module_close (module); + g_free (path); ++ ++ return ret; + } + + #ifdef G_OS_WIN32 +@@ -257,6 +261,7 @@ int main (int argc, char **argv) + GString *contents; + gchar *cache_file = NULL; + gint first_file = 1; ++ gboolean success = TRUE; + + #ifdef G_OS_WIN32 + gchar *libdir; +@@ -360,7 +365,8 @@ int main (int argc, char **argv) + gint len = strlen (dent); + if (len > SOEXT_LEN && + strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) { +- query_module (contents, path, dent); ++ if (!query_module (contents, path, dent)) ++ success = FALSE; + } + } + g_dir_close (dir); +@@ -378,7 +384,8 @@ int main (int argc, char **argv) + infilename = g_locale_to_utf8 (infilename, + -1, NULL, NULL, NULL); + #endif +- query_module (contents, cwd, infilename); ++ if (!query_module (contents, cwd, infilename)) ++ success = FALSE; + } + g_free (cwd); + } +@@ -394,5 +401,8 @@ int main (int argc, char **argv) + else + g_print ("%s\n", contents->str); + +- return 0; ++ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER")) ++ return success ? 0 : 1; ++ else ++ return 0; + } diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch new file mode 100644 index 0000000000..ecca62a712 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch @@ -0,0 +1,33 @@ +Upstream-Status: Inappropriate [configuration] + +Index: gdk-pixbuf-2.22.1/configure.ac +=================================================================== +--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800 ++++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800 +@@ -287,7 +287,7 @@ + case $enable_explicit_deps in + auto) + export SED +- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` ++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` + if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then + enable_explicit_deps=yes + else +@@ -484,7 +484,7 @@ + dnl Now we check to see if our libtool supports shared lib deps + dnl (in a rather ugly way even) + if $dynworks; then +- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" ++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config" + pixbuf_deplibs_check=`$pixbuf_libtool_config | \ + grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ + sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` +@@ -957,7 +957,7 @@ + # We are using gmodule-no-export now, but I'm leaving the stripping + # code in place for now, since pango and atk still require gmodule. + export SED +-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + if test -n "$export_dynamic"; then + GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"` + fi diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest new file mode 100644 index 0000000000..8f9072386e --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner gdk-pixbuf diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb new file mode 100644 index 0000000000..a63d4546f6 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb @@ -0,0 +1,96 @@ +SUMMARY = "Image loading library for GTK+" +HOMEPAGE = "http://www.gtk.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b" + +SECTION = "libs" + +DEPENDS = "glib-2.0" +DEPENDS_append_linuxstdbase = " virtual/libx11" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ + file://hardcoded_libtool.patch \ + file://extending-libinstall-dependencies.patch \ + file://run-ptest \ + file://fatal-loader.patch \ + " + +SRC_URI[md5sum] = "4fed0d54432f1b69fc6e66e608bd5542" +SRC_URI[sha256sum] = "4853830616113db4435837992c0aebd94cbb993c44dc55063cee7f72a7bef8be" + +inherit autotools pkgconfig gettext pixbufcache ptest-gnome + +LIBV = "2.10.0" + +GDK_PIXBUF_LOADERS ?= "png jpeg" + +PACKAGECONFIG ??= "${GDK_PIXBUF_LOADERS}" +PACKAGECONFIG_linuxstdbase = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} ${GDK_PIXBUF_LOADERS}" +PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}" + +PACKAGECONFIG[png] = "--with-libpng,--without-libpng,libpng" +PACKAGECONFIG[jpeg] = "--with-libjpeg,--without-libjpeg,jpeg" +PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff" +PACKAGECONFIG[jpeg2000] = "--with-libjasper,--without-libjasper,jasper" + +# Use GIO to sniff image format instead of trying all loaders +PACKAGECONFIG[gio-sniff] = "--enable-gio-sniffing,--disable-gio-sniffing,,shared-mime-info" +PACKAGECONFIG[x11] = "--with-x11,--without-x11,virtual/libx11" + +EXTRA_OECONF = "--disable-introspection" + +PACKAGES =+ "${PN}-xlib" + +FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" +ALLOW_EMPTY_${PN}-xlib = "1" + +FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ + ${bindir}/gdk-pixbuf-pixdata \ + ${libdir}/lib*.so.*" + +FILES_${PN}-dev += " \ + ${bindir}/gdk-pixbuf-csource \ + ${includedir}/* \ + ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ +" + +FILES_${PN}-dbg += " \ + ${libdir}/.debug/* \ + ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \ +" + +PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" +PACKAGES_DYNAMIC_class-native = "" + +python populate_packages_prepend () { + postinst_pixbufloader = d.getVar("postinst_pixbufloader", True) + + loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') + + packages = ' '.join(do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s')) + d.setVar('PIXBUF_PACKAGES', packages) + + # The test suite exercises all the loaders, so ensure they are all + # dependencies of the ptest package. + d.appendVar("RDEPENDS_gdk-pixbuf-ptest", " " + packages) +} + +do_install_append_class-native() { + find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; + + create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ + GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders +} +BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch b/meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch new file mode 100644 index 0000000000..59a7ca7802 --- /dev/null +++ b/meta/recipes-gnome/gnome/gconf/remove_plus_from_invalid_characters_list.patch @@ -0,0 +1,19 @@ +Upstream-Status: Pending + +Remove '+' from invalid characters list + +Signed-off-by: Laurentiu Palcu + +Index: GConf-3.2.5/gconf/gconf-backend.c +=================================================================== +--- GConf-3.2.5.orig/gconf/gconf-backend.c ++++ GConf-3.2.5/gconf/gconf-backend.c +@@ -37,7 +37,7 @@ static const char invalid_chars[] = + /* Space is common in user names (and thus home directories) on Windows */ + " " + #endif +- "\t\r\n\"$&<>,+=#!()'|{}[]?~`;%\\"; ++ "\t\r\n\"$&<>,=#!()'|{}[]?~`;%\\"; + + static gboolean + gconf_address_valid (const char *address, diff --git a/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch b/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch new file mode 100644 index 0000000000..f758a4bcc5 --- /dev/null +++ b/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch @@ -0,0 +1,95 @@ +Fixes errors such as this in the rootfs generation: + +(gconftool-2.real:10095): GConf-WARNING **: Client failed to connect to the D-BUS daemon: +Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead + +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Mon, 15 Apr 2013 09:57:34 -0400 +Subject: [PATCH] dbus: Don't spew to console when unable to connect to dbus + daemon + +Instead pass the error up for the caller to decide what to do. + +This prevent untrappable warning messages from showing up at the +console if gconftool --makefile-install-rule is called. +--- + gconf/gconf-dbus.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c +index 5610fcf..048e3ea 100644 +--- a/gconf/gconf-dbus.c ++++ b/gconf/gconf-dbus.c +@@ -105,7 +105,7 @@ static GHashTable *engines_by_db = NULL; + static GHashTable *engines_by_address = NULL; + static gboolean dbus_disconnected = FALSE; + +-static gboolean ensure_dbus_connection (void); ++static gboolean ensure_dbus_connection (GError **error); + static gboolean ensure_service (gboolean start_if_not_found, + GError **err); + static gboolean ensure_database (GConfEngine *conf, +@@ -383,7 +383,7 @@ gconf_engine_detach (GConfEngine *conf) + } + + static gboolean +-ensure_dbus_connection (void) ++ensure_dbus_connection (GError **err) + { + DBusError error; + +@@ -392,7 +392,9 @@ ensure_dbus_connection (void) + + if (dbus_disconnected) + { +- g_warning ("The connection to DBus was broken. Can't reinitialize it."); ++ g_set_error (err, GCONF_ERROR, ++ GCONF_ERROR_NO_SERVER, ++ "The connection to DBus was broken. Can't reinitialize it."); + return FALSE; + } + +@@ -402,7 +404,10 @@ ensure_dbus_connection (void) + + if (!global_conn) + { +- g_warning ("Client failed to connect to the D-BUS daemon:\n%s", error.message); ++ g_set_error (err, GCONF_ERROR, ++ GCONF_ERROR_NO_SERVER, ++ "Client failed to connect to the D-BUS daemon:\n%s", ++ error.message); + + dbus_error_free (&error); + return FALSE; +@@ -431,13 +436,8 @@ ensure_service (gboolean start_if_not_found, + + if (global_conn == NULL) + { +- if (!ensure_dbus_connection ()) +- { +- g_set_error (err, GCONF_ERROR, +- GCONF_ERROR_NO_SERVER, +- _("No D-BUS daemon running\n")); +- return FALSE; +- } ++ if (!ensure_dbus_connection (err)) ++ return FALSE; + + g_assert (global_conn != NULL); + } +@@ -2512,7 +2512,7 @@ gconf_ping_daemon (void) + { + if (global_conn == NULL) + { +- if (!ensure_dbus_connection ()) ++ if (!ensure_dbus_connection (NULL)) + { + return FALSE; + } +-- +1.7.10.4 + diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb new file mode 100644 index 0000000000..17fdafa969 --- /dev/null +++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb @@ -0,0 +1,60 @@ +SUMMARY = "GNOME configuration system" +SECTION = "x11/gnome" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" + +DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native gobject-introspection-stub" +DEPENDS_class-native = "glib-2.0-native dbus-native dbus-glib-native libxml2-native intltool-native gnome-common-native gobject-introspection-stub-native" + + +inherit gnomebase gtk-doc gettext + +SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;name=archive \ + file://remove_plus_from_invalid_characters_list.patch \ + file://unable-connect-dbus.patch \ +" + +SRC_URI[archive.md5sum] = "2b16996d0e4b112856ee5c59130e822c" +SRC_URI[archive.sha256sum] = "1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c" + +S = "${WORKDIR}/GConf-${PV}" + +EXTRA_OECONF = "--enable-shared --disable-static --enable-debug=yes \ + --disable-introspection --disable-orbit --with-openldap=no --disable-gtk" + +# Disable PolicyKit by default +PACKAGECONFIG ??= "" +# We really don't want PolicyKit for native or uclibc +PACKAGECONFIG_class-native = "" +PACKAGECONFIG_libc-uclibc = "" + +PACKAGECONFIG[policykit] = "--enable-defaults-service,--disable-defaults-service,polkit" + +do_install_append() { + # this directory need to be created to avoid an Error 256 at gdm launch + install -d ${D}${sysconfdir}/gconf/gconf.xml.system + + # this stuff is unusable + rm -f ${D}${libdir}/GConf/*/*.*a + rm -f ${D}${libdir}/gio/*/*.*a +} + +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/gconftool-2 \ + GCONF_BACKEND_DIR=${STAGING_LIBDIR_NATIVE}/GConf/2 +} + +# disable dbus-x11 when x11 isn't in DISTRO_FEATURES +RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'dbus-x11', '', d)}" +RDEPENDS_${PN}_class-native = "" + +FILES_${PN} += "${libdir}/GConf/* \ + ${libdir}/gio/*/*.so \ + ${datadir}/polkit* \ + ${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/system-services/*.service \ + " +FILES_${PN}-dbg += "${libdir}/*/*/.debug" +FILES_${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gnome/gnome-common_3.12.0.bb b/meta/recipes-gnome/gnome/gnome-common_3.12.0.bb new file mode 100644 index 0000000000..d3b6683090 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-common_3.12.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Common macros for building GNOME applications" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SECTION = "x11/gnome" +inherit gnomebase allarch + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI[archive.md5sum] = "da903a1c89b0a24e062227fa97d42fe7" +SRC_URI[archive.sha256sum] = "18712bc2df6b2dd88a11b9f7f874096d1c0c6e7ebc9cfc0686ef963bd590e1d8" + +EXTRA_AUTORECONF = "" +DEPENDS = "" + +FILES_${PN} += "${datadir}/aclocal" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gnome/gnome-desktop.inc b/meta/recipes-gnome/gnome/gnome-desktop.inc new file mode 100644 index 0000000000..3853022710 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-desktop.inc @@ -0,0 +1,23 @@ +SUMMARY = "GNOME library for reading .desktop files" +SECTION = "x11/gnome" +LICENSE = "GPLv2 & LGPLv2" +DEPENDS = "gconf libxrandr virtual/libx11 gtk+ glib-2.0 gnome-doc-utils startup-notification" + +EXTRA_OECONF = "--disable-scrollkeeper --disable-desktop-docs" + +do_configure_prepend () { + cp ${STAGING_DATADIR_NATIVE}/gnome-common/data/omf.make ${S} +} + +FILES_${PN} += "${datadir}/gnome-about ${datadir}/libgnome-desktop/pnp.ids" + +PR = "r6" + +inherit gnomebase + +do_install_append () { + sed -i -e's,${STAGING_BINDIR_NATIVE},${bindir},g' ${D}${bindir}/gnome-about + sed -i -e '1s,#!.*python,#! ${USRBINPATH}/env python,' ${D}${bindir}/gnome-about +} + + diff --git a/meta/recipes-gnome/gnome/gnome-desktop_2.32.1.bb b/meta/recipes-gnome/gnome/gnome-desktop_2.32.1.bb new file mode 100644 index 0000000000..424eafeaf0 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-desktop_2.32.1.bb @@ -0,0 +1,7 @@ +require gnome-desktop.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRC_URI[archive.md5sum] = "5c80d628a240eb9d9ff78913b31f2f67" +SRC_URI[archive.sha256sum] = "55cbecf67efe1fa1e57ac966520a7c46d799c8ba3c652a1219f60cafccb3739d" diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils.inc b/meta/recipes-gnome/gnome/gnome-doc-utils.inc new file mode 100644 index 0000000000..e148ce3350 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-doc-utils.inc @@ -0,0 +1,31 @@ +SUMMARY = "A collection of documentation utilities for the Gnome project" +DESCRIPTION = "The GNOME Documentation Build Utilities (gnome-doc- \ +utils) were created to make it easier for application developers to \ +include and create documentation in their releases. They include the \ +xml2po tool which makes it easier to translate and keep up to date \ +translations of documentation." +LICENSE = "GPLv2 & LGPLv2.1" +DEPENDS = "libxml2 libxslt libxslt-native gnome-doc-utils-native glib-2.0" +DEPENDS_class-native = "libxml2-native libxslt-native intltool-native glib-2.0-native" + +inherit gnomebase gettext python-dir pythonnative autotools-brokensep + +EXTRA_OECONF += "--disable-scrollkeeper" + +do_install_append() { + mkdir -p ${D}${datadir}/xml/gnome/xslt/ + cp -pPr ${S}/xslt/* ${D}${datadir}/xml/gnome/xslt/ + + chown -R root:root ${D} +} + +do_install_append_class-native () { + sed -i -e 's|^#!.*/usr/bin/env python|#! /usr/bin/env nativepython|' ${D}${bindir}/xml2po +} + +FILES_${PN} += "${datadir}/xml* ${PYTHON_SITEPACKAGES_DIR}/*" + +RDEPENDS_${PN} = "bash" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils/sysrooted-pkg-config.patch b/meta/recipes-gnome/gnome/gnome-doc-utils/sysrooted-pkg-config.patch new file mode 100644 index 0000000000..416d698641 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-doc-utils/sysrooted-pkg-config.patch @@ -0,0 +1,35 @@ +In cross environment we have to prepend the sysroot to the path found by +pkgconfig since the path returned from pkgconfig does not have sysroot prefixed +it ends up using the files from host system. Now usually people have gnome installed +so the build succeeds but if you dont have gnome installed on build host then +it wont find the files on host system and packages using gnome-doc-utils wont +compile. + +This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR +will be empty + +Upstream-Status: Pending +Signed-off-by: Khem Raj +Signed-off-by: Constantin Musca + +Index: gnome-doc-utils-0.20.10/tools/gnome-doc-utils.make +=================================================================== +--- gnome-doc-utils-0.20.10.orig/tools/gnome-doc-utils.make ++++ gnome-doc-utils-0.20.10/tools/gnome-doc-utils.make +@@ -133,11 +133,11 @@ _DOC_ABS_SRCDIR = @abs_srcdir@ + _xml2po ?= `which xml2po` + _xml2po_mode = $(if $(DOC_ID),mallard,docbook) + +-_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils` +-_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils` +-_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl +-_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl +-_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl ++_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils` ++_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils` ++_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl ++_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl ++_ids ?= ${PKG_CONFIG_SYSROOT_DIR}$(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl + + if ENABLE_SK + _ENABLE_SK = true diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils/use-usr-bin-env-for-python-in-xml2po.patch b/meta/recipes-gnome/gnome/gnome-doc-utils/use-usr-bin-env-for-python-in-xml2po.patch new file mode 100644 index 0000000000..0e196c0634 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-doc-utils/use-usr-bin-env-for-python-in-xml2po.patch @@ -0,0 +1,30 @@ +We can't use #!/full/path/to/python -u as this can be longer than shebang +allows for. In order to be appropraite for upstream more work would be +needed to make sure that the main xml2po code doesn't rely on python +being invoked with -u (force stdin/out/err to be used raw). + +Upstream-Status: Inappropriate [Would break behavior on Windows] +Signed-off-by: Constantin Musca + +Index: gnome-doc-utils-0.20.10/xml2po/xml2po/Makefile.am +=================================================================== +--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/Makefile.am ++++ gnome-doc-utils-0.20.10/xml2po/xml2po/Makefile.am +@@ -7,7 +7,6 @@ CLEANFILES = xml2po + + xml2po: xml2po.py.in + $(AM_V_GEN)sed -e "s/^VERSION =.*/VERSION = \"@VERSION@\"/" \ +- -e "s+^#!.*python.*+#!$(PYTHON)+" \ + < $(srcdir)/xml2po.py.in > xml2po + $(AM_V_at)chmod +x xml2po + +Index: gnome-doc-utils-0.20.10/xml2po/xml2po/xml2po.py.in +=================================================================== +--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/xml2po.py.in ++++ gnome-doc-utils-0.20.10/xml2po/xml2po/xml2po.py.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/python -u ++#!/usr/bin/env python + # -*- encoding: utf-8 -*- + # Copyright (c) 2004, 2005, 2006 Danilo Šegan . + # Copyright (c) 2009 Claude Paroz . diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils/xsltproc_nonet.patch b/meta/recipes-gnome/gnome/gnome-doc-utils/xsltproc_nonet.patch new file mode 100644 index 0000000000..9346494e95 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-doc-utils/xsltproc_nonet.patch @@ -0,0 +1,95 @@ +This adds the -nonet option to xsltproc invocations, which fixes +compile errors when building the gnome-doc-utils docs. + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Scott Garman +Signed-off-by: Constantin Musca + +Index: gnome-doc-utils-0.20.10/doc/xslt/Makefile.am +=================================================================== +--- gnome-doc-utils-0.20.10.orig/doc/xslt/Makefile.am ++++ gnome-doc-utils-0.20.10/doc/xslt/Makefile.am +@@ -21,14 +21,14 @@ all: $(xsldoc_docs) $(xsldoc_xmls) + + $(xsldoc_docs): $(xsldoc_xsls) xsldoc.awk xsldoc-fill.xsl + $(AM_V_GEN)$(GDU_AWK) -f "$(srcdir)/xsldoc.awk" "$(filter %/$(basename $(notdir $@)).xsl,$(xsldoc_xsls))" \ +- | xsltproc -o "$@" \ ++ | xsltproc -nonet -o "$@" \ + --stringparam basename "$(basename $(notdir $@))" \ + --stringparam xsl_file "$(filter %/$(basename $(notdir $@)).xsl,$(xsldoc_xsls))" \ + "$(srcdir)/xsldoc-fill.xsl" - + + $(xsldoc_xmls): xsldoc-docbook.xsl + $(xsldoc_xmls): C/%.xml : C/%.xsldoc +- $(AM_V_GEN)xsltproc -o "$@" \ ++ $(AM_V_GEN)xsltproc -nonet -o "$@" \ + --stringparam basename "$(basename $(notdir $@))" \ + --stringparam xsl_file "$(filter %/$(basename $(notdir $@)).xsl,$(xsldoc_xsls))" \ + "$(srcdir)/xsldoc-docbook.xsl" "$<" +@@ -62,7 +62,7 @@ gnome-doc-xslt-check-includes: + gnome-doc-xslt-check-xsldoc: $(xsldoc_docs) + @echo "Running xsldoc checks"; + @(echo ""; cat $(xsldoc_docs); echo "") \ +- | xsltproc "$(srcdir)/xsldoc-check.xsl" - 1> /dev/null ++ | xsltproc -nonet "$(srcdir)/xsldoc-check.xsl" - 1> /dev/null + + .PHONY: clean-xsldoc + clean-local: clean_xsldoc +Index: gnome-doc-utils-0.20.10/tools/gnome-doc-utils.make +=================================================================== +--- gnome-doc-utils-0.20.10.orig/tools/gnome-doc-utils.make ++++ gnome-doc-utils-0.20.10/tools/gnome-doc-utils.make +@@ -37,7 +37,7 @@ $(DOC_H_FILE): $(DOC_H_DOCS); + list='$(DOC_H_DOCS)'; for doc in $$list; do \ + xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ + if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ +- xsltproc --path "$$xmlpath" $(_credits) $$doc; \ ++ xsltproc -nonet --path "$$xmlpath" $(_credits) $$doc; \ + done | sort | uniq \ + | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \ + | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp +@@ -50,7 +50,7 @@ $(DOC_H_FILE): $(DOC_H_DOCS); + docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \ + | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \ + echo $$xmlpath; \ +- ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \ ++ ids=`xsltproc -nonet --xinclude --path "$$xmlpath" $(_ids) $$doc`; \ + for id in $$ids; do \ + echo '#define HELP_'`echo $$docid`'_'`echo $$id \ + | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \ +@@ -197,7 +197,7 @@ $(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : % + echo "The file '$(_skcontentslist)' does not exist." >&2; \ + echo "Please check your ScrollKeeper installation." >&2; \ + exit 1; } +- $(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; } ++ $(GDU_V_DB2OMF)xsltproc -nonet -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; } + + ## @ _DOC_OMF_HTML + ## The OMF files for HTML output +@@ -212,7 +212,7 @@ if ENABLE_SK + echo "Please check your ScrollKeeper installation." >&2; \ + exit 1; } + endif +- $(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; } ++ $(GDU_V_DB2OMF)xsltproc -nonet -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; } + + ## @ _DOC_OMF_ALL + ## All OMF output files to be built +@@ -267,7 +267,7 @@ _DOC_C_FIGURES = $(if $(DOC_FIGURES), + ## All HTML documentation in the C locale + # FIXME: probably have to shell escape to determine the file names + _DOC_C_HTML = $(foreach f, \ +- $(shell xsltproc --xinclude \ ++ $(shell xsltproc -nonet --xinclude \ + --stringparam db.chunk.basename "$(DOC_MODULE)" \ + $(_chunks) "C/$(DOC_MODULE).xml"), \ + C/$(f).xhtml) +@@ -393,7 +393,7 @@ _DOC_HTML_ALL = $(if $(filter html HTML, + _DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml) + + $(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS) +- $(GDU_V_DB2HTM)xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@) ++ $(GDU_V_DB2HTM)xsltproc -nonet -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@) + + + ################################################################################ diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.10.bb b/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.10.bb new file mode 100644 index 0000000000..321eb7f700 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.10.bb @@ -0,0 +1,13 @@ +require gnome-doc-utils.inc +LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ + file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343" + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI += "file://xsltproc_nonet.patch \ + file://use-usr-bin-env-for-python-in-xml2po.patch \ + file://sysrooted-pkg-config.patch \ + " + +SRC_URI[archive.md5sum] = "3c64ad7bacd617b04999e4a168afaac5" +SRC_URI[archive.sha256sum] = "cb0639ffa9550b6ddf3b62f3b1add92fb92ab4690d351f2353cffe668be8c4a6" diff --git a/meta/recipes-gnome/gnome/gnome-icon-theme/iconpath-option.patch b/meta/recipes-gnome/gnome/gnome-icon-theme/iconpath-option.patch new file mode 100644 index 0000000000..f840fca599 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-icon-theme/iconpath-option.patch @@ -0,0 +1,49 @@ +Version of the patch of the same name from sato-icon-theme JL - 20/10/10 +" +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" + +Upstream-Status: Pending + +Index: gnome-icon-theme-2.31.0/configure.ac +=================================================================== +--- gnome-icon-theme-2.31.0.orig/configure.ac 2010-12-01 11:00:22.000000000 +0800 ++++ gnome-icon-theme-2.31.0/configure.ac 2010-12-01 11:02:16.000000000 +0800 +@@ -38,18 +38,24 @@ + ICONMAP="true" + if test "x$enable_mapping" != "xno"; then + UTILS_REQUIRED=0.8.7 ++ PKG_PROG_PKG_CONFIG() + +- 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 gnome-icon-theme]) ++ AC_ARG_WITH(iconmap, ++ AC_HELP_STRING([--with-iconmap=], [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 + else + ICONMAP="false" diff --git a/meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb b/meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb new file mode 100644 index 0000000000..ee018bdc40 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "GNOME 2 default icon themes" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome" + +LICENSE = "LGPLv3+ | CC-BY-SA-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=e7e289d90fc8bdceed5e3f142f98229e" + +PR = "r5" + +DEPENDS = "icon-naming-utils-native glib-2.0 intltool-native libxml-simple-perl-native" + +inherit autotools perlnative gtk-icon-cache pkgconfig + +SRC_URI = "${GNOME_MIRROR}/${BPN}/2.31/${BPN}-${PV}.tar.bz2 \ + file://iconpath-option.patch" + +SRC_URI[md5sum] = "8e727703343d4c18c73c79dd2009f8ed" +SRC_URI[sha256sum] = "ea7e05b77ead159379392b3b275ca0c9cbacd7d936014e447cc7c5e27a767982" + +EXTRA_OECONF = "--with-iconmap=${@d.getVar('STAGING_LIBEXECDIR_NATIVE', True).replace('gnome-icon-theme', 'icon-naming-utils')}/icon-name-mapping" + +FILES_${PN} += "${datadir}/*" +RRECOMMENDS_${PN} += "librsvg-gtk" diff --git a/meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch b/meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch new file mode 100644 index 0000000000..09034255d8 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch @@ -0,0 +1,14 @@ +Upstream-Status: Inappropriate [configuration] + +Index: gnome-mime-data-2.18.0/Makefile.am +=================================================================== +--- gnome-mime-data-2.18.0.orig/Makefile.am 2009-06-11 17:27:48.000000000 +0100 ++++ gnome-mime-data-2.18.0/Makefile.am 2009-06-11 17:27:59.000000000 +0100 +@@ -1,6 +1,6 @@ + SUBDIRS = man po + +-pkgconfigdir = $(datadir)/pkgconfig ++pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = gnome-mime-data-2.0.pc + + NULL= diff --git a/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb b/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb new file mode 100644 index 0000000000..65b79f0dc2 --- /dev/null +++ b/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Base MIME and Application database for GNOME" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://check-mime.pl;endline=26;md5=a95b63c92c33d4ca1af61a315888f450" + +inherit gnomebase mime +PR = "r4" + +SRC_URI += "file://pkgconfig.patch" + +SRC_URI[archive.md5sum] = "541858188f80090d12a33b5a7c34d42c" +SRC_URI[archive.sha256sum] = "37196b5b37085bbcd45c338c36e26898fe35dd5975295f69f48028b1e8436fd7" + +DEPENDS += "shared-mime-info intltool-native" +RDEPENDS_${PN} = "shared-mime-info" diff --git a/meta/recipes-gnome/gnome/gsettings-desktop-schemas_3.10.1.bb b/meta/recipes-gnome/gnome/gsettings-desktop-schemas_3.10.1.bb new file mode 100644 index 0000000000..a0123d9005 --- /dev/null +++ b/meta/recipes-gnome/gnome/gsettings-desktop-schemas_3.10.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "GNOME desktop-wide GSettings schemas" +HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" +PR = "r1" + +DEPENDS = "glib-2.0 intltool-native gobject-introspection-stub-native" + +inherit gnomebase gsettings gettext + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI[archive.md5sum] = "f9ffca591a984f19a1dd9caeb96b5f23" +SRC_URI[archive.sha256sum] = "452378c4960a145747ec69f8c6a874e5b7715454df3e2452d1ff1a0a82e76811" diff --git a/meta/recipes-gnome/gnome/libart-lgpl/Makefile.am.patch b/meta/recipes-gnome/gnome/libart-lgpl/Makefile.am.patch new file mode 100644 index 0000000000..190ba96085 --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/Makefile.am.patch @@ -0,0 +1,17 @@ +Upstream-Status: Inappropriate [configuration] + +Index: libart_lgpl-2.3.21/Makefile.am +=================================================================== +--- libart_lgpl-2.3.21.orig/Makefile.am 2009-04-18 05:29:25.000000000 -0700 ++++ libart_lgpl-2.3.21/Makefile.am 2010-11-23 23:12:32.445450075 -0800 +@@ -7,8 +7,8 @@ + + BUILT_SOURCES = art_config.h + +-art_config.h: +- ./gen_art_config.sh > art_config.h ++#art_config.h: ++# ./gen_art_config.sh > art_config.h + + EXTRA_DIST = \ + libart.def \ diff --git a/meta/recipes-gnome/gnome/libart-lgpl/aarch64/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/aarch64/art_config.h new file mode 100644 index 0000000000..500ffc38f1 --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/aarch64/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 8 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/arm/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/arm/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/arm/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/i386/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/i386/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/i386/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/i586/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/i586/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/i586/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/i686/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/i686/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/i686/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/mips/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/mips/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/mips/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/mips64/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/mips64/art_config.h new file mode 100644 index 0000000000..d10cd957d5 --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/mips64/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 8 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/mips64el/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/mips64el/art_config.h new file mode 100644 index 0000000000..d10cd957d5 --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/mips64el/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 8 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/mipsel/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/mipsel/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/mipsel/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/powerpc/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/powerpc/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/powerpc/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/powerpc64/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/powerpc64/art_config.h new file mode 100644 index 0000000000..500ffc38f1 --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/powerpc64/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 8 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl/x86_64/art_config.h b/meta/recipes-gnome/gnome/libart-lgpl/x86_64/art_config.h new file mode 100644 index 0000000000..500ffc38f1 --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl/x86_64/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 8 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb b/meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb new file mode 100644 index 0000000000..4966ea4c7a --- /dev/null +++ b/meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb @@ -0,0 +1,28 @@ +SUMMARY = "Library of functions for 2D graphics" +SECTION = "x11/gnome" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" +PR = "r2" + +ART_CONFIG = "${HOST_ARCH}/art_config.h" + +# can't use gnome.oeclass due to _ in filename +SRC_URI = "${GNOME_MIRROR}/libart_lgpl/2.3/libart_lgpl-${PV}.tar.bz2 \ + file://${ART_CONFIG} \ + file://Makefile.am.patch" + +SRC_URI[md5sum] = "08559ff3c67fd95d57b0c5e91a6b4302" +SRC_URI[sha256sum] = "fdc11e74c10fc9ffe4188537e2b370c0abacca7d89021d4d303afdf7fd7476fa" + +inherit autotools pkgconfig + +DEPENDS = "" + +FILES_${PN} = "${libdir}/*.so.*" +FILES_${PN}-dev += "${bindir}/libart2-config" + +S = "${WORKDIR}/libart_lgpl-${PV}" + +do_configure_prepend() { + cp ${WORKDIR}/${ART_CONFIG} ${S}/art_config.h +} diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch new file mode 100644 index 0000000000..71e334d897 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch @@ -0,0 +1,48 @@ +From d1f7a894674dfdd6769f1bbae31eb1a69e451a5c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 16 Nov 2012 22:07:28 +0100 +Subject: [PATCH] GtkButton: do not prelight in touchscreen mode +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Code was copied from GtkToggleButton. + +Upstream-Status: submitted [1] + +[1] https://bugzilla.gnome.org/show_bug.cgi?id=689138 + +Signed-off-by: Andreas Müller +--- + gtk/gtkbutton.c | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c +index f472007..1beb1b6 100644 +--- a/gtk/gtkbutton.c ++++ b/gtk/gtkbutton.c +@@ -2079,15 +2079,19 @@ _gtk_button_set_depressed (GtkButton *button, + static void + gtk_button_update_state (GtkButton *button) + { +- gboolean depressed; ++ gboolean depressed, touchscreen; + GtkStateType new_state; + ++ g_object_get (gtk_widget_get_settings (GTK_WIDGET (button)), ++ "gtk-touchscreen-mode", &touchscreen, ++ NULL); ++ + if (button->activate_timeout) + depressed = button->depress_on_activate; + else + depressed = button->in_button && button->button_down; + +- if (button->in_button && (!button->button_down || !depressed)) ++ if (!touchscreen && button->in_button && (!button->button_down || !depressed)) + new_state = GTK_STATE_PRELIGHT; + else + new_state = depressed ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL; +-- +1.7.6.5 + diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch new file mode 100644 index 0000000000..354f0ab376 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch @@ -0,0 +1,30 @@ +From 69b9441eab2a7215509687dc22b48b6f212d22aa Mon Sep 17 00:00:00 2001 +From: Rob Bradford +Date: Thu, 4 Jun 2009 15:43:20 +0100 +Subject: [PATCH] =?utf-8?q?bgo#584832=20=E2=80=93=20Duplicate=20the=20exec=20string=20returned=20by=20gtk=5Frecent=5Finfo=5Fget=5Fapplication=5Finfo?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +This function states that the caller is responsible for freeing the string +passed returned by reference. Unfortunately if you do this you get a crash +since the internal value is returned without being duplicated. +--- + gtk/gtkrecentmanager.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +Upstream-Status: Pending + +Index: gtk+-2.21.2/gtk/gtkrecentmanager.c +=================================================================== +--- gtk+-2.21.2.orig/gtk/gtkrecentmanager.c 2010-06-22 18:11:30.000000000 +0800 ++++ gtk+-2.21.2/gtk/gtkrecentmanager.c 2010-06-22 18:11:53.000000000 +0800 +@@ -1766,7 +1766,7 @@ + } + + if (app_exec) +- *app_exec = ai->exec; ++ *app_exec = g_strdup (ai->exec); + + if (count) + *count = ai->count; diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch new file mode 100644 index 0000000000..ba893292d6 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch @@ -0,0 +1,31 @@ +Upstream-Status: Pending + +Index: gtk/gtkcellrenderer.c +=================================================================== +--- gtk/gtkcellrenderer.c.orig 2010-06-22 17:21:22.000000000 +0800 ++++ gtk/gtkcellrenderer.c 2010-06-22 17:21:25.000000000 +0800 +@@ -566,6 +566,7 @@ + + if (cell->cell_background_set && !selected) + { ++#ifdef USE_CAIRO_INTERNALLY + cairo_t *cr = gdk_cairo_create (window); + + gdk_cairo_rectangle (cr, background_area); +@@ -573,6 +574,16 @@ + cairo_fill (cr); + + cairo_destroy (cr); ++#else ++ GdkGC *gc; ++ ++ gc = gdk_gc_new (window); ++ gdk_gc_set_rgb_fg_color (gc, &priv->cell_background); ++ gdk_draw_rectangle (window, gc, TRUE, ++ background_area->x, background_area->y, ++ background_area->width, background_area->height); ++ g_object_unref (gc); ++#endif + } + + GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell, diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch new file mode 100644 index 0000000000..d67b797852 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch @@ -0,0 +1,21 @@ +Upstream-Status: Pending +https://bugzilla.gnome.org/show_bug.cgi?id=671515 + +Signed-Off-By: Xiaofeng Yan +# Pick up ${NM} from the environment + +Updated to apply to gtk+-2.24.15 + +Signed-off-by: Marko Lindqvist +diff -Nurd gtk+-2.24.15/configure.ac gtk+-2.24.15/configure.ac +--- gtk+-2.24.15/configure.ac 2013-01-12 20:52:54.000000000 +0200 ++++ gtk+-2.24.15/configure.ac 2013-02-12 21:25:06.073937041 +0200 +@@ -190,7 +190,7 @@ + AC_SYS_LARGEFILE + + AM_PROG_AS +-AC_PATH_PROG(NM, nm, nm) ++AC_CHECK_TOOLS(NM, [$NM nm], nm) + + dnl Initialize maintainer mode + AM_MAINTAINER_MODE([enable]) diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch new file mode 100644 index 0000000000..2803691246 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch @@ -0,0 +1,87 @@ +Upstream-Status: Inappropriate [configuration] + +Index: gtk+-2.21.2/docs/faq/Makefile.am +=================================================================== +--- gtk+-2.21.2.orig/docs/faq/Makefile.am 2010-04-09 10:29:53.000000000 +0800 ++++ gtk+-2.21.2/docs/faq/Makefile.am 2010-06-22 17:39:24.000000000 +0800 +@@ -3,34 +3,36 @@ + EXTRA_DIST += \ + gtk-faq.sgml + +-if HAVE_DOCBOOK ++ + html: ++if HAVE_DOCBOOK + if test -w $(srcdir); then \ + (cd $(srcdir); \ + db2html gtk-faq.sgml; \ + test -d html && rm -r html; \ + mv gtk-faq html); \ + fi +- +-pdf: +- if test -w $(srcdir); then \ +- (cd $(srcdir); db2pdf gtk-faq.sgml); \ +- fi +- +-dist-hook: html +- cp -Rp $(srcdir)/html $(distdir) + else +-html: + echo "***" + echo "*** Warning: FAQ not built" + echo "***" ++endif + + pdf: ++if HAVE_DOCBOOK ++ if test -w $(srcdir); then \ ++ (cd $(srcdir); db2pdf gtk-faq.sgml); \ ++ fi ++else + echo "***" + echo "*** Warning: FAQ not built" + echo "***" ++endif + +-dist-hook: ++dist-hook: html ++if HAVE_DOCBOOK ++ cp -Rp $(srcdir)/html $(distdir) ++else + echo "***" + echo "*** Warning: FAQ not built" + echo "*** DISTRIBUTION IS INCOMPLETE" +Index: gtk+-2.21.2/gtk-doc.make +=================================================================== +--- gtk+-2.21.2.orig/gtk-doc.make 2010-05-28 00:01:48.000000000 +0800 ++++ gtk+-2.21.2/gtk-doc.make 2010-06-22 17:39:24.000000000 +0800 +@@ -23,7 +23,7 @@ + + TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) + +-EXTRA_DIST = \ ++EXTRA_DIST += \ + $(content_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ +Index: gtk+-2.21.2/gtk/tests/Makefile.am +=================================================================== +--- gtk+-2.21.2.orig/gtk/tests/Makefile.am 2010-06-10 20:53:46.000000000 +0800 ++++ gtk+-2.21.2/gtk/tests/Makefile.am 2010-06-22 17:39:24.000000000 +0800 +@@ -58,13 +58,13 @@ + # this doesn't work in make distcheck, since running + # on a naked X server creates slightly different event + # sequences than running on a normal desktop +-# TEST_PROGS += crossingevents ++#TEST_PROGS += crossingevents + crossingevents_SOURCES = crossingevents.c + crossingevents_LDADD = $(progs_ldadd) + + # this doesn't work in make distcheck, since it doesn't + # find file-chooser-test-dir +-# TEST_PROGS += filechooser ++#TEST_PROGS += filechooser + filechooser_SOURCES = filechooser.c pixbuf-init.c + filechooser_LDADD = $(progs_ldadd) + diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch new file mode 100644 index 0000000000..74e479fd1b --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch @@ -0,0 +1,22 @@ +There are issues building the gtk+ tutorial and faq documentation. +Since they were removed in gtk+ upstream and are superfluous in +embedded applications, just don't build them. + +Thanks to Joshua Lock for suggesting this approach. + +Signed-off-by: Scott Garman + +Upstream-Status: Inappropriate [embedded specific] + +diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am +--- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800 ++++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800 +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in + include $(top_srcdir)/Makefile.decl + +-SUBDIRS = tutorial faq reference tools ++SUBDIRS = reference tools + + EXTRA_DIST += \ + defsformat.txt \ diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch new file mode 100644 index 0000000000..3083b77830 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch @@ -0,0 +1,105 @@ +Upstream-Status: Pending + +Index: gtk/gtkentry.c +=================================================================== +RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v +retrieving revision 1.317 +diff -u -r1.317 gtkentry.c +--- gtk/gtkentry.c 29 Jun 2006 09:18:05 -0000 1.317 ++++ gtk/gtkentry.c 2 Jul 2006 14:14:24 -0000 +@@ -3337,7 +3337,9 @@ + if (GTK_WIDGET_DRAWABLE (entry)) + { + PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE); ++#ifdef USE_CAIRO_INTERNALLY + cairo_t *cr; ++#endif + gint x, y; + gint start_pos, end_pos; + +@@ -3345,23 +3347,35 @@ + + get_layout_position (entry, &x, &y); + ++#ifdef USE_CAIRO_INTERNALLY + cr = gdk_cairo_create (entry->text_area); + + cairo_move_to (cr, x, y); + gdk_cairo_set_source_color (cr, &widget->style->text [widget->state]); + pango_cairo_show_layout (cr, layout); ++#else ++ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state], ++ x, y, ++ layout); ++#endif + + if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos)) + { + gint *ranges; + gint n_ranges, i; + PangoRectangle logical_rect; +- GdkColor *selection_color, *text_color; + GtkBorder inner_border; ++#ifdef USE_CAIRO_INTERNALLY ++ GdkColor *selection_color, *text_color; ++#else ++ GdkGC *selection_gc, *text_gc; ++ GdkRegion *clip_region; ++#endif + + pango_layout_get_pixel_extents (layout, NULL, &logical_rect); + gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges); + ++#ifdef USE_CAIRO_INTERNALLY + if (GTK_WIDGET_HAS_FOCUS (entry)) + { + selection_color = &widget->style->base [GTK_STATE_SELECTED]; +@@ -3390,11 +3404,46 @@ + cairo_move_to (cr, x, y); + gdk_cairo_set_source_color (cr, text_color); + pango_cairo_show_layout (cr, layout); +- ++#else ++ if (GTK_WIDGET_HAS_FOCUS (entry)) ++ { ++ selection_gc = widget->style->base_gc [GTK_STATE_SELECTED]; ++ text_gc = widget->style->text_gc [GTK_STATE_SELECTED]; ++ } ++ else ++ { ++ selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE]; ++ text_gc = widget->style->text_gc [GTK_STATE_ACTIVE]; ++ } ++ ++ clip_region = gdk_region_new (); ++ for (i = 0; i < n_ranges; ++i) ++ { ++ GdkRectangle rect; ++ ++ rect.x = inner_border.left - entry->scroll_offset + ranges[2 * i]; ++ rect.y = y; ++ rect.width = ranges[2 * i + 1]; ++ rect.height = logical_rect.height; ++ ++ gdk_draw_rectangle (entry->text_area, selection_gc, TRUE, ++ rect.x, rect.y, rect.width, rect.height); ++ ++ gdk_region_union_with_rect (clip_region, &rect); ++ } ++ ++ gdk_gc_set_clip_region (text_gc, clip_region); ++ gdk_draw_layout (entry->text_area, text_gc, ++ x, y, ++ layout); ++ gdk_gc_set_clip_region (text_gc, NULL); ++ gdk_region_destroy (clip_region); ++#endif + g_free (ranges); + } +- ++#ifdef USE_CAIRO_INTERNALLY + cairo_destroy (cr); ++#endif + } + } + diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch new file mode 100644 index 0000000000..13ff318768 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch @@ -0,0 +1,1814 @@ +Upstream-Status: Inappropriate [embedded specific] + +Updated to apply to gtk+-2.24.15 + +Signed-off-by: Marko Lindqvist +diff -Nurd gtk+-2.24.15/configure.ac gtk+-2.24.15/configure.ac +--- gtk+-2.24.15/configure.ac 2013-01-12 20:52:54.000000000 +0200 ++++ gtk+-2.24.15/configure.ac 2013-02-12 21:33:30.689925967 +0200 +@@ -415,7 +415,7 @@ + case $enable_explicit_deps in + auto) + export SED +- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` ++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` + if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then + enable_explicit_deps=yes + else +@@ -774,7 +774,7 @@ + dnl Now we check to see if our libtool supports shared lib deps + dnl (in a rather ugly way even) + if $dynworks; then +- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" ++ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config" + module_deplibs_check=`$module_libtool_config | \ + grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ + sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` +@@ -1574,7 +1574,7 @@ + # We are using gmodule-no-export now, but I'm leaving the stripping + # code in place for now, since pango and atk still require gmodule. + export SED +-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + if test -n "$export_dynamic"; then + GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` + GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` +diff -Nurd gtk+-2.24.15/configure.ac.orig gtk+-2.24.15/configure.ac.orig +--- gtk+-2.24.15/configure.ac.orig 1970-01-01 02:00:00.000000000 +0200 ++++ gtk+-2.24.15/configure.ac.orig 2013-02-12 21:33:21.821926163 +0200 +@@ -0,0 +1,1775 @@ ++# Process this file with autoconf to produce a configure script. ++# Process this file with autoconf to produce a configure script. ++# require autoconf 2.54 ++AC_PREREQ(2.62) ++ ++# Making releases: ++# GTK_MICRO_VERSION += 1; ++# GTK_INTERFACE_AGE += 1; ++# GTK_BINARY_AGE += 1; ++# if any functions have been added, set GTK_INTERFACE_AGE to 0. ++# if backwards compatibility has been broken, ++# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0. ++ ++m4_define([gtk_major_version], [2]) ++m4_define([gtk_minor_version], [24]) ++m4_define([gtk_micro_version], [15]) ++m4_define([gtk_interface_age], [15]) ++m4_define([gtk_binary_age], ++ [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) ++m4_define([gtk_version], ++ [gtk_major_version.gtk_minor_version.gtk_micro_version]) ++# This is the X.Y used in -lgtk-FOO-X.Y ++m4_define([gtk_api_version], [2.0]) ++ ++# Define a string for the earliest version that this release has ++# backwards binary compatibility with for all interfaces a module ++# might. Unless we add module-only API with lower stability ++# guarantees, this should be unchanged until we break binary compat ++# for GTK+. ++# ++#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT ++m4_define([gtk_binary_version], [2.10.0]) ++ ++# required versions of other packages ++m4_define([glib_required_version], [2.28.0]) ++m4_define([pango_required_version], [1.20]) ++m4_define([atk_required_version], [1.29.2]) ++m4_define([cairo_required_version], [1.6]) ++m4_define([gdk_pixbuf_required_version], [2.21.0]) ++ ++ ++AC_INIT([gtk+], [gtk_version], ++ [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B], ++ [gtk+]) ++ ++AC_CONFIG_SRCDIR([gdk/gdktypes.h]) ++AC_CONFIG_HEADERS([config.h]) ++AC_CONFIG_MACRO_DIR([m4]) ++ ++# Save this value here, since automake will set cflags later ++cflags_set=${CFLAGS+set} ++ ++AM_INIT_AUTOMAKE([no-define -Wno-portability dist-bzip2]) ++ ++# Support silent build rules, requires at least automake-1.11. Enable ++# by either passing --enable-silent-rules to configure or passing V=0 ++# to make ++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])]) ++ ++# ++# For each of the libraries we build, we define the following ++ ++# substituted variables: ++# ++# foo_PACKAGES: pkg-config packages this library requires ++# foo_EXTRA_LIBS: Libraries this module requires not pulled in by pkg-config ++# foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config ++# foo_DEP_LIBS: All libraries this module requires ++# foo_DEP_CFLAGS: All cflags this module requires ++ ++ ++GTK_MAJOR_VERSION=gtk_major_version ++GTK_MINOR_VERSION=gtk_minor_version ++GTK_MICRO_VERSION=gtk_micro_version ++GTK_INTERFACE_AGE=gtk_interface_age ++GTK_BINARY_AGE=gtk_binary_age ++GTK_VERSION=gtk_version ++GTK_API_VERSION=gtk_api_version ++GTK_BINARY_VERSION=gtk_binary_version ++AC_SUBST(GTK_MAJOR_VERSION) ++AC_SUBST(GTK_MINOR_VERSION) ++AC_SUBST(GTK_MICRO_VERSION) ++AC_SUBST(GTK_INTERFACE_AGE) ++AC_SUBST(GTK_BINARY_AGE) ++AC_SUBST(GTK_API_VERSION) ++AC_SUBST(GTK_VERSION) ++AC_SUBST(GTK_BINARY_VERSION) ++ ++# libtool versioning ++#LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION ++#LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE` ++#LT_REVISION=$GTK_INTERFACE_AGE ++#LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE` ++#LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE` ++ ++m4_define([lt_current], [m4_eval(100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)]) ++m4_define([lt_revision], [gtk_interface_age]) ++m4_define([lt_age], [m4_eval(gtk_binary_age - gtk_interface_age)]) ++LT_VERSION_INFO="lt_current:lt_revision:lt_age" ++LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age) ++AC_SUBST(LT_VERSION_INFO) ++AC_SUBST(LT_CURRENT_MINUS_AGE) ++ ++m4_define([gail_lt_current],[18]) ++m4_define([gail_lt_revision],[1]) ++m4_define([gail_lt_age],[0]) ++m4_define([gail_lt_version_info],[gail_lt_current:gail_lt_revision:gail_lt_age]) ++m4_define([gail_lt_current_minus_age],[m4_eval(gail_lt_current - gail_lt_age)]) ++AC_SUBST([GAIL_LT_VERSION_INFO],[gail_lt_version_info]) ++AC_SUBST([GAIL_LT_CURRENT_MINUS_AGE],[gail_lt_current_minus_age]) ++ ++GETTEXT_PACKAGE=gtk20 ++AC_SUBST(GETTEXT_PACKAGE) ++AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", ++ [The prefix for our gettext translation domains.]) ++ ++AC_CANONICAL_HOST ++ ++MATH_LIB=-lm ++AC_MSG_CHECKING([for native Win32]) ++LIB_EXE_MACHINE_FLAG=X86 ++EXE_MANIFEST_ARCHITECTURE=X86 ++case "$host" in ++ *-*-mingw*) ++ os_win32=yes ++ gio_can_sniff=no ++ MATH_LIB= ++ case "$host" in ++ x86_64-*-*) ++ LIB_EXE_MACHINE_FLAG=X64 ++ EXE_MANIFEST_ARCHITECTURE=AMD64 ++ ;; ++ esac ++ ;; ++ *) ++ os_win32=no ++ ;; ++esac ++AC_MSG_RESULT([$os_win32]) ++ ++AC_SUBST(LIB_EXE_MACHINE_FLAG) ++AC_SUBST(EXE_MANIFEST_ARCHITECTURE) ++ ++case $host in ++ *-*-linux*) ++ os_linux=yes ++ ;; ++esac ++ ++dnl Initialize libtool ++AC_PROG_CC ++AM_DISABLE_STATIC ++ ++dnl ++dnl Check for a working C++ compiler, but do not bail out, if none is found. ++dnl We use this for an automated test for C++ header correctness. ++dnl ++AC_CHECK_TOOLS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc) ++AC_LANG_SAVE ++AC_LANG_CPLUSPLUS ++ ++AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=) ++AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "") ++ ++gtk_save_cxxflags="$CXXFLAGS" ++CXXFLAGS="$CXXFLAGS -x objective-c++" ++AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no) ++AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" = "yes") ++CXXFLAGS="$gtk_save_cxxflags" ++AC_LANG_RESTORE ++ ++if test "$os_win32" = "yes"; then ++ if test x$enable_static = xyes -o x$enable_static = x; then ++ AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.]) ++ enable_static=no ++ fi ++ if test x$enable_shared = xno; then ++ AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.]) ++ fi ++ enable_shared=yes ++fi ++ ++AC_LIBTOOL_WIN32_DLL ++AM_PROG_LIBTOOL ++dnl when using libtool 2.x create libtool early, because it's used in configure ++m4_ifdef([LT_OUTPUT], [LT_OUTPUT]) ++ ++ ++# Make sure we use 64-bit versions of various file stuff. ++AC_SYS_LARGEFILE ++ ++AM_PROG_AS ++AC_PATH_PROG(NM, nm, nm) ++ ++dnl Initialize maintainer mode ++AM_MAINTAINER_MODE([enable]) ++ ++AC_MSG_CHECKING([for some Win32 platform]) ++case "$host" in ++ *-*-mingw*|*-*-cygwin*) ++ platform_win32=yes ++ ;; ++ *) ++ platform_win32=no ++ ;; ++esac ++AC_MSG_RESULT([$platform_win32]) ++AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") ++ ++AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") ++AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes") ++AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes") ++ ++if test "$os_win32" = "yes"; then ++ AC_CHECK_TOOL(WINDRES, windres, no) ++ if test "$WINDRES" = no; then ++ AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.]) ++ fi ++ AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) ++fi ++AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes) ++ ++m4_define([debug_default], ++ m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum])) ++ ++dnl declare --enable-* args and collect ac_help strings ++AC_ARG_ENABLE(debug, ++ AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], ++ [turn on debugging @<:@default=debug_default@:>@]),, ++ enable_debug=debug_default) ++AC_ARG_ENABLE(shm, ++ [AC_HELP_STRING([--enable-shm], ++ [support shared memory if available [default=yes]])],, ++ [enable_shm="yes"]) ++AC_ARG_ENABLE(xkb, ++ [AC_HELP_STRING([--enable-xkb], ++ [support XKB [default=maybe]])],, ++ [enable_xkb="maybe"]) ++AC_ARG_ENABLE(xinerama, ++ [AC_HELP_STRING([--enable-xinerama], ++ [support xinerama extension if available [default=yes]])],, ++ [enable_xinerama="yes"]) ++AC_ARG_ENABLE(rebuilds, ++ [AC_HELP_STRING([--disable-rebuilds], ++ [disable all source autogeneration rules])],, ++ [enable_rebuilds=yes]) ++AC_ARG_ENABLE(visibility, ++ [AC_HELP_STRING([--disable-visibility], ++ [don't use ELF visibility attributes])],, ++ [enable_visibility=yes]) ++ ++AC_ARG_WITH(xinput, ++ [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])]) ++ ++if test "$platform_win32" = yes; then ++ gdktarget=win32 ++else ++ gdktarget=x11 ++fi ++ ++AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target], ++ gdktarget=$with_gdktarget) ++ ++AC_SUBST(gdktarget) ++case $gdktarget in ++ x11|win32|quartz|directfb) ;; ++ *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);; ++esac ++ ++gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la ++gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la ++ ++AC_SUBST(gdktargetlib) ++AC_SUBST(gtktargetlib) ++ ++if test "x$enable_debug" = "xyes"; then ++ test "$cflags_set" = set || CFLAGS="$CFLAGS -g" ++ GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES" ++else ++ if test "x$enable_debug" = "xno"; then ++ GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" ++ else ++ GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS" ++ fi ++fi ++ ++ ++if test "x$enable_visibility" = "xno"; then ++ GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY" ++fi ++ ++ ++AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}", ++ [Define if debugging is enabled]) ++ ++ ++# Build time sanity check... ++AM_SANITY_CHECK ++ ++# Checks for programs. ++AC_ISC_POSIX ++AM_PROG_CC_C_O ++AC_PROG_INSTALL ++AC_PROG_MAKE_SET ++ ++changequote(,)dnl ++if test "x$GCC" = "xyes"; then ++ case " $CFLAGS " in ++ *[\ \ ]-Wall[\ \ ]*) ;; ++ *) CFLAGS="$CFLAGS -Wall" ;; ++ esac ++ ++ if test "x$enable_ansi" = "xyes"; then ++ case " $CFLAGS " in ++ *[\ \ ]-ansi[\ \ ]*) ;; ++ *) CFLAGS="$CFLAGS -ansi" ;; ++ esac ++ ++ case " $CFLAGS " in ++ *[\ \ ]-pedantic[\ \ ]*) ;; ++ *) CFLAGS="$CFLAGS -pedantic" ;; ++ esac ++ fi ++fi ++changequote([,])dnl ++ ++CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES" ++ ++# Ensure MSVC-compatible struct packing convention is used when ++# compiling for Win32 with gcc. ++# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while ++# gcc2 uses "-fnative-struct". ++if test x"$os_win32" = xyes; then ++ if test x"$GCC" = xyes; then ++ msnative_struct='' ++ AC_MSG_CHECKING([how to get MSVC-compatible struct packing]) ++ if test -z "$ac_cv_prog_CC"; then ++ our_gcc="$CC" ++ else ++ our_gcc="$ac_cv_prog_CC" ++ fi ++ case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in ++ 2.) ++ if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then ++ msnative_struct='-fnative-struct' ++ fi ++ ;; ++ *) ++ if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then ++ msnative_struct='-mms-bitfields' ++ fi ++ ;; ++ esac ++ if test x"$msnative_struct" = x ; then ++ AC_MSG_RESULT([no way]) ++ AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code]) ++ else ++ CFLAGS="$CFLAGS $msnative_struct" ++ AC_MSG_RESULT([${msnative_struct}]) ++ fi ++ fi ++fi ++ ++# Honor aclocal flags ++ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" ++ ++## Initial sanity check, done here so that users get told they ++## have the wrong dependencies as early in the process as possible. ++## Later on we actually use the cflags/libs from separate pkg-config ++## calls. Oh, also the later pkg-config calls don't include ++## the version requirements since those make the module lists ++## annoying to construct ++PKG_CHECK_MODULES(BASE_DEPENDENCIES, ++ [glib-2.0 >= glib_required_version dnl ++ atk >= atk_required_version dnl ++ pango >= pango_required_version dnl ++ cairo >= cairo_required_version dnl ++ gdk-pixbuf-2.0 >= gdk_pixbuf_required_version]) ++ ++## In addition to checking that cairo is present, we also need to ++## check that the correct cairo backend is there. E.g. if the GDK ++## target is win32 we need the cairo-win32 backend and so on. ++cairo_backend=$gdktarget ++ ++# GDK calls the xlib backend "x11," cairo calls it "xlib." Other ++# backend names are identical. ++if test "x$cairo_backend" = "xx11"; then ++ cairo_backend=xlib ++fi ++PKG_CHECK_MODULES(CAIRO_BACKEND, ++ [cairo-$cairo_backend >= cairo_required_version]) ++ ++PKG_CHECK_MODULES(GMODULE, [gmodule-2.0]) ++ ++if test "$os_win32" != yes; then ++ # libtool option to control which symbols are exported ++ # right now, symbols starting with _ are not exported ++ LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"' ++else ++ # We currently use .def files on Windows (for gdk and gtk) ++ LIBTOOL_EXPORT_OPTIONS= ++fi ++AC_SUBST(LIBTOOL_EXPORT_OPTIONS) ++ ++dnl ****************************************************** ++dnl * See whether to include shared library dependencies * ++dnl ****************************************************** ++ ++AC_ARG_ENABLE(explicit-deps, ++ [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@], ++ [use explicit dependencies in .pc files [default=auto]])],, ++ [enable_explicit_deps=auto]) ++ ++AC_MSG_CHECKING([Whether to write dependencies into .pc files]) ++case $enable_explicit_deps in ++ auto) ++ export SED ++ deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` ++ if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then ++ enable_explicit_deps=yes ++ else ++ enable_explicit_deps=no ++ fi ++ ;; ++ yes|no) ++ ;; ++ *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto]) ++ ;; ++esac ++AC_MSG_RESULT($enable_explicit_deps) ++ ++AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no) ++ ++# define a MAINT-like variable REBUILD which is set if Perl ++# and awk are found, so autogenerated sources can be rebuilt ++ ++AC_PATH_PROGS(PERL, perl5 perl) ++ ++# We would like indent, but don't require it. ++AC_CHECK_PROG(INDENT, indent, indent) ++ ++REBUILD=\# ++if test "x$enable_rebuilds" = "xyes" && \ ++ test -n "$PERL" && \ ++ $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then ++ REBUILD= ++fi ++AC_SUBST(REBUILD) ++ ++AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked) ++AC_CHECK_FUNCS(localtime_r) ++ ++# _NL_TIME_FIRST_WEEKDAY is an enum and not a define ++AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY]) ++AC_TRY_LINK([#include ], [ ++char c; ++c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY)); ++], gtk_ok=yes, gtk_ok=no) ++AC_MSG_RESULT($gtk_ok) ++if test "$gtk_ok" = "yes"; then ++ AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1], ++ [Define if _NL_TIME_FIRST_WEEKDAY is available]) ++fi ++ ++# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define ++AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT]) ++AC_TRY_LINK([#include ], [ ++char c; ++c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT)); ++], gtk_ok=yes, gtk_ok=no) ++AC_MSG_RESULT($gtk_ok) ++if test "$gtk_ok" = "yes"; then ++ AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1], ++ [Define if _NL_MEASUREMENT_MEASUREMENT is available]) ++fi ++ ++# _NL_PAPER_HEIGHT is an enum and not a define ++AC_MSG_CHECKING([for _NL_PAPER_HEIGHT]) ++AC_TRY_LINK([#include ], [ ++char c; ++c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT)); ++], gtk_ok=yes, gtk_ok=no) ++AC_MSG_RESULT($gtk_ok) ++if test "$gtk_ok" = "yes"; then ++ AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1], ++ [Define if _NL_PAPER_HEIGHT is available]) ++fi ++ ++# _NL_PAPER_WIDTH is an enum and not a define ++AC_MSG_CHECKING([for _NL_PAPER_WIDTH]) ++AC_TRY_LINK([#include ], [ ++char c; ++c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH)); ++], gtk_ok=yes, gtk_ok=no) ++AC_MSG_RESULT($gtk_ok) ++if test "$gtk_ok" = "yes"; then ++ AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1], ++ [Define if _NL_PAPER_WIDTH is available]) ++fi ++ ++# sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable ++AC_MSG_CHECKING(for sigsetjmp) ++AC_TRY_LINK([#include ], [ ++sigjmp_buf env; ++sigsetjmp(env, 0); ++], gtk_ok=yes, gtk_ok=no) ++AC_MSG_RESULT($gtk_ok) ++if test "$gtk_ok" = "yes"; then ++ AC_DEFINE(HAVE_SIGSETJMP, 1, ++ [Define to 1 if sigsetjmp is available]) ++fi ++ ++# i18n stuff ++ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`" ++AM_GLIB_GNU_GETTEXT ++LIBS="$LIBS $INTLLIBS" ++AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*) ++ sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile ++ esac]) ++ ++dnl Snippet below is copied from AM_GLIB_GNU_GETTEXT to generate a first ++dnl po-properties/POTFILES during configure; see GNOME #573515. ++dnl ++dnl Generate list of files to be processed by xgettext which will ++dnl be included in po-properties/Makefile. ++test -d po-properties || mkdir po-properties ++if test "x$srcdir" != "x."; then ++ if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then ++ popropsrcprefix="$srcdir/" ++ else ++ popropsrcprefix="../$srcdir/" ++ fi ++else ++ popropsrcprefix="../" ++fi ++rm -f po-properties/POTFILES ++sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $popropsrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ ++< $srcdir/po-properties/POTFILES.in > po-properties/POTFILES ++dnl (End of adapted AM_GLIB_GNU_GETTEXT snippet.) ++ ++AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR) ++ ++dnl The DU4 header files don't provide library prototypes unless ++dnl -std1 is given to the native cc. ++AC_MSG_CHECKING([for extra flags to get ANSI library prototypes]) ++ ++gtk_save_LIBS=$LIBS ++LIBS="$LIBS -lm" ++AC_TRY_RUN([#include ++ int main (void) { return (log(1) != log(1.)); }], ++ AC_MSG_RESULT(none needed), ++ gtk_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -std1" ++ AC_TRY_RUN([#include ++ int main (void) { return (log(1) != log(1.)); }], ++ AC_MSG_RESULT(-std1), ++ AC_MSG_RESULT() ++ CFLAGS="$gtk_save_CFLAGS" ++ AC_MSG_WARN( ++ [No ANSI prototypes found in library. (-std1 didn't work.)]), ++ true ++ ), ++ AC_MSG_RESULT(none needed) ++) ++LIBS=$gtk_save_LIBS ++ ++AC_MSG_CHECKING(for the BeOS) ++case $host in ++ *-*-beos*) ++ AC_MSG_RESULT(yes) ++ MATH_LIB= ++ ;; ++ *) ++ AC_MSG_RESULT(no) ++ ;; ++esac ++ ++AC_SUBST(MATH_LIB) ++# ++# see bug 162979 ++# ++AC_MSG_CHECKING(for HP-UX) ++case $host_os in ++ hpux9* | hpux10* | hpux11*) ++ AC_MSG_RESULT(yes) ++ CFLAGS="$CFLAGS -DHPPEX -DSHMLINK" ++ ;; ++ *) ++ AC_MSG_RESULT(no) ++ ;; ++esac ++ ++dnl NeXTStep cc seems to need this ++AC_MSG_CHECKING([for extra flags for POSIX compliance]) ++AC_TRY_COMPILE([#include ], [DIR *dir;], ++ AC_MSG_RESULT(none needed), ++ gtk_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -posix" ++ AC_TRY_COMPILE([#include ], [DIR *dir;], ++ AC_MSG_RESULT(-posix), ++ AC_MSG_RESULT() ++ CFLAGS="$gtk_save_CFLAGS" ++ AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)]))) ++ ++# ++# Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working ++# ++ ++GLIB_PACKAGES="gobject-2.0 gio-2.0 gmodule-no-export-2.0" ++ ++AM_PATH_GLIB_2_0(glib_required_version, :, ++ AC_MSG_ERROR([ ++*** GLIB glib_required_version or better is required. The latest version of ++*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]), ++ gobject gmodule-no-export gthread) ++ ++# See if it's safe to turn G_DISABLE_DEPRECATED on. ++GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"` ++GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"` ++if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then ++ CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS" ++fi ++ ++CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS" ++ ++ ++dnl ++dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in. ++dnl ++gtk_save_LIBS=$LIBS ++LIBS="$LIBS $GLIB_LIBS" ++AC_CHECK_FUNCS(bind_textdomain_codeset) ++LIBS=$gtk_save_LIBS ++ ++AC_CHECK_HEADERS(pwd.h, ++ AC_DEFINE(HAVE_PWD_H, 1, ++ [Define to 1 if pwd.h is available])) ++AC_CHECK_HEADERS(sys/time.h, ++ AC_DEFINE(HAVE_SYS_TIME_H, 1, ++ [Define to 1 if time.h is available])) ++AC_CHECK_HEADERS(unistd.h, ++ AC_DEFINE(HAVE_UNISTD_H, 1, ++ [Define to 1 if unistd.h is available])) ++AC_CHECK_HEADERS(ftw.h, ++ AC_DEFINE(HAVE_FTW_H, 1, ++ [Define to 1 if ftw.h is available])) ++ ++AC_MSG_CHECKING([for GNU ftw extensions]) ++AC_TRY_COMPILE([#define _XOPEN_SOURCE 500 ++#define _GNU_SOURCE ++#include ], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no) ++if test $gtk_ok = yes; then ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE(HAVE_GNU_FTW, 1, [Have GNU ftw]) ++else ++ AC_MSG_RESULT([no]) ++fi ++ ++saved_cflags="$CFLAGS" ++saved_ldflags="$LDFLAGS" ++ ++ ++# Checks for header files. ++AC_HEADER_STDC ++ ++# Checks for typedefs, structures, and compiler characteristics. ++AC_C_CONST ++ ++# Checks for library functions. ++AC_TYPE_SIGNAL ++AC_FUNC_MMAP ++ ++AC_CHECK_FUNCS(mallinfo) ++AC_CHECK_FUNCS(getresuid) ++AC_TYPE_UID_T ++ ++# Check if needs to be included for fd_set ++AC_MSG_CHECKING([for fd_set]) ++AC_TRY_COMPILE([#include ], ++ [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no) ++if test $gtk_ok = yes; then ++ AC_MSG_RESULT([yes, found in sys/types.h]) ++else ++ AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes) ++ if test $gtk_ok = yes; then ++ AC_DEFINE(HAVE_SYS_SELECT_H, 1, ++ [Define to 1 if sys/select.h is available]) ++ AC_MSG_RESULT([yes, found in sys/select.h]) ++ else ++ AC_DEFINE(NO_FD_SET, 1, ++ [Define to 1 if fd_set is not available]) ++ AC_MSG_RESULT(no) ++ fi ++fi ++ ++# `widechar' tests for gdki18n.h ++AC_MSG_CHECKING(for wchar.h) ++AC_TRY_CPP([#include ], gdk_wchar_h=yes, gdk_wchar_h=no) ++if test $gdk_wchar_h = yes; then ++ AC_DEFINE(HAVE_WCHAR_H, 1, [Have wchar.h include file]) ++fi ++AC_MSG_RESULT($gdk_wchar_h) ++ ++# Check for wctype.h (for iswalnum) ++AC_MSG_CHECKING(for wctype.h) ++AC_TRY_CPP([#include ], gdk_wctype_h=yes, gdk_wctype_h=no) ++if test $gdk_wctype_h = yes; then ++ AC_DEFINE(HAVE_WCTYPE_H, 1, [Have wctype.h include file]) ++fi ++AC_MSG_RESULT($gdk_wctype_h) ++ ++# in Solaris 2.5, `iswalnum' is in -lw ++GDK_WLIBS= ++AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)]) ++ ++oLIBS="$LIBS" ++LIBS="$LIBS $GDK_WLIBS" ++# The following is necessary for Linux libc-5.4.38 ++AC_MSG_CHECKING(if iswalnum() and friends are properly defined) ++AC_TRY_LINK([#include ],[ ++#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H)) ++# ifdef HAVE_WCTYPE_H ++# include ++# else ++# ifdef HAVE_WCHAR_H ++# include ++# endif ++# endif ++#else ++# define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c)) ++#endif ++iswalnum((wchar_t) 0); ++], gdk_working_wctype=yes, gdk_working_wctype=no) ++LIBS="$oLIBS" ++ ++if test $gdk_working_wctype = no; then ++ AC_DEFINE(HAVE_BROKEN_WCTYPE, 1, [Is the wctype implementation broken]) ++ GDK_WLIBS= ++fi ++AC_MSG_RESULT($gdk_working_wctype) ++AC_SUBST(GDK_WLIBS) ++ ++# Check for uxtheme.h (for MS-Windows Engine) ++AC_MSG_CHECKING(for uxtheme.h) ++AC_TRY_CPP([#include ], gtk_uxtheme_h=yes, gtk_uxtheme_h=no) ++if test $gtk_uxtheme_h = yes; then ++ AC_DEFINE(HAVE_UXTHEME_H, 1, [Have uxtheme.h include file]) ++fi ++AC_MSG_RESULT($gtk_uxtheme_h) ++ ++# Checks for gdkspawn ++AC_CHECK_HEADERS(crt_externs.h) ++AC_CHECK_FUNCS(_NSGetEnviron) ++ ++AC_MSG_CHECKING(whether to build dynamic modules) ++ ++AC_ARG_ENABLE(modules, ++ [AC_HELP_STRING([--disable-modules], ++ [disable dynamic module loading])]) ++ ++dynworks=false ++deps= ++if test x$enable_modules = xno; then ++ AC_MSG_RESULT(no) ++else ++ AC_MSG_RESULT(yes) ++ AC_MSG_CHECKING(whether dynamic modules work) ++ ## for loop is to strip newline ++ tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0` ++ for I in $tmp; do ++ dynworks=$I ++ done ++ ++ dnl Now we check to see if our libtool supports shared lib deps ++ dnl (in a rather ugly way even) ++ if $dynworks; then ++ module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" ++ module_deplibs_check=`$module_libtool_config | \ ++ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ ++ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` ++ if test "x$module_deplibs_check" = "xnone" || \ ++ test "x$module_deplibs_check" = "xunknown" || \ ++ test "x$module_deplibs_check" = "x"; then ++ dynworks=false ++ fi ++ fi ++ ++ if $dynworks; then ++ AC_DEFINE(USE_GMODULE, 1, ++ [Define to 1 if gmodule works and should be used]) ++ AC_MSG_RESULT(yes) ++ else ++ AC_MSG_RESULT(no) ++ fi ++fi ++ ++AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks) ++ ++# ++# Allow building some or all immodules included ++# ++AC_MSG_CHECKING(immodules to build) ++ ++dnl due to an autoconf bug, commas in the first arg to ++dnl AC_HELP_STRING cause problems. ++dnl AC_HELP_STRING([--with-included-immodules=MODULE1 MODULE2 ...], ++dnl [build the specified input method modules into gtk]) ++AC_ARG_WITH(included_immodules, ++[ --with-included-immodules=MODULE1,MODULE2,... ++ build the specified input methods into gtk]) ++ ++if $dynworks; then ++ : ++else ++ ## if the option was specified, leave it; otherwise disable included immodules ++ if test x$with_included_immodules = xno; then ++ with_included_immodules=yes ++ fi ++fi ++ ++all_immodules="am-et,cedilla,cyrillic-translit" ++if test "$gdktarget" = "win32"; then ++ all_immodules="${all_immodules},ime" ++fi ++all_immodules="${all_immodules},inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr" ++if test "$gdktarget" = "x11"; then ++ all_immodules="${all_immodules},xim" ++fi ++ ++included_immodules="" ++# If the switch specified without listing any specific ones, include all ++if test "x$with_included_immodules" = xyes ; then ++ included_immodules="$all_immodules" ++else ++ included_immodules="$with_included_immodules" ++fi ++ ++AC_MSG_RESULT($included_immodules) ++AM_CONDITIONAL(HAVE_INCLUDED_IMMMODULES, test "x$included_immodules" != x) ++ ++INCLUDED_IMMODULE_OBJ= ++INCLUDED_IMMODULE_DEFINE= ++ ++IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS="," ++for immodule in $included_immodules; do ++ immodule_underscores=`echo $immodule | sed -e 's/-/_/g'` ++ if echo "$all_immodules" | egrep "(^|,)$immodule(\$|,)" > /dev/null; then ++ : ++ else ++ AC_MSG_ERROR([the specified input method $immodule does not exist]) ++ fi ++ ++ INCLUDED_IMMODULE_OBJ="$INCLUDED_IMMODULE_OBJ ../modules/input/libstatic-im-$immodule.la" ++ INCLUDED_IMMODULE_DEFINE="$INCLUDED_IMMODULE_DEFINE -DINCLUDE_IM_$immodule_underscores" ++ eval INCLUDE_$immodule_underscores=yes ++done ++IFS="$gtk_save_ifs" ++AC_SUBST(INCLUDED_IMMODULE_OBJ) ++AC_SUBST(INCLUDED_IMMODULE_DEFINE) ++ ++AM_CONDITIONAL(INCLUDE_IM_AM_ET, [test x"$INCLUDE_am_et" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_CEDILLA, [test x"$INCLUDE_cedilla" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_CYRILLIC_TRANSLIT, [test x"$INCLUDE_cyrillic_translit" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_IME, [test x"$INCLUDE_ime" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_INUKTITUT, [test x"$INCLUDE_inuktitut" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_IPA, [test x"$INCLUDE_ipa" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_MULTIPRESS, [test x"$INCLUDE_multipress" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_THAI, [test x"$INCLUDE_thai" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_TI_ER, [test x"$INCLUDE_ti_er" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_TI_ET, [test x"$INCLUDE_ti_et" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_VIQR, [test x"$INCLUDE_viqr" = xyes]) ++AM_CONDITIONAL(INCLUDE_IM_XIM, [test x"$INCLUDE_xim" = xyes]) ++ ++AC_HEADER_SYS_WAIT ++ ++AC_TYPE_SIGNAL ++ ++# Checks to see whether we should include mediaLib ++# support. ++# ++AC_CHECK_HEADER(sys/systeminfo.h, ++ AC_DEFINE(HAVE_SYS_SYSTEMINFO_H, 1, ++ [Define to 1 if sys/systeminfo.h is available])) ++AC_CHECK_HEADER(sys/sysinfo.h, ++ AC_DEFINE(HAVE_SYS_SYSINFO_H, 1, ++ [Define to 1 if sys/sysinfo.h is available])) ++ ++AC_MSG_CHECKING(for mediaLib 2.3) ++use_mlib25=no ++# Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib ++# patch requires. ++AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no) ++if test $use_mlib = yes; then ++ AC_DEFINE(USE_MEDIALIB, 1, ++ [Define to 1 if medialib is available and should be used]) ++ MEDIA_LIB=-lmlib ++ ++ AC_MSG_CHECKING(for mediaLib 2.5) ++ # Check for a mediaLib 2.5 function since that is what is needed for ++ # gdk_rgb_convert integration. ++ AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no) ++ if test $use_mlib25 = yes; then ++ AC_DEFINE(USE_MEDIALIB25, 1, ++ [Define to 1 if medialib 2.5 is available]) ++ fi ++fi ++AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes) ++AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes) ++ ++dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling ++ ++AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) ++ ++if test $cross_compiling = yes; then ++ AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no) ++ if test x$GTK_UPDATE_ICON_CACHE = xno; then ++ REBUILD_PNGS=# ++ fi ++fi ++ ++AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no) ++ ++if test ! -f $srcdir/gtk/gtkbuiltincache.h && ++ test "x$REBUILD_PNGS" = "x#" ; then ++ AC_MSG_ERROR([ ++*** gtkbuiltincache.h is not in the tree, and cannot be built ++*** because you don't have libpng, or (when cross-compiling) you ++*** don't have a prebuilt gtk-update-icon-cache on the build system.]) ++fi ++ ++######################################## ++# Windowing system checks ++######################################## ++ ++GDK_EXTRA_LIBS="$GDK_WLIBS" ++GDK_EXTRA_CFLAGS= ++ ++# GTK+ uses some X calls, so needs to link against X directly ++GTK_DEP_PACKAGES_FOR_X= ++GTK_DEP_LIBS_FOR_X= ++ ++if test "x$gdktarget" = "xx11"; then ++ X_PACKAGES=fontconfig ++ ++ # ++ # We use fontconfig very peripherally when decoding the default ++ # settings. ++ # ++ if $PKG_CONFIG --exists fontconfig; then : ; else ++ AC_MSG_ERROR([ ++*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.]) ++ fi ++ ++ # ++ # Check for basic X packages; we use pkg-config if available ++ # ++ if $PKG_CONFIG --exists x11 xext xrender; then ++ have_base_x_pc=true ++ X_PACKAGES="$X_PACKAGES x11 xext xrender" ++ x_libs="`$PKG_CONFIG --libs x11 xext xrender`" ++ X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`" ++ ++ # Strip out any .la files that pkg-config might give us (this happens ++ # with -uninstalled.pc files) ++ x_libs_for_checks= ++ for I in $x_libs ; do ++ case $I in ++ *.la) ;; ++ *) x_libs_for_checks="$x_libs_for_checks $I" ;; ++ esac ++ done ++ ++ GTK_PACKAGES_FOR_X="x11" ++ else ++ have_base_x_pc=false ++ AC_PATH_XTRA ++ if test x$no_x = xyes ; then ++ AC_MSG_ERROR([X development libraries not found]) ++ fi ++ ++ x_cflags="$X_CFLAGS" ++ x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS" ++ ++ GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS" ++ fi ++ ++ # Extra libraries found during checks (-lXinerama, etc), not from pkg-config. ++ x_extra_libs= ++ ++ gtk_save_cppflags="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $X_CFLAGS" ++ ++ gtk_save_LIBS=$LIBS ++ LIBS="$x_libs_for_checks $LIBS" ++ ++ # Sanity check for the X11 and Xext libraries. While everything we need from ++ # Xext is optional, the chances a system has *none* of these things is so ++ # small that we just unconditionally require it. ++ AC_CHECK_FUNC(XOpenDisplay, :, ++ AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.])) ++ AC_CHECK_FUNC(XextFindDisplay, :, ++ AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.])) ++ AC_CHECK_FUNC(XRenderQueryExtension, :, ++ AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.])) ++ ++ # Check for xReply ++ ++ AC_MSG_CHECKING([if is needed for xReply]) ++ AC_TRY_COMPILE([#include ], ++ [xReply *rep;], ++ [AC_MSG_RESULT([no])], ++ [AC_TRY_COMPILE([#include ++#include ], ++ [xReply *rep;], ++ [AC_MSG_RESULT([yes]) ++ AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1, ++ [Define if needed for xReply])], ++ [AC_MSG_RESULT([unknown]) ++ AC_MSG_ERROR([xReply type unavailable. X11 is too old])])]) ++ ++ # Check for XConvertCase, XInternAtoms (X11R6 specific) ++ ++ AC_CHECK_FUNCS(XConvertCase XInternAtoms) ++ ++ # Generic X11R6 check needed for XIM support; we could ++ # probably use this to replace the above, but we'll ++ # leave the separate checks for XConvertCase and XInternAtoms ++ # for clarity ++ ++ have_x11r6=false ++ AC_CHECK_FUNC(XAddConnectionWatch, ++ have_x11r6=true) ++ ++ if $have_x11r6; then ++ AC_DEFINE(HAVE_X11R6, 1, [Define if we have X11R6]) ++ fi ++ AM_CONDITIONAL(HAVE_X11R6, $have_x11r6) ++ ++ # Check for XKB support. ++ ++ if test "x$enable_xkb" = "xyes"; then ++ AC_MSG_WARN(XKB support explicitly enabled) ++ AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension]) ++ elif test "x$enable_xkb" = "xmaybe"; then ++ AC_CHECK_FUNC(XkbQueryExtension, ++ AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension])) ++ else ++ AC_MSG_WARN(XKB support explicitly disabled) ++ fi ++ ++ # Check for shaped window extension ++ ++ AC_CHECK_FUNC(XShapeCombineMask, :, ++ [AC_MSG_ERROR([Shape extension not found, check your development headers])]) ++ ++ # X SYNC check ++ gtk_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $x_cflags" ++ ++ AC_CHECK_FUNC(XSyncQueryExtension, ++ [AC_CHECK_HEADER(X11/extensions/sync.h, ++ AC_DEFINE(HAVE_XSYNC, 1, [Have the SYNC extension library]), ++ :, [#include ])]) ++ ++ CFLAGS="$gtk_save_CFLAGS" ++ ++ # Xshm checks ++ ++ if test "x$enable_shm" = "xyes"; then ++ # Check for the XShm extension, normally in Xext ++ AC_CHECK_FUNC(XShmAttach, ++ :, ++ # On AIX, it is in XextSam instead ++ [AC_CHECK_LIB(XextSam, XShmAttach, ++ [GTK_ADD_LIB(x_extra_libs,XextSam)])]) ++ fi ++ ++ if test "x$enable_shm" = "xyes"; then ++ # Check for shared memory ++ AC_CHECK_HEADER(sys/ipc.h, ++ AC_DEFINE(HAVE_IPC_H, 1, ++ [Define to 1 if ipc.h is available]), ++ no_sys_ipc=yes) ++ AC_CHECK_HEADER(sys/shm.h, ++ AC_DEFINE(HAVE_SHM_H, 1, ++ [Define to 1 if shm.h is available]), ++ no_sys_shm=yes) ++ ++ # Check for the X shared memory extension header file ++ have_xshm=no ++ AC_MSG_CHECKING(X11/extensions/XShm.h) ++ if test "x$no_xext_lib" = "xyes"; then ++ : ++ else ++ gtk_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $x_cflags" ++ AC_TRY_COMPILE([ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++], [XShmSegmentInfo *x_shm_info;], have_xshm=yes) ++ CFLAGS="$gtk_save_CFLAGS" ++ fi ++ AC_MSG_RESULT($have_xshm) ++ if test $have_xshm = yes ; then ++ AC_DEFINE(HAVE_XSHM_H, 1, ++ [Define to 1 if xshm.h is available]) ++ fi ++ fi ++ ++ if test "x$enable_xinerama" = "xyes"; then ++ # Check for Xinerama extension (Solaris impl or Xfree impl) ++ gtk_save_cppflags="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $x_cflags" ++ ++ # Check for XFree ++ AC_MSG_CHECKING(for Xinerama support on XFree86) ++ ++ have_xfree_xinerama=false ++ if $PKG_CONFIG --exists xinerama ; then ++ have_xfree_xinerama=true ++ X_PACKAGES="$X_PACKAGES xinerama" ++ else ++ AC_CHECK_LIB(Xinerama, XineramaQueryExtension, ++ [AC_CHECK_HEADER(X11/extensions/Xinerama.h, ++ [GTK_ADD_LIB(x_extra_libs,Xinerama) ++ have_xfree_xinerama=true], :, ++ [#include ])]) ++ fi ++ ++ if $have_xfree_xinerama ; then ++ AC_DEFINE(HAVE_XFREE_XINERAMA, 1, ++ [Define to 1 if XFree Xinerama is available]) ++ AC_DEFINE(HAVE_XINERAMA, 1, ++ [Define to 1 is Xinerama is available]) ++ AC_MSG_RESULT(yes) ++ else ++ AC_MSG_RESULT(no) ++ ++ case "$host" in ++ *-*-solaris*) ++ # Check for solaris ++ AC_MSG_CHECKING(for Xinerama support on Solaris) ++ ++ have_solaris_xinerama=false ++ AC_CHECK_FUNC(XineramaGetInfo, ++ [AC_CHECK_HEADER(X11/extensions/xinerama.h, ++ [have_solaris_xinerama=true], :, ++ [#include ])]) ++ ++ if $have_solaris_xinerama ; then ++ AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1, ++ [Define to 1 if solaris xinerama is available]) ++ AC_DEFINE(HAVE_XINERAMA, 1, ++ [Define to 1 if xinerama is available]) ++ AC_MSG_RESULT(yes) ++ else ++ AC_MSG_RESULT(no) ++ fi ++ ;; ++ *) ++ ;; ++ esac ++ fi ++ fi ++ ++ # set up things for XInput ++ ++ if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then ++ AC_DEFINE(XINPUT_XFREE, 1, ++ [Define to 1 if XFree XInput should be used]) ++ ++ if $PKG_CONFIG --exists xi ; then ++ X_PACKAGES="$X_PACKAGES xi" ++ else ++ GTK_ADD_LIB(x_extra_libs, Xi) ++ fi ++ else ++ AC_DEFINE(XINPUT_NONE, 1, ++ [Define to 1 if no XInput should be used]) ++ fi ++ ++ AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes) ++ ++ # Check for the RANDR extension ++ if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then ++ AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library]) ++ ++ X_PACKAGES="$X_PACKAGES xrandr" ++ fi ++ ++ # Checks for Xcursor library ++ ++ if $PKG_CONFIG --exists xcursor ; then ++ AC_DEFINE(HAVE_XCURSOR, 1, [Have the Xcursor library]) ++ ++ X_PACKAGES="$X_PACKAGES xcursor" ++ fi ++ ++ # Checks for XFixes extension ++ ++ if $PKG_CONFIG --exists xfixes ; then ++ AC_DEFINE(HAVE_XFIXES, 1, [Have the XFIXES X extension]) ++ ++ X_PACKAGES="$X_PACKAGES xfixes" ++ GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes" ++ fi ++ ++ # Checks for Xcomposite extension ++ ++ if $PKG_CONFIG --exists xcomposite ; then ++ AC_DEFINE(HAVE_XCOMPOSITE, 1, [Have the XCOMPOSITE X extension]) ++ ++ X_PACKAGES="$X_PACKAGES xcomposite" ++ GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite" ++ fi ++ ++ # Checks for Xdamage extension ++ ++ if $PKG_CONFIG --exists xdamage ; then ++ AC_DEFINE(HAVE_XDAMAGE, 1, [Have the XDAMAGE X extension]) ++ ++ X_PACKAGES="$X_PACKAGES xdamage" ++ GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage" ++ fi ++ ++ if $have_base_x_pc ; then ++ GDK_EXTRA_LIBS="$x_extra_libs" ++ else ++ GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS" ++ fi ++ ++ CPPFLAGS="$gtk_save_cppflags" ++ LIBS="$gtk_save_libs" ++ ++ AM_CONDITIONAL(USE_X11, true) ++else ++ XPACKAGES= ++ ++ AM_CONDITIONAL(XINPUT_XFREE, false) ++ AM_CONDITIONAL(USE_X11, false) ++ AM_CONDITIONAL(HAVE_X11R6, false) ++fi ++ ++if test "x$gdktarget" = "xwin32"; then ++ GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid" ++ AM_CONDITIONAL(USE_WIN32, true) ++else ++ AM_CONDITIONAL(USE_WIN32, false) ++fi ++ ++AC_ARG_ENABLE(quartz-relocation, ++ [AS_HELP_STRING([--enable-quartz-relocation], ++ [enable bundle-based relocation functions])], ++ [quartz_relocation=yes]) ++ ++if test "x$gdktarget" = "xquartz"; then ++ GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa" ++ AM_CONDITIONAL(USE_QUARTZ, true) ++ if test "x$quartz_relocation" = xyes; then ++ AC_DEFINE([QUARTZ_RELOCATION], [1], [Use NSBundle functions to determine load paths for libraries, translations, etc.]) ++ fi ++ ++else ++ AM_CONDITIONAL(USE_QUARTZ, false) ++fi ++ ++if test "x$gdktarget" = "xdirectfb"; then ++ DIRECTFB_REQUIRED_VERSION=1.0.0 ++ AC_MSG_CHECKING(for DirectFB) ++ ++ PKG_CHECK_MODULES(DIRECTFB, [directfb >= $DIRECTFB_REQUIRED_VERSION]) ++ AM_CONDITIONAL(USE_DIRECTFB, true) ++else ++ AM_CONDITIONAL(USE_DIRECTFB, false) ++fi ++ ++ ++# Check for Pango flags ++ ++if test "x$gdktarget" = "xwin32"; then ++ PANGO_PACKAGES="pangowin32 pangocairo" ++else ++ PANGO_PACKAGES="pango pangocairo" ++fi ++ ++AC_MSG_CHECKING(Pango flags) ++if $PKG_CONFIG --exists $PANGO_PACKAGES ; then ++ PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES` ++ PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES` ++ ++ AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS) ++else ++ AC_MSG_ERROR([ ++*** Pango not found. Pango built with Cairo support is required ++*** to build GTK+. See http://www.pango.org for Pango information. ++]) ++fi ++ ++CFLAGS="$CFLAGS $PANGO_CFLAGS" ++ ++if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then ++ : ++else ++ gtk_save_LIBS="$LIBS" ++ LIBS="$PANGO_LIBS $LIBS" ++ AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([ ++*** Can't link to Pango. Pango is required to build ++*** GTK+. For more information see http://www.pango.org])) ++ LIBS="$gtk_save_LIBS" ++fi ++ ++CFLAGS="$saved_cflags" ++LDFLAGS="$saved_ldflags" ++ ++# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c ++if test "x$gdktarget" = "xx11"; then ++ GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend" ++else ++ GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend" ++fi ++ ++GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB" ++GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS" ++# ++# If we aren't writing explicit dependencies, then don't put the extra libraries we need ++# into the pkg-config files ++# ++if test $enable_explicit_deps != yes ; then ++ GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0" ++ GDK_EXTRA_LIBS= ++fi ++ ++AC_SUBST(GDK_PACKAGES) ++AC_SUBST(GDK_EXTRA_LIBS) ++AC_SUBST(GDK_EXTRA_CFLAGS) ++AC_SUBST(GDK_DEP_LIBS) ++AC_SUBST(GDK_DEP_CFLAGS) ++ ++ ++######################################## ++# Check for Accessibility Toolkit flags ++######################################## ++ ++ATK_PACKAGES=atk ++AC_MSG_CHECKING(ATK flags) ++if $PKG_CONFIG --exists $ATK_PACKAGES ; then ++ ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES` ++ ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES` ++ ++ AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS) ++else ++ AC_MSG_ERROR([ ++*** Accessibility Toolkit not found. Accessibility Toolkit is required ++*** to build GTK+. ++]) ++fi ++ ++if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then ++ : ++else ++ gtk_save_LIBS="$LIBS" ++ LIBS="$ATK_LIBS $LIBS" ++ AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([ ++ *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required ++ *** to build GTK+])) ++ LIBS="$gtk_save_LIBS" ++fi ++ ++GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0" ++if test "x$gdktarget" = "xx11"; then ++ GTK_PACKAGES="$GTK_PACKAGES pangoft2" ++fi ++GTK_EXTRA_LIBS= ++GTK_EXTRA_CFLAGS= ++GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $MATH_LIB" ++GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES $GTK_PACKAGES` $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS" ++ ++if test x"$os_win32" = xyes; then ++ GTK_EXTRA_CFLAGS="$msnative_struct" ++fi ++ ++GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`" ++ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`" ++PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`" ++CAIRO_PREFIX="`pkg-config --variable=prefix cairo`" ++ ++AC_SUBST(GTK_PACKAGES) ++AC_SUBST(GTK_EXTRA_LIBS) ++AC_SUBST(GTK_EXTRA_CFLAGS) ++AC_SUBST(GTK_DEP_LIBS) ++AC_SUBST(GTK_DEP_CFLAGS) ++ ++AC_SUBST(GLIB_PREFIX) ++AC_SUBST(ATK_PREFIX) ++AC_SUBST(PANGO_PREFIX) ++AC_SUBST(CAIRO_PREFIX) ++ ++AC_SUBST(GTK_DEBUG_FLAGS) ++AC_SUBST(GTK_XIM_FLAGS) ++ ++GDK_PIXBUF_LIBS=`$PKG_CONFIG --libs gdk-pixbuf-2.0` ++AC_SUBST(GDK_PIXBUF_LIBS) ++ ++######################## ++# Checks needed for gail ++######################## ++ ++old_LIBS="$LIBS" ++dnl Checks for inet libraries: ++AC_SEARCH_LIBS(gethostent, nsl) ++AC_SEARCH_LIBS(setsockopt, socket) ++AC_SEARCH_LIBS(connect, inet) ++ ++dnl check for the sockaddr_un.sun_len member ++AC_CHECK_MEMBER([struct sockaddr_un.sun_len], ++ [struct_sockaddr_un_sun_len=true], ++ [struct_sockaddr_un_suin_len=false], ++ [#include ++ #include ] ++ ) ++case $struct_sockaddr_un_sun_len in ++ true) ++ AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1, ++ [Have the sockaddr_un.sun_len member]) ++ ;; ++ *) ++ ;; ++esac ++ ++GAIL_INET_LIBS="$LIBS" ++AC_SUBST([GAIL_INET_LIBS]) ++ ++LIBS="$old_LIBS" ++ ++################################################################ ++# Printing system checks ++################################################################ ++ ++AC_ARG_ENABLE(cups, ++ [AC_HELP_STRING([--disable-cups] ++ [disable cups print backend])],, ++ [enable_cups=auto]) ++ ++if test "x$enable_cups" = "xno"; then ++ AM_CONDITIONAL(HAVE_CUPS, false) ++else ++ AC_PATH_PROG(CUPS_CONFIG, cups-config, no) ++ if test "x$CUPS_CONFIG" = "xno"; then ++ if test "x$enable_cups" = "xauto"; then ++ AM_CONDITIONAL(HAVE_CUPS, false) ++ else ++ AC_MSG_ERROR([ ++*** cups not found. ++]) ++ fi ++ else ++ CUPS_CFLAGS=`$CUPS_CONFIG --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'` ++ CUPS_LIBS=`$CUPS_CONFIG --libs` ++ ++ CUPS_API_VERSION=`$CUPS_CONFIG --api-version` ++ CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $1}'` ++ CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'` ++ ++ if test $CUPS_API_MAJOR -gt 1 -o \ ++ $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then ++ AC_DEFINE(HAVE_CUPS_API_1_2, 1, ++ [Define to 1 if CUPS 1.2 API is available]) ++ fi ++ if test $CUPS_API_MAJOR -gt 1 -o \ ++ $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 6; then ++ AC_DEFINE(HAVE_CUPS_API_1_6, 1, ++ [Define to 1 if CUPS 1.6 API is available]) ++ ++ fi ++ ++ AC_SUBST(CUPS_API_MAJOR) ++ AC_SUBST(CUPS_API_MINOR) ++ AC_SUBST(CUPS_CFLAGS) ++ AC_SUBST(CUPS_LIBS) ++ ++ AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]])) ++ ++ AM_CONDITIONAL(HAVE_CUPS, true) ++ ++ gtk_save_cflags="$CFLAGS" ++ CFLAGS="$CUPS_CFLAGS" ++ AC_TRY_COMPILE([#include ], ++ [http_t http; char *s = http.authstring;], ++ [AC_DEFINE(HAVE_HTTP_AUTHSTRING, [], ++ [Define if cups http_t authstring field is accessible])],) ++ CFLAGS="$gtk_save_cflags" ++ ++ AC_SUBST(HAVE_HTTP_AUTHSTRING) ++ ++ gtk_save_libs="$LIBS" ++ LIBS="$CUPS_LIBS" ++ AC_CHECK_FUNCS(httpGetAuthString) ++ LIBS="$gtk_save_libs" ++ fi ++fi ++ ++# Checks to see if we should compile with PAPI backend for GTK+ ++# ++ ++AC_ARG_ENABLE(papi, ++ [AC_HELP_STRING([--disable-papi] ++ [disable papi print backend])],, ++ [enable_papi=auto]) ++ ++if test "x$enable_papi" = "xno"; then ++ AM_CONDITIONAL(HAVE_PAPI, false) ++else ++ AC_MSG_CHECKING(libpapi) ++ AC_CHECK_LIB(papi, papiServiceCreate, have_papi=yes, have_papi=no) ++ if test $have_papi = yes; then ++ AC_DEFINE([HAVE_PAPI], [], [Define to 1 if libpapi available]) ++ fi ++ AM_CONDITIONAL(HAVE_PAPI, test $have_papi = yes) ++ if test "x$enable_papi" = "xyes" -a "x$have_papi" = "xno"; then ++ AC_MSG_ERROR([ ++*** papi not found. ++]) ++ fi ++fi ++ ++AM_CONDITIONAL(HAVE_PAPI_CUPS, test "x$have_papi" = "xyes" -a "x$CUPS_CONFIG" != "xno") ++ ++gtk_save_cppflags="$CPPFLAGS" ++CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS" ++ ++AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([ ++*** Can't find cairo-pdf.h. You must build Cairo with the pdf ++*** backend enabled.])) ++ ++if test "$os_win32" != "yes"; then ++ AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([ ++*** Can't find cairo-ps.h. You must build Cairo with the ++*** postscript backend enabled.])) ++ ++ AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([ ++*** Can't find cairo-svg.h. You must build Cairo with the ++*** svg backend enabled.])) ++fi ++ ++CPPFLAGS="$gtk_save_cppflags" ++ ++ ++AC_ARG_ENABLE(test-print-backend, ++ [AC_HELP_STRING([--enable-test-print-backend], ++ [build test print backend])],, ++ [enable_test_print_backend=no]) ++AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno") ++ ++if test "$os_win32" = "yes"; then ++ AC_CHECK_TYPES([IPrintDialogCallback],[],[],[[#include ]]) ++fi ++ ++################################################################ ++# Strip -export-dynamic from the link lines of various libraries ++################################################################ ++ ++# ++# pkg-config --libs gmodule includes the "export_dynamic" flag, ++# but this flag is only meaningful for executables. For libraries ++# the effect is undefined; what it causes on Linux is that the ++# export list from -export-symbols-regex is ignored and everything ++# is exported ++# ++# We are using gmodule-no-export now, but I'm leaving the stripping ++# code in place for now, since pango and atk still require gmodule. ++export SED ++export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++if test -n "$export_dynamic"; then ++ GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` ++ GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` ++fi ++ ++################################################## ++# GObject introspection ++################################################## ++ ++GOBJECT_INTROSPECTION_CHECK([0.9.3]) ++ ++################################################## ++# Checks for gtk-doc and docbook-tools ++################################################## ++ ++GTK_DOC_CHECK([1.11]) ++ ++AC_CHECK_PROG(DB2HTML, db2html, true, false) ++AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML) ++ ++AC_ARG_ENABLE(man, ++ [AC_HELP_STRING([--enable-man], ++ [regenerate man pages from Docbook [default=no]])],enable_man=yes, ++ enable_man=no) ++ ++if test "${enable_man}" != no; then ++ dnl ++ dnl Check for xsltproc ++ dnl ++ AC_PATH_PROG([XSLTPROC], [xsltproc]) ++ if test -z "$XSLTPROC"; then ++ enable_man=no ++ fi ++ ++ dnl check for DocBook DTD and stylesheets in the local catalog. ++ JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN], ++ [DocBook XML DTD V4.1.2],,enable_man=no) ++ JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl], ++ [DocBook XSL Stylesheets],,enable_man=no) ++fi ++ ++AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno) ++ ++ ++################################################## ++# Output commands ++################################################## ++ ++AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [ ++ outfile=gdkconfig.h-tmp ++ cat > $outfile <<\_______EOF ++/* gdkconfig.h ++ * ++ * This is a generated file. Please modify `configure.in' ++ */ ++ ++#ifndef GDKCONFIG_H ++#define GDKCONFIG_H ++ ++#ifdef __cplusplus ++extern "C" { ++#endif /* __cplusplus */ ++ ++#ifndef GSEAL ++/* introduce GSEAL() here for all of Gdk and Gtk+ without the need to modify GLib */ ++# ifdef GSEAL_ENABLE ++# define GSEAL(ident) _g_sealed__ ## ident ++# else ++# define GSEAL(ident) ident ++# endif ++#endif /* !GSEAL */ ++ ++_______EOF ++ ++ cat >>$outfile <<_______EOF ++$gdk_windowing ++$gdk_wc ++_______EOF ++ ++ cat >>$outfile <<_______EOF ++ ++#ifdef __cplusplus ++} ++#endif /* __cplusplus */ ++ ++#endif /* GDKCONFIG_H */ ++_______EOF ++ ++ ++ if cmp -s $outfile gdk/gdkconfig.h; then ++ AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged]) ++ rm -f $outfile ++ else ++ mv $outfile gdk/gdkconfig.h ++ fi ++],[ ++if test "x$gdktarget" = "xx11" ; then ++ gdk_windowing=' ++#define GDK_WINDOWING_X11' ++elif test "x$gdktarget" = "xwin32" ; then ++ gdk_windowing=' ++#define GDK_NATIVE_WINDOW_POINTER ++ ++#define GDK_WINDOWING_WIN32' ++elif test "x$gdktarget" = "xquartz" ; then ++ gdk_windowing=' ++#define GDK_WINDOWING_QUARTZ' ++elif test "x$gdktarget" = "xdirectfb" ; then ++ gdk_windowing=' ++#define GDK_WINDOWING_DIRECTFB' ++fi ++ ++if test x$gdk_wchar_h = xyes; then ++ gdk_wc=' ++#define GDK_HAVE_WCHAR_H 1' ++fi ++if test x$gdk_wctype_h = xyes; then ++ gdk_wc="\$gdk_wc ++#define GDK_HAVE_WCTYPE_H 1" ++fi ++if test x$gdk_working_wctype = xno; then ++ gdk_wc="\$gdk_wc ++#define GDK_HAVE_BROKEN_WCTYPE 1" ++fi ++ ++ ++]) ++ ++AC_CONFIG_FILES([ ++config.h.win32 ++gtk-zip.sh ++Makefile ++gdk-2.0.pc ++gtk+-2.0.pc ++gtk+-unix-print-2.0.pc ++gail.pc ++gdk-2.0-uninstalled.pc ++gtk+-2.0-uninstalled.pc ++gail-uninstalled.pc ++m4macros/Makefile ++po/Makefile.in ++po-properties/Makefile.in ++demos/Makefile ++demos/gtk-demo/Makefile ++demos/gtk-demo/geninclude.pl ++tests/Makefile ++docs/Makefile ++docs/reference/Makefile ++docs/reference/gdk/Makefile ++docs/reference/gdk/version.xml ++docs/reference/gtk/Makefile ++docs/reference/gtk/version.xml ++docs/reference/libgail-util/Makefile ++docs/faq/Makefile ++docs/tools/Makefile ++docs/tutorial/Makefile ++build/Makefile ++build/win32/Makefile ++build/win32/vs9/Makefile ++build/win32/vs10/Makefile ++gdk/Makefile ++gdk/x11/Makefile ++gdk/win32/Makefile ++gdk/win32/rc/Makefile ++gdk/win32/rc/gdk.rc ++gdk/quartz/Makefile ++gdk/directfb/Makefile ++gdk/tests/Makefile ++gtk/Makefile ++gtk/makefile.msc ++gtk/gtkversion.h ++gtk/gtk-win32.rc ++gtk/theme-bits/Makefile ++gtk/tests/Makefile ++modules/Makefile ++modules/other/Makefile ++modules/other/gail/Makefile ++modules/other/gail/libgail-util/Makefile ++modules/other/gail/tests/Makefile ++modules/engines/Makefile ++modules/engines/pixbuf/Makefile ++modules/engines/ms-windows/Makefile ++modules/engines/ms-windows/Theme/Makefile ++modules/engines/ms-windows/Theme/gtk-2.0/Makefile ++modules/input/Makefile ++modules/printbackends/Makefile ++modules/printbackends/cups/Makefile ++modules/printbackends/lpr/Makefile ++modules/printbackends/file/Makefile ++modules/printbackends/papi/Makefile ++modules/printbackends/test/Makefile ++perf/Makefile ++]) ++ ++AC_OUTPUT ++ ++echo "configuration: ++ target: $gdktarget" diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch new file mode 100644 index 0000000000..a4e2254c59 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch @@ -0,0 +1,24 @@ +Upstream-Status: Inappropriate [configuration] + +diff -Nurd gtk+-2.24.24/gtk/Makefile.am gtk+-2.24.24/gtk/Makefile.am +--- gtk+-2.24.24/gtk/Makefile.am 2014-06-23 18:08:14.000000000 +0300 ++++ gtk+-2.24.24/gtk/Makefile.am 2014-09-03 23:45:12.669307700 +0300 +@@ -1391,12 +1391,12 @@ + ./gtk-update-icon-cache + endif + +-gtkbuiltincache.h: @REBUILD@ stamp-icons +- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) +- $(gtk_update_icon_cache_program) --force --ignore-theme-index \ +- --include-image-data \ +- --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ +- mv gtkbuiltincache.h.tmp gtkbuiltincache.h ++#gtkbuiltincache.h: @REBUILD@ stamp-icons ++# $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) ++# $(gtk_update_icon_cache_program) --force --ignore-theme-index \ ++# --include-image-data \ ++# --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ ++# mv gtkbuiltincache.h.tmp gtkbuiltincache.h + + EXTRA_DIST += \ + $(STOCK_ICONS) \ diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff new file mode 100644 index 0000000000..340d12008b --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff @@ -0,0 +1,102 @@ +Upstream-Status: Pending + +Index: gtk/gtkcellrenderertoggle.c +=================================================================== +--- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800 ++++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800 +@@ -71,6 +71,8 @@ + PROP_INDICATOR_SIZE + }; + ++/* This is a hard-coded default which promptly gets overridden by a size ++ calculated from the font size. */ + #define TOGGLE_WIDTH 13 + + static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; +@@ -80,8 +82,9 @@ + typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; + struct _GtkCellRendererTogglePrivate + { +- gint indicator_size; +- ++ gint indicator_size; /* This is the real size */ ++ gint override_size; /* This is the size set from the indicator-size property */ ++ GtkWidget *cached_widget; + guint inconsistent : 1; + }; + +@@ -104,6 +107,7 @@ + GTK_CELL_RENDERER (celltoggle)->ypad = 2; + + priv->indicator_size = TOGGLE_WIDTH; ++ priv->override_size = 0; + priv->inconsistent = FALSE; + } + +@@ -210,7 +214,7 @@ + g_value_set_boolean (value, celltoggle->radio); + break; + case PROP_INDICATOR_SIZE: +- g_value_set_int (value, priv->indicator_size); ++ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -245,7 +249,7 @@ + celltoggle->radio = g_value_get_boolean (value); + break; + case PROP_INDICATOR_SIZE: +- priv->indicator_size = g_value_get_int (value); ++ priv->override_size = g_value_get_int (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -273,6 +277,27 @@ + } + + static void ++on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data) ++{ ++ GtkCellRendererTogglePrivate *priv = user_data; ++ PangoContext *context; ++ PangoFontMetrics *metrics; ++ int height; ++ ++ context = gtk_widget_get_pango_context (widget); ++ metrics = pango_context_get_metrics (context, ++ widget->style->font_desc, ++ pango_context_get_language (context)); ++ ++ height = pango_font_metrics_get_ascent (metrics) + ++ pango_font_metrics_get_descent (metrics); ++ ++ pango_font_metrics_unref (metrics); ++ ++ priv->indicator_size = PANGO_PIXELS (height * 0.85); ++} ++ ++static void + gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, +@@ -287,6 +312,20 @@ + + priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); + ++ if (priv->override_size) { ++ priv->indicator_size = priv->override_size; ++ } else if (priv->cached_widget != widget) { ++ if (priv->cached_widget) { ++ g_object_remove_weak_pointer (widget, &priv->cached_widget); ++ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv); ++ } ++ priv->cached_widget = widget; ++ g_object_add_weak_pointer (widget, &priv->cached_widget); ++ g_signal_connect (widget, "style-set", on_widget_style_set, priv); ++ ++ on_widget_style_set (widget, NULL, priv); ++ } ++ + calc_width = (gint) cell->xpad * 2 + priv->indicator_size; + calc_height = (gint) cell->ypad * 2 + priv->indicator_size; + diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch new file mode 100644 index 0000000000..d0a970ad4d --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch @@ -0,0 +1,20 @@ +Upstream-Status: Pending + +Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c +=================================================================== +--- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800 ++++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800 +@@ -3062,10 +3062,9 @@ + { + GdkScreenX11 *screen = data; + +- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) +- return GDK_FILTER_REMOVE; +- else +- return GDK_FILTER_CONTINUE; ++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent); ++ ++ return GDK_FILTER_CONTINUE; + } + + static Bool diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc new file mode 100644 index 0000000000..1c0558c409 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+.inc @@ -0,0 +1,94 @@ +SUMMARY = "Multi-platform toolkit for creating GUIs" +DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ +set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites." +HOMEPAGE = "http://www.gtk.org" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +SECTION = "libs" + +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" +DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native docbook-utils-native \ + cairo gdk-pixbuf" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \ +" + +PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" +# without --with-gdktarget=directfb it will check for cairo-xlib which isn't available without X11 DISTRO_FEATURE +PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" + +inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache + +PACKAGES += "libgail gtk-demo" + +FILES_${PN} = "${bindir}/gtk-update-icon-cache-2.0 \ + ${bindir}/gtk-query-immodules-2.0 \ + ${libdir}/lib*${SOLIBS} \ + ${datadir}/themes ${sysconfdir} \ + ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so" + +FILES_${PN}-dev += " \ + ${datadir}/gtk-2.0/include \ + ${libdir}/gtk-2.0/include \ + ${libdir}/gtk-2.0/modules/*.la \ + ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \ + ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \ + ${libdir}/gtk-2.0/${LIBV}/printbackends/*.la \ + ${libdir}/gtk-2.0/${LIBV}/engines/*.la \ + ${bindir}/gtk-builder-convert" + +FILES_${PN}-dbg += " \ + ${libdir}/gtk-2.0/modules/.debug/* \ + ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \ + ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \ + ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ + ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" + +FILES_gtk-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + +FILES_libgail = " \ + ${libdir}/gtk-2.0/modules/libgail.so \ + ${libdir}/gtk-2.0/modules/libferret.so \ + " + +GTKBASE_RRECOMMENDS ?= "liberation-fonts gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm shared-mime-info" +GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" + +RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}" +RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}" + +ALTERNATIVE_${PN} = "gtk-update-icon-cache" +ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0" + +do_install () { + autotools_do_install + + install -d ${D}${sysconfdir}/gtk-2.0 + + mkdir -p ${D}${libdir}/gtk-2.0/include + install -m 0644 gdk/gdkconfig.h ${D}${libdir}/gtk-2.0/include/gdkconfig.h + + install -m 0644 ${S}/gtk/gtkfilechooserprivate.h ${D}${includedir}/gtk-2.0/gtk/ + install -m 0644 ${S}/gtk/gtkfilechooserutils.h ${D}${includedir}/gtk-2.0/gtk/ + install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/ + + mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0 +} + +SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess" + +gtk_sysroot_preprocess () { + if [ -e ${D}${bindir}/gtk-builder-convert ]; then + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + fi +} + diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc new file mode 100644 index 0000000000..3e36676ac4 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+3.inc @@ -0,0 +1,110 @@ +SUMMARY = "Multi-platform toolkit for creating GUIs" +DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ +set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites." +HOMEPAGE = "http://www.gtk.org" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "libs" + +DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \ + docbook-utils-native gdk-pixbuf-native" + +LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" + +inherit autotools pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings + +# This should be in autotools.bbclass, but until something elses uses it putting +# it here avoids rebuilding everything. +export PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native" + +do_configure_prepend() { + # Do this because the configure script is running ./libtool directly + rm -f libtool + ln -s ${TARGET_PREFIX}libtool libtool +} + +# Forcibly disable the GTK+ 2 dependency as we don't want to natively build the +# entire GTK+ stack, or need GTK+ 2 for gtk-update-icon-cache. +EXTRA_OECONF += " \ + --disable-gtk2-dependency \ + --disable-glibtest \ + --disable-xinerama \ + --enable-modules \ + --disable-cups \ + --disable-introspection \ +" + +PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)}" + +PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes" +PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon" + +do_install_append() { + mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0 +} + +PACKAGES =+ "${PN}-demo" +LIBV = "3.0.0" + +FILES_${PN}-demo = "${bindir}/gtk3-demo \ + ${bindir}/gtk3-demo-application \ + ${bindir}/gtk3-widget-factory \ + ${datadir}/gtk-3.0/demo \ + ${datadir}/applications/gtk3-demo.desktop \ + ${datadir}/applications/gtk3-widget-factory.desktop \ + ${datadir}/icons/hicolor/*/apps/gtk3-demo.png \ + ${datadir}/icons/hicolor/*/apps/gtk3-widget-factory.png" + +# The demo uses PNG files and mime type sniffing, so ensure that these +# dependencies are present. +RDEPENDS_${PN}-demo += "gdk-pixbuf-loader-png shared-mime-info" + +FILES_${PN} = "${bindir}/gtk-update-icon-cache-3.0 \ + ${bindir}/gtk-query-immodules-3.0 \ + ${bindir}/gtk-launch \ + ${libdir}/lib*${SOLIBS} \ + ${datadir}/themes ${sysconfdir} ${datadir}/glib-2.0/schemas/ \ + ${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \ + ${libdir}/gtk-3.0/modules/*.so" + +FILES_${PN}-dev += " \ + ${datadir}/gtk-3.0/gtkbuilder.rng \ + ${datadir}/gtk-3.0/include \ + ${libdir}/gtk-3.0/include \ + ${libdir}/gtk-3.0/${LIBV}/loaders/*.la \ + ${libdir}/gtk-3.0/${LIBV}/immodules/*.la \ + ${libdir}/gtk-3.0/3.0.0/printbackends/*.la \ + ${libdir}/gtk-3.0/${LIBV}/engines/*.la \ + ${libdir}/gtk-3.0/modules/*.la \ + ${bindir}/gtk-builder-convert" + +FILES_${PN}-dbg += " \ + ${libdir}/gtk-3.0/${LIBV}/loaders/.debug \ + ${libdir}/gtk-3.0/${LIBV}/immodules/.debug \ + ${libdir}/gtk-3.0/${LIBV}/engines/.debug \ + ${libdir}/gtk-3.0/${LIBV}/printbackends/.debug \ + ${libdir}/gtk-3.0/modules/.debug" + + +PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*" + +ALTERNATIVE_${PN} = "gtk-update-icon-cache" +ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-3.0" + +python populate_packages_prepend () { + import os.path + + gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}') + immodules_root = os.path.join(gtk_libdir, 'immodules') + printmodules_root = os.path.join(gtk_libdir, 'printbackends'); + + immodules = do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s') + if immodules: + d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules)) + + do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s') + + if (d.getVar('DEBIAN_NAMES', 1)): + d.setVar('PKG_${PN}', '${MLPREFIX}libgtk-3.0') +} + diff --git a/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch b/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch new file mode 100644 index 0000000000..9ae1088e01 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch @@ -0,0 +1,33 @@ +From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Fri, 28 Mar 2014 03:10:12 +0000 +Subject: [PATCH] gtk/native/Makefile.am: unset target FLAGS for native build + +The target gtk+3 does a native build in its "native" directory, we need +unset the target FLAGS for native build, otherwise, there might be build +failures. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang +--- + gtk/native/Makefile.am | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am +index 64899e9..a1c814a 100644 +--- a/gtk/native/Makefile.am ++++ b/gtk/native/Makefile.am +@@ -3,6 +3,9 @@ AM_CFLAGS = @CFLAGS_FOR_BUILD@ + CPP = @CPP_FOR_BUILD@ + AM_CPPFLAGS = @CPPFLAGS_FOR_BUILD@ + AM_LDFLAGS = @LDFLAGS_FOR_BUILD@ ++CFLAGS = ++CPPFLAGS = ++LDFLAGS = + + if CROSS_COMPILING + if !USE_EXTERNAL_ICON_CACHE +-- +1.8.3.4 + diff --git a/meta/recipes-gnome/gtk+/gtk+3/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+3/hardcoded_libtool.patch new file mode 100644 index 0000000000..3b4beeb712 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+3/hardcoded_libtool.patch @@ -0,0 +1,35 @@ +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Marko Lindqvist + +Index: gtk+-3.8.2/configure.ac +=================================================================== +--- gtk+-3.8.2.orig/configure.ac ++++ gtk+-3.8.2/configure.ac +@@ -531,7 +531,7 @@ AC_MSG_CHECKING([Whether to write depend + case $enable_explicit_deps in + auto) + export SED +- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` ++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` + if test "x$deplibs_check_method" != xpass_all || test "x$enable_static" = xyes ; then + enable_explicit_deps=yes + else +@@ -793,7 +793,7 @@ else + dnl Now we check to see if our libtool supports shared lib deps + dnl (in a rather ugly way even) + if $dynworks; then +- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" ++ module_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config" + module_deplibs_check=`$module_libtool_config | \ + grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ + sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` +@@ -1528,7 +1528,7 @@ fi + # We are using gmodule-no-export now, but I'm leaving the stripping + # code in place for now, since pango and atk still require gmodule. + export SED +-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + if test -n "$export_dynamic"; then + GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` + GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb b/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb new file mode 100644 index 0000000000..f4f197131b --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb @@ -0,0 +1,18 @@ +require gtk+3.inc + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ + file://hardcoded_libtool.patch \ + file://fix-flags-for-native.patch \ + " + +SRC_URI[md5sum] = "0d6d8f9f79132b3b47475d047b369b1c" +SRC_URI[sha256sum] = "61d74eea74231b1ea4b53084a9d6fc9917ab0e1d71b69d92cbf60a4b4fb385d0" + +S = "${WORKDIR}/gtk+-${PV}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ + file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ + file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.24.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.24.bb new file mode 100644 index 0000000000..7d0a0a2a8d --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+_2.24.24.bb @@ -0,0 +1,50 @@ +require gtk+.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \ + file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \ + file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c" +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \ + file://xsettings.patch \ + file://run-iconcache.patch \ + file://configure-nm.patch \ + file://hardcoded_libtool.patch \ + file://cellrenderer-cairo.patch;striplevel=0 \ + file://toggle-font.diff;striplevel=0 \ + file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \ + file://doc-fixes.patch \ + file://0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch \ + " + +# TO MERGE +# file://entry-cairo.patch;striplevel=0 +# file://filesystem-volumes.patch +# file://filechooser-props.patch +# file://filechooser-default.patch +# file://filechooser-sizefix.patch +# temporary +# file://gtklabel-resize-patch +# file://menu-deactivate.patch +# file://combo-arrow-size.patch;striplevel=0 +# file://configurefix.patch + +SRC_URI[md5sum] = "f80ac8aa95ea8482ad89656d0370752e" +SRC_URI[sha256sum] = "12ceb2e198c82bfb93eb36348b6e9293c8fdcd60786763d04cfec7ebe7ed3d6d" + +EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama" + +LIBV = "2.10.0" + +PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*" + +python populate_packages_prepend () { + gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}') + immodules_root = os.path.join(gtk_libdir, 'immodules') + printmodules_root = os.path.join(gtk_libdir, 'printbackends'); + + d.setVar('GTKIMMODULES_PACKAGES', ' '.join(do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s'))) + do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s') + + if (d.getVar('DEBIAN_NAMES', True)): + d.setVar('PKG_${PN}', '${MLPREFIX}libgtk-2.0') +} diff --git a/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb b/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb new file mode 100644 index 0000000000..73b7644845 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb @@ -0,0 +1,47 @@ +SUMMARY = "gtk-update-icon-cache built natively" +DESCRIPTION = "Just gtk-update-icon-cache built from GTK+ natively, for on-host postinst script execution." +SECTION = "libs" + +DEPENDS = "gdk-pixbuf-native" + +LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ + file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ + file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" + +SRC_URI = "http://download.gnome.org/sources/gtk+/3.4/gtk+-${PV}.tar.xz" +SRC_URI[md5sum] = "1b2cf29502a6394e8d4b30f7f5bb9131" +SRC_URI[sha256sum] = "f154e460075034da4c0ce89c320025dcd459da2a1fdf32d92a09522eaca242c7" + +S = "${WORKDIR}/gtk+-${PV}" + +inherit pkgconfig native + +PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native" + +do_configure() { + # Quite ugly but defines enough to compile the tool. + if ! test -f gtk/config.h; then + echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h + echo "#define HAVE_UNISTD_H 1" >> gtk/config.h + echo "#define HAVE_FTW_H 1" >> gtk/config.h + + fi +} + +do_compile() { + ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} ${S}/gtk/updateiconcache.c \ + $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \ + -o gtk-update-icon-cache +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir} + + create_wrapper ${D}/${bindir}/gtk-update-icon-cache \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache + +} diff --git a/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb b/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb new file mode 100644 index 0000000000..40f324352f --- /dev/null +++ b/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb @@ -0,0 +1,20 @@ +SUMMARY = "Stub implementation of gtk-doc" +DESCRIPTION = "Stub implementation of gtk-doc, as we don't want to build the API documentation" +SECTION = "x11/base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +PROVIDES = "gtk-doc gobject-introspection-stub" + +SRCREV = "1dea266593edb766d6d898c79451ef193eb17cfa" +PV = "1.1+git${SRCPV}" + +SRC_URI = "git://git.gnome.org/${BPN}" + +S = "${WORKDIR}/git" + +inherit autotools + +FILES_${PN} += "${datadir}" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/glib-2.32.patch b/meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/glib-2.32.patch new file mode 100644 index 0000000000..f0b878d376 --- /dev/null +++ b/meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/glib-2.32.patch @@ -0,0 +1,23 @@ +From 8d49a386f467cbf8e0842d2218126f643e50f834 Mon Sep 17 00:00:00 2001 +From: Dominique Leuenberger +Date: Sun, 27 Nov 2011 14:24:57 +0000 +Subject: Fix build with glib 2.31: Only glib.h can be #include'd. Fixes bug #664914 + +Upstream-Status: Backport + +--- +diff --git a/engines/clearlooks/src/animation.c b/engines/clearlooks/src/animation.c +index 1f7a41f..56a9286 100644 +--- a/engines/clearlooks/src/animation.c ++++ b/engines/clearlooks/src/animation.c +@@ -28,7 +28,7 @@ + #include "animation.h" + + #ifdef HAVE_WORKING_ANIMATION +-#include ++#include + + struct _AnimationInfo { + GTimer *timer; +-- +cgit v0.9.0.2 diff --git a/meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/substitute-tests.patch b/meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/substitute-tests.patch new file mode 100644 index 0000000000..5c557ba689 --- /dev/null +++ b/meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/substitute-tests.patch @@ -0,0 +1,37 @@ +Upstream-Status: Pending + +Signed-off-by: Marko Lindqvist +diff -Nurd gtk-engines-2.20.2/configure.ac gtk-engines-2.20.2/configure.ac +--- gtk-engines-2.20.2/configure.ac 2010-10-01 15:42:37.000000000 +0300 ++++ gtk-engines-2.20.2/configure.ac 2013-08-20 02:50:27.930510565 +0300 +@@ -166,6 +166,9 @@ + + AC_SUBST(DEVELOPMENT_CFLAGS) + ++AC_SUBST([exported_symbols_tests], [[$(EXPORTED_SYMBOLS_TESTS)]]) ++AC_SUBST([torture_test_tests], [[$(TORTURE_TEST_TESTS)]]) ++ + AM_CONFIG_HEADER([engines/support/config.h]) + + AC_CONFIG_FILES([ +diff -Nurd gtk-engines-2.20.2/test/Makefile.am gtk-engines-2.20.2/test/Makefile.am +--- gtk-engines-2.20.2/test/Makefile.am 2010-09-19 18:18:21.000000000 +0300 ++++ gtk-engines-2.20.2/test/Makefile.am 2013-08-20 02:50:36.842510865 +0300 +@@ -66,7 +66,7 @@ + # Prefix with exported_ + EXPORTED_SYMBOLS_TESTS = $(patsubst %,exported_%,$(BUILD_ENGINES)) + +-TESTS += $(EXPORTED_SYMBOLS_TESTS) ++TESTS += @exported_symbols_tests@ + + + ############################################################# +@@ -88,7 +88,7 @@ + TORTURE_TEST_TESTS = torture_buildin $(patsubst %,torture_%,$(TORTURE_TEST_ENGINES)) + + # Add TORTURE_TEST_ENGINES to list of tests +-TESTS += $(TORTURE_TEST_TESTS) ++TESTS += @torture_test_tests@ + + # Possible other tests: + # - An extensive theme switch tests that loads/unloads the engine diff --git a/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb b/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb new file mode 100644 index 0000000000..33b6afe2c7 --- /dev/null +++ b/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb @@ -0,0 +1,46 @@ +SUMMARY = "GTK+ theme engines" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +SECTION = "x11/base" +DEPENDS = "intltool-native gtk+" + +PR = "r3" + +PACKAGES += "${PN}-schemas" +PACKAGES_DYNAMIC += "^gtk-engine-.* ^gtk-theme-.*" + +RDEPENDS_gtk-theme-redmond = "gtk-engine-redmond95" +RDEPENDS_gtk-theme-metal = "gtk-engine-metal" +RDEPENDS_gtk-theme-mist = "gtk-engine-mist" +RDEPENDS_gtk-theme-crux = "gtk-engine-crux-engine" +RDEPENDS_gtk-theme-lighthouseblue = "gtk-engine-lighthouseblue" +RDEPENDS_gtk-theme-thinice = "gtk-engine-thinice" +RDEPENDS_gtk-theme-industrial = "gtk-engine-industrial" +RDEPENDS_gtk-theme-clearlooks = "gtk-engine-clearlooks" + +FILES_${PN} = "" +FILES_${PN}-dev += "${libdir}/gtk-2.0/*/engines/*.la" +FILES_${PN}-dbg += "${libdir}/gtk-2.0/*/engines/.debug" +FILES_${PN}-schemas = "${datadir}/gtk-engines/*.xml" + +CFLAGS_prepend = "-DHAVE_ANIMATION " + +inherit gnomebase + +python populate_packages_prepend() { + engines_root = os.path.join(d.getVar('libdir', True), "gtk-2.0/2.10.0/engines") + themes_root = os.path.join(d.getVar('datadir', True), "themes") + + do_split_packages(d, engines_root, '^lib(.*)\.so$', 'gtk-engine-%s', 'GTK %s theme engine', extra_depends='') + do_split_packages(d, themes_root, '(.*)', 'gtk-theme-%s', 'GTK theme %s', allow_dirs=True, extra_depends='') + # TODO: mark theme packages as arch all +} + +SRC_URI += "file://glib-2.32.patch \ + file://substitute-tests.patch" +SRC_URI[archive.md5sum] = "5deb287bc6075dc21812130604c7dc4f" +SRC_URI[archive.sha256sum] = "15b680abca6c773ecb85253521fa100dd3b8549befeecc7595b10209d62d66b5" diff --git a/meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb b/meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb new file mode 100644 index 0000000000..889fd89417 --- /dev/null +++ b/meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "GTK+ Theme benchmark program" +DEPENDS = "gtk+" +HOMEPAGE = "http://wiki.laptop.org/go/GTK_for_OLPC" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://appwindow.c;endline=13;md5=8c09920de460c7ea1f64ee56986aabd9" + +SRCREV = "99962ae39bb5aadb31929b25c58e1a053f9c9545" +PV = "0.0.0+git${SRCPV}" + +SRC_URI = "git://dev.laptop.org/projects/soc-gtk/" +S = "${WORKDIR}/git/gtk-theme-torturer" + +CFLAGS += "-Wl,-rpath-link,${STAGING_LIBDIR}" + +do_install() { + install -d ${D}${bindir} + install -m 0755 torturer ${D}${bindir} +} + + diff --git a/meta/recipes-gnome/hicolor-icon-theme/files/index.theme b/meta/recipes-gnome/hicolor-icon-theme/files/index.theme new file mode 100644 index 0000000000..0471bd53f2 --- /dev/null +++ b/meta/recipes-gnome/hicolor-icon-theme/files/index.theme @@ -0,0 +1,1731 @@ +[Icon Theme] +Name=Hicolor +Comment=Fallback icon theme +Hidden=true +Directories=16x16/actions,16x16/animations,16x16/apps,16x16/categories,16x16/devices,16x16/emblems,16x16/emotes,16x16/filesystems,16x16/intl,16x16/mimetypes,16x16/places,16x16/status,16x16/stock,16x16/stock/chart,16x16/stock/code,16x16/stock/data,16x16/stock/form,16x16/stock/image,16x16/stock/io,16x16/stock/media,16x16/stock/navigation,16x16/stock/net,16x16/stock/object,16x16/stock/table,16x16/stock/text,22x22/actions,22x22/animations,22x22/apps,22x22/categories,22x22/devices,22x22/emblems,22x22/emotes,22x22/filesystems,22x22/intl,22x22/mimetypes,22x22/places,22x22/status,22x22/stock,22x22/stock/chart,22x22/stock/code,22x22/stock/data,22x22/stock/form,22x22/stock/image,22x22/stock/io,22x22/stock/media,22x22/stock/navigation,22x22/stock/net,22x22/stock/object,22x22/stock/table,22x22/stock/text,24x24/actions,24x24/animations,24x24/apps,24x24/categories,24x24/devices,24x24/emblems,24x24/emotes,24x24/filesystems,24x24/intl,24x24/mimetypes,24x24/places,24x24/status,24x24/stock,24x24/stock/chart,24x24/stock/code,24x24/stock/data,24x24/stock/form,24x24/stock/image,24x24/stock/io,24x24/stock/media,24x24/stock/navigation,24x24/stock/net,24x24/stock/object,24x24/stock/table,24x24/stock/text,32x32/actions,32x32/animations,32x32/apps,32x32/categories,32x32/devices,32x32/emblems,32x32/emotes,32x32/filesystems,32x32/intl,32x32/mimetypes,32x32/places,32x32/status,32x32/stock,32x32/stock/chart,32x32/stock/code,32x32/stock/data,32x32/stock/form,32x32/stock/image,32x32/stock/io,32x32/stock/media,32x32/stock/navigation,32x32/stock/net,32x32/stock/object,32x32/stock/table,32x32/stock/text,36x36/actions,36x36/animations,36x36/apps,36x36/categories,36x36/devices,36x36/emblems,36x36/emotes,36x36/filesystems,36x36/intl,36x36/mimetypes,36x36/places,36x36/status,36x36/stock,36x36/stock/chart,36x36/stock/code,36x36/stock/data,36x36/stock/form,36x36/stock/image,36x36/stock/io,36x36/stock/media,36x36/stock/navigation,36x36/stock/net,36x36/stock/object,36x36/stock/table,36x36/stock/text,48x48/actions,48x48/animations,48x48/apps,48x48/categories,48x48/devices,48x48/emblems,48x48/emotes,48x48/filesystems,48x48/intl,48x48/mimetypes,48x48/places,48x48/status,48x48/stock,48x48/stock/chart,48x48/stock/code,48x48/stock/data,48x48/stock/form,48x48/stock/image,48x48/stock/io,48x48/stock/media,48x48/stock/navigation,48x48/stock/net,48x48/stock/object,48x48/stock/table,48x48/stock/text,64x64/actions,64x64/animations,64x64/apps,64x64/categories,64x64/devices,64x64/emblems,64x64/emotes,64x64/filesystems,64x64/intl,64x64/mimetypes,64x64/places,64x64/status,64x64/stock,64x64/stock/chart,64x64/stock/code,64x64/stock/data,64x64/stock/form,64x64/stock/image,64x64/stock/io,64x64/stock/media,64x64/stock/navigation,64x64/stock/net,64x64/stock/object,64x64/stock/table,64x64/stock/text,72x72/actions,72x72/animations,72x72/apps,72x72/categories,72x72/devices,72x72/emblems,72x72/emotes,72x72/filesystems,72x72/intl,72x72/mimetypes,72x72/places,72x72/status,72x72/stock,72x72/stock/chart,72x72/stock/code,72x72/stock/data,72x72/stock/form,72x72/stock/image,72x72/stock/io,72x72/stock/media,72x72/stock/navigation,72x72/stock/net,72x72/stock/object,72x72/stock/table,72x72/stock/text,96x96/actions,96x96/animations,96x96/apps,96x96/categories,96x96/devices,96x96/emblems,96x96/emotes,96x96/filesystems,96x96/intl,96x96/mimetypes,96x96/places,96x96/status,96x96/stock,96x96/stock/chart,96x96/stock/code,96x96/stock/data,96x96/stock/form,96x96/stock/image,96x96/stock/io,96x96/stock/media,96x96/stock/navigation,96x96/stock/net,96x96/stock/object,96x96/stock/table,96x96/stock/text,128x128/actions,128x128/animations,128x128/apps,128x128/categories,128x128/devices,128x128/emblems,128x128/emotes,128x128/filesystems,128x128/intl,128x128/mimetypes,128x128/places,128x128/status,128x128/stock,128x128/stock/chart,128x128/stock/code,128x128/stock/data,128x128/stock/form,128x128/stock/image,128x128/stock/io,128x128/stock/media,128x128/stock/navigation,128x128/stock/net,128x128/stock/object,128x128/stock/table,128x128/stock/text,192x192/actions,192x192/animations,192x192/apps,192x192/categories,192x192/devices,192x192/emblems,192x192/emotes,192x192/filesystems,192x192/intl,192x192/mimetypes,192x192/places,192x192/status,192x192/stock,192x192/stock/chart,192x192/stock/code,192x192/stock/data,192x192/stock/form,192x192/stock/image,192x192/stock/io,192x192/stock/media,192x192/stock/navigation,192x192/stock/net,192x192/stock/object,192x192/stock/table,192x192/stock/text,scalable/actions,scalable/animations,scalable/apps,scalable/categories,scalable/devices,scalable/emblems,scalable/emotes,scalable/filesystems,scalable/intl,scalable/mimetypes,scalable/places,scalable/status,scalable/stock,scalable/stock/chart,scalable/stock/code,scalable/stock/data,scalable/stock/form,scalable/stock/image,scalable/stock/io,scalable/stock/media,scalable/stock/navigation,scalable/stock/net,scalable/stock/object,scalable/stock/table,scalable/stock/text,12x12/apps,12x12/devices,12x12/filesystems,12x12/hildon,12x12/mimetypes,16x16/hildon,26x26/apps,26x26/devices,26x26/filesystems,26x26/hildon,26x26/mimetypes,34x34/apps,34x34/devices,34x34/filesystems,34x34/hildon,34x34/mimetypes,40x40/apps,40x40/devices,40x40/filesystems,40x40/hildon,40x40/mimetypes,50x50/apps,50x50/devices,50x50/filesystems,50x50/hildon,50x50/mimetypes,250x250/apps,250x250/devices,250x250/filesystems,250x250/hildon,250x250/mimetypes,scalable/hildon + +[12x12/apps] +Size=12 +Context=Applications +Type=Threshold + +[12x12/devices] +Size=12 +Context=Devices +Type=Threshold + +[12x12/filesystems] +Size=12 +Context=FileSystems +Type=Threshold + +[12x12/hildon] +Size=12 +Context=hildon +Type=Threshold + +[12x12/mimetypes] +Size=12 +Context=MimeTypes +Type=Threshold + +[16x16/actions] +Size=16 +Context=Actions +Type=Threshold + +[16x16/animations] +Size=16 +Context=Animations +Type=Threshold + +[16x16/apps] +Size=16 +Context=Applications +Type=Threshold + +[16x16/categories] +Size=16 +Context=Categories +Type=Threshold + +[16x16/devices] +Size=16 +Context=Devices +Type=Threshold + +[16x16/emblems] +Size=16 +Context=Emblems +Type=Threshold + +[16x16/emotes] +Size=16 +Context=Emotes +Type=Threshold + +[16x16/filesystems] +Size=16 +Context=FileSystems +Type=Threshold + +[16x16/hildon] +Size=16 +Context=hildon +Type=Threshold + +[16x16/intl] +Size=16 +Context=International +Type=Threshold + +[16x16/mimetypes] +Size=16 +Context=MimeTypes +Type=Threshold + +[16x16/places] +Size=16 +Context=Places +Type=Threshold + +[16x16/status] +Size=16 +Context=Status +Type=Threshold + +[16x16/stock/chart] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/code] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/data] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/form] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/image] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/io] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/media] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/navigation] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/net] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/object] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/table] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/text] +Size=16 +Context=Stock +Type=Threshold + +[22x22/actions] +Size=22 +Context=Actions +Type=Threshold + +[22x22/animations] +Size=22 +Context=Animations +Type=Threshold + +[22x22/apps] +Size=22 +Context=Applications +Type=Fixed + +[22x22/categories] +Size=22 +Context=Categories +Type=Threshold + +[22x22/devices] +Size=22 +Context=Devices +Type=Threshold + +[22x22/emblems] +Size=22 +Context=Emblems +Type=Threshold + +[22x22/emotes] +Size=22 +Context=Emotes +Type=Threshold + +[22x22/filesystems] +Size=22 +Context=FileSystems +Type=Threshold + +[22x22/intl] +Size=22 +Context=International +Type=Threshold + +[22x22/mimetypes] +Size=22 +Context=MimeTypes +Type=Threshold + +[22x22/places] +Size=22 +Context=Places +Type=Threshold + +[22x22/status] +Size=22 +Context=Status +Type=Threshold + +[22x22/stock/chart] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/code] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/data] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/form] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/image] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/io] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/media] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/navigation] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/net] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/object] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/table] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/text] +Size=22 +Context=Stock +Type=Threshold + +[24x24/actions] +Size=24 +Context=Actions +Type=Threshold + +[24x24/animations] +Size=24 +Context=Animations +Type=Threshold + +[24x24/apps] +Size=24 +Context=Applications +Type=Threshold + +[24x24/categories] +Size=24 +Context=Categories +Type=Threshold + +[24x24/devices] +Size=24 +Context=Devices +Type=Threshold + +[24x24/emblems] +Size=24 +Context=Emblems +Type=Threshold + +[24x24/emotes] +Size=24 +Context=Emotes +Type=Threshold + +[24x24/filesystems] +Size=24 +Context=FileSystems +Type=Threshold + +[24x24/intl] +Size=24 +Context=International +Type=Threshold + +[24x24/mimetypes] +Size=24 +Context=MimeTypes +Type=Threshold + +[24x24/places] +Size=24 +Context=Places +Type=Threshold + +[24x24/status] +Size=24 +Context=Status +Type=Threshold + +[24x24/stock/chart] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/code] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/data] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/form] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/image] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/io] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/media] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/navigation] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/net] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/object] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/table] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/text] +Size=24 +Context=Stock +Type=Threshold + +[26x26/apps] +Size=26 +Context=Applications +Type=Threshold + +[26x26/devices] +Size=26 +Context=Devices +Type=Threshold + +[26x26/filesystems] +Size=26 +Context=FileSystems +Type=Threshold + +[26x26/hildon] +Size=26 +Context=hildon +Type=Threshold + +[26x26/mimetypes] +Size=26 +Context=MimeTypes +Type=Threshold + +[32x32/actions] +Size=32 +Context=Actions +Type=Threshold + +[32x32/animations] +Size=32 +Context=Animations +Type=Threshold + +[32x32/apps] +Size=32 +Context=Applications +Type=Threshold + +[32x32/categories] +Size=32 +Context=Categories +Type=Threshold + +[32x32/devices] +Size=32 +Context=Devices +Type=Threshold + +[32x32/emblems] +Size=32 +Context=Emblems +Type=Threshold + +[32x32/emotes] +Size=32 +Context=Emotes +Type=Threshold + +[32x32/filesystems] +Size=32 +Context=FileSystems +Type=Threshold + +[32x32/intl] +Size=32 +Context=International +Type=Threshold + +[32x32/mimetypes] +Size=32 +Context=MimeTypes +Type=Threshold + +[32x32/places] +Size=32 +Context=Places +Type=Threshold + +[32x32/status] +Size=32 +Context=Status +Type=Threshold + +[32x32/stock/chart] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/code] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/data] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/form] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/image] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/io] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/media] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/navigation] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/net] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/object] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/table] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/text] +Size=32 +Context=Stock +Type=Threshold + +[34x34/apps] +Size=34 +Context=Applications +Type=Threshold + +[34x34/devices] +Size=34 +Context=Devices +Type=Threshold + +[34x34/filesystems] +Size=34 +Context=FileSystems +Type=Threshold + +[34x34/hildon] +Size=34 +Context=hildon +Type=Threshold + +[34x34/mimetypes] +Size=34 +Context=MimeTypes +Type=Threshold + +[36x36/actions] +Size=36 +Context=Actions +Type=Threshold + +[36x36/animations] +Size=36 +Context=Animations +Type=Threshold + +[36x36/apps] +Size=36 +Context=Applications +Type=Threshold + +[36x36/categories] +Size=36 +Context=Categories +Type=Threshold + +[36x36/devices] +Size=36 +Context=Devices +Type=Threshold + +[36x36/emblems] +Size=36 +Context=Emblems +Type=Threshold + +[36x36/emotes] +Size=36 +Context=Emotes +Type=Threshold + +[36x36/filesystems] +Size=36 +Context=FileSystems +Type=Threshold + +[36x36/intl] +Size=36 +Context=International +Type=Threshold + +[36x36/mimetypes] +Size=36 +Context=MimeTypes +Type=Threshold + +[36x36/places] +Size=36 +Context=Places +Type=Threshold + +[36x36/status] +Size=36 +Context=Status +Type=Threshold + +[36x36/stock/chart] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/code] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/data] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/form] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/image] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/io] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/media] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/navigation] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/net] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/object] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/table] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/text] +Size=36 +Context=Stock +Type=Threshold + +[40x40/apps] +Size=40 +Context=Applications +Type=Threshold + +[40x40/devices] +Size=40 +Context=Devices +Type=Threshold + +[40x40/filesystems] +Size=40 +Context=FileSystems +Type=Threshold + +[40x40/hildon] +Size=40 +Context=hildon +Type=Threshold + +[40x40/mimetypes] +Size=40 +Context=MimeTypes +Type=Threshold + +[48x48/actions] +Size=48 +Context=Actions +Type=Threshold + +[48x48/animations] +Size=48 +Context=Animations +Type=Threshold + +[48x48/apps] +Size=48 +Context=Applications +Type=Threshold + +[48x48/categories] +Size=48 +Context=Categories +Type=Threshold + +[48x48/devices] +Size=48 +Context=Devices +Type=Threshold + +[48x48/emblems] +Size=48 +Context=Emblems +Type=Threshold + +[48x48/emotes] +Size=48 +Context=Emotes +Type=Threshold + +[48x48/filesystems] +Size=48 +Context=FileSystems +Type=Threshold + +[48x48/intl] +Size=48 +Context=International +Type=Threshold + +[48x48/mimetypes] +Size=48 +Context=MimeTypes +Type=Threshold + +[48x48/places] +Size=48 +Context=Places +Type=Threshold + +[48x48/status] +Size=48 +Context=Status +Type=Threshold + +[48x48/stock/chart] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/code] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/data] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/form] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/image] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/io] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/media] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/navigation] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/net] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/object] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/table] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/text] +Size=48 +Context=Stock +Type=Threshold + +[50x50/apps] +Size=50 +Context=Applications +Type=Threshold + +[50x50/devices] +Size=50 +Context=Devices +Type=Threshold + +[50x50/filesystems] +Size=50 +Context=FileSystems +Type=Threshold + +[50x50/hildon] +Size=50 +Context=hildon +Type=Threshold + +[50x50/mimetypes] +Size=50 +Context=MimeTypes +Type=Threshold + +[64x64/actions] +Size=64 +Context=Actions +Type=Threshold + +[64x64/animations] +Size=64 +Context=Animations +Type=Threshold + +[64x64/apps] +Size=64 +Context=Applications +Type=Threshold + +[64x64/categories] +Size=64 +Context=Categories +Type=Threshold + +[64x64/devices] +Size=64 +Context=Devices +Type=Threshold + +[64x64/emblems] +Size=64 +Context=Emblems +Type=Threshold + +[64x64/emotes] +Size=64 +Context=Emotes +Type=Threshold + +[64x64/filesystems] +Size=64 +Context=FileSystems +Type=Threshold + +[64x64/intl] +Size=64 +Context=International +Type=Threshold + +[64x64/mimetypes] +Size=64 +Context=MimeTypes +Type=Threshold + +[64x64/places] +Size=64 +Context=Places +Type=Threshold + +[64x64/status] +Size=64 +Context=Status +Type=Threshold + +[64x64/stock/chart] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/code] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/data] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/form] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/image] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/io] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/media] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/navigation] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/net] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/object] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/table] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/text] +Size=64 +Context=Stock +Type=Threshold +[72x72/actions] +Size=72 +Context=Actions +Type=Threshold + +[72x72/animations] +Size=72 +Context=Animations +Type=Threshold + +[72x72/apps] +Size=72 +Context=Applications +Type=Threshold + +[72x72/categories] +Size=72 +Context=Categories +Type=Threshold + +[72x72/devices] +Size=72 +Context=Devices +Type=Threshold + +[72x72/emblems] +Size=72 +Context=Emblems +Type=Threshold + +[72x72/emotes] +Size=72 +Context=Emotes +Type=Threshold + +[72x72/filesystems] +Size=72 +Context=FileSystems +Type=Threshold + +[72x72/intl] +Size=72 +Context=International +Type=Threshold + +[72x72/mimetypes] +Size=72 +Context=MimeTypes +Type=Threshold + +[72x72/places] +Size=72 +Context=Places +Type=Threshold + +[72x72/status] +Size=72 +Context=Status +Type=Threshold + +[72x72/stock/chart] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/code] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/data] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/form] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/image] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/io] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/media] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/navigation] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/net] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/object] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/table] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/text] +Size=72 +Context=Stock +Type=Threshold + +[96x96/actions] +Size=96 +Context=Actions +Type=Threshold + +[96x96/animations] +Size=96 +Context=Animations +Type=Threshold + +[96x96/apps] +Size=96 +Context=Applications +Type=Threshold + +[96x96/categories] +Size=96 +Context=Categories +Type=Threshold + +[96x96/devices] +Size=96 +Context=Devices +Type=Threshold + +[96x96/emblems] +Size=96 +Context=Emblems +Type=Threshold + +[96x96/emotes] +Size=96 +Context=Emotes +Type=Threshold + +[96x96/filesystems] +Size=96 +Context=FileSystems +Type=Threshold + +[96x96/intl] +Size=96 +Context=International +Type=Threshold + +[96x96/mimetypes] +Size=96 +Context=MimeTypes +Type=Threshold + +[96x96/places] +Size=96 +Context=Places +Type=Threshold + +[96x96/status] +Size=96 +Context=Status +Type=Threshold + +[96x96/stock/chart] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/code] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/data] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/form] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/image] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/io] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/media] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/navigation] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/net] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/object] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/table] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/text] +Size=96 +Context=Stock +Type=Threshold + +[128x128/actions] +Size=128 +Context=Actions +Type=Threshold + +[128x128/animations] +Size=128 +Context=Animations +Type=Threshold + +[128x128/apps] +Size=128 +Context=Applications +Type=Threshold + +[128x128/categories] +Size=128 +Context=Categories +Type=Threshold + +[128x128/devices] +Size=128 +Context=Devices +Type=Threshold + +[128x128/emblems] +Size=128 +Context=Emblems +Type=Threshold + +[128x128/emotes] +Size=128 +Context=Emotes +Type=Threshold + +[128x128/filesystems] +Size=128 +Context=FileSystems +Type=Threshold + +[128x128/intl] +Size=128 +Context=International +Type=Threshold + +[128x128/mimetypes] +Size=128 +Context=MimeTypes +Type=Threshold + +[128x128/places] +Size=128 +Context=Places +Type=Threshold + +[128x128/status] +Size=128 +Context=Status +Type=Threshold + +[128x128/stock/chart] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/code] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/data] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/form] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/image] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/io] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/media] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/navigation] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/net] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/object] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/table] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/text] +Size=128 +Context=Stock +Type=Threshold + +[192x192/actions] +Size=192 +Context=Actions +Type=Threshold + +[192x192/animations] +Size=192 +Context=Animations +Type=Threshold + +[192x192/apps] +Size=192 +Context=Applications +Type=Threshold + +[192x192/categories] +Size=192 +Context=Categories +Type=Threshold + +[192x192/devices] +Size=192 +Context=Devices +Type=Threshold + +[192x192/emblems] +Size=192 +Context=Emblems +Type=Threshold + +[192x192/emotes] +Size=192 +Context=Emotes +Type=Threshold + +[192x192/filesystems] +Size=192 +Context=FileSystems +Type=Threshold + +[192x192/intl] +Size=192 +Context=International +Type=Threshold + +[192x192/mimetypes] +Size=192 +Context=MimeTypes +Type=Threshold + +[192x192/places] +Size=192 +Context=Places +Type=Threshold + +[192x192/status] +Size=192 +Context=Status +Type=Threshold + +[192x192/stock/chart] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/code] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/data] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/form] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/image] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/io] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/media] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/navigation] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/net] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/object] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/table] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/text] +Size=192 +Context=Stock +Type=Threshold + +[250x250/apps] +Size=250 +Context=Applications +Type=Threshold + +[250x250/devices] +Size=250 +Context=Devices +Type=Threshold + +[250x250/filesystems] +Size=250 +Context=FileSystems +Type=Threshold + +[250x250/hildon] +Size=250 +Context=hildon +Type=Threshold + +[250x250/mimetypes] +Size=250 +Context=MimeTypes +Type=Threshold + +[scalable/actions] +MinSize=1 +Size=128 +MaxSize=256 +Context=Actions +Type=Scalable + +[scalable/animations] +MinSize=1 +Size=128 +MaxSize=256 +Context=Animations +Type=Scalable + +[scalable/apps] +MinSize=1 +Size=128 +MaxSize=256 +Context=Applications +Type=Scalable + +[scalable/categories] +MinSize=1 +Size=128 +MaxSize=256 +Context=Categories +Type=Scalable + +[scalable/devices] +MinSize=1 +Size=128 +MaxSize=256 +Context=Devices +Type=Scalable + +[scalable/emblems] +MinSize=1 +Size=128 +MaxSize=256 +Context=Emblems +Type=Scalable + +[scalable/emotes] +MinSize=1 +Size=128 +MaxSize=256 +Context=Emotes +Type=Scalable + +[scalable/filesystems] +MinSize=1 +Size=128 +MaxSize=256 +Context=FileSystems +Type=Scalable + +[scalable/hildon] +MinSize=1 +Size=128 +MaxSize=256 +Context=hildon +Type=Scalable + +[scalable/intl] +MinSize=1 +Size=128 +MaxSize=256 +Context=International +Type=Scalable + +[scalable/mimetypes] +MinSize=1 +Size=128 +MaxSize=256 +Context=MimeTypes +Type=Scalable + +[scalable/places] +MinSize=1 +Size=128 +MaxSize=256 +Context=Places +Type=Scalable + +[scalable/status] +MinSize=1 +Size=128 +MaxSize=256 +Context=Status +Type=Scalable + +[scalable/stock/chart] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/code] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/data] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/form] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/image] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/io] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/media] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/navigation] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/net] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/object] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/table] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/text] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[12x12/stock] +Size=12 +Context=Stock +Type=Threshold + +[16x16/stock] +Size=16 +Context=Stock +Type=Threshold + +[22x22/stock] +Size=22 +Context=Stock +Type=Threshold + +[24x24/stock] +Size=24 +Context=Stock +Type=Threshold + +[26x26/stock] +Size=26 +Context=Stock +Type=Threshold + +[32x32/stock] +Size=32 +Context=Stock +Type=Threshold + +[34x34/stock] +Size=34 +Context=Stock +Type=Threshold + +[36x36/stock] +Size=36 +Context=Stock +Type=Threshold + +[48x48/stock] +Size=48 +Context=Stock +Type=Threshold + +[64x64/stock] +Size=64 +Context=Stock +Type=Threshold + +[72x72/stock] +Size=72 +Context=Stock +Type=Threshold + +[96x96/stock] +Size=96 +Context=Stock +Type=Threshold + +[128x128/stock] +Size=128 +Context=Stock +Type=Threshold + +[192x192/stock] +Size=192 +Context=Stock +Type=Threshold + +[scalable/stock] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable diff --git a/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.13.bb b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.13.bb new file mode 100644 index 0000000000..9df81cbb16 --- /dev/null +++ b/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.13.bb @@ -0,0 +1,23 @@ +SUMMARY = "Default icon theme that all icon themes automatically inherit from" +HOMEPAGE = "http://icon-theme.freedesktop.org/wiki/HicolorTheme" +BUGTRACKER = "https://bugs.freedesktop.org/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=f08a446809913fc9b3c718f0eaea0426" + +SECTION = "unknown" +inherit gnomebase allarch autotools-brokensep + +PR = "r1" + +SRC_URI = "http://icon-theme.freedesktop.org/releases/${BPN}-${PV}.tar.gz \ + file://index.theme" + +SRC_URI[md5sum] = "21d0f50aa6b8eef02846cda9e5e9324c" +SRC_URI[sha256sum] = "a38b038915480d1ddd4e3c421562560a14d42ace0449a5acc07c50f57f9c3406" + +FILES_${PN} += "${datadir}/icons" + +do_install_append () { + install -m 0644 ${WORKDIR}/index.theme ${D}/${datadir}/icons/hicolor +} diff --git a/meta/recipes-gnome/json-glib/json-glib_1.0.0.bb b/meta/recipes-gnome/json-glib/json-glib_1.0.0.bb new file mode 100644 index 0000000000..ce007094b4 --- /dev/null +++ b/meta/recipes-gnome/json-glib/json-glib_1.0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "JSON-GLib implements a full JSON parser using GLib and GObject" +DESCRIPTION = "Use JSON-GLib it is possible to parse and generate valid JSON\ + data structures, using a DOM-like API. JSON-GLib also offers GObject \ +integration, providing the ability to serialize and deserialize GObject \ +instances to and from JSON data types." +HOMEPAGE = "http://live.gnome.org/JsonGlib" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +DEPENDS = "glib-2.0" + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI[archive.md5sum] = "d13485f5aa3b93227bbeb689ccfb596c" +SRC_URI[archive.sha256sum] = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde" + +inherit gnome gettext lib_package + +EXTRA_OECONF = "--disable-introspection" diff --git a/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch b/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch new file mode 100644 index 0000000000..0a49ab5020 --- /dev/null +++ b/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch @@ -0,0 +1,18 @@ + +Upstream-Status: Inaproppriate + +Signed-off-by: Saul Wold + +Index: libffi-3.0.13/Makefile.am +=================================================================== +--- libffi-3.0.13.orig/Makefile.am ++++ libffi-3.0.13/Makefile.am +@@ -98,7 +98,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) + + MAKEOVERRIDES= + +-toolexeclib_LTLIBRARIES = libffi.la ++lib_LTLIBRARIES = libffi.la + noinst_LTLIBRARIES = libffi_convenience.la + + libffi_la_SOURCES = src/prep_cif.c src/types.c \ diff --git a/meta/recipes-gnome/libffi/libffi_3.1.bb b/meta/recipes-gnome/libffi/libffi_3.1.bb new file mode 100644 index 0000000000..bc97aba20b --- /dev/null +++ b/meta/recipes-gnome/libffi/libffi_3.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "A portable foreign function interface library" +DESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \ +conventions. This allows a programmer to call any function specified by a call interface description at run \ +time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \ +interface that allows code written in one language to call code written in another language. The `libffi' \ +library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \ +A layer must exist above `libffi' that handles type conversions for values passed between the two languages." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" + +SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ + file://fix-libffi.la-location.patch" + +SRC_URI[md5sum] = "f5898b29bbfd70502831a212d9249d10" +SRC_URI[sha256sum] = "97feeeadca5e21870fa4433bc953d1b3af3f698d5df8a428f68b73cd60aef6eb" + +EXTRA_OECONF += "--disable-builddir" + +inherit autotools texinfo + +FILES_${PN}-dev += "${libdir}/libffi-${PV}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch b/meta/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch new file mode 100644 index 0000000000..c5d586465c --- /dev/null +++ b/meta/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch @@ -0,0 +1,102 @@ +Upstream-Status: Pending + +diff -ur libglade-2.4.0~/configure.in libglade-2.4.0/configure.in +--- libglade-2.4.0~/configure.in 2004-05-17 12:38:31.000000000 +0100 ++++ libglade-2.4.0/configure.in 2004-07-28 16:53:09.000000000 +0100 +@@ -147,6 +147,18 @@ + AM_CONDITIONAL(HAVE_PYTHON, $have_python) + AC_SUBST(PYTHON) + ++AC_MSG_CHECKING([for cruft in libgtk]) ++AC_TRY_LINK([ ++#include ++#include ++], [ gtk_tree_get_type (); return 0; ], ++ [ AC_MSG_RESULT(yes) ++ have_cruft=yes ], ++ [ AC_MSG_RESULT(no) ++ AC_DEFINE(DISABLE_CRUFT,,[leave out support for old, broken widgets]) ++ have_cruft=no ]) ++AC_SUBST(DISABLE_CRUFT) ++ + dnl add debugging options ... + changequote(,)dnl + if test "x$GCC" = xyes; then +Only in libglade-2.4.0: configure.in.orig +diff -ur libglade-2.4.0~/glade/glade-gtk.c libglade-2.4.0/glade/glade-gtk.c +--- libglade-2.4.0~/glade/glade-gtk.c 2004-03-13 13:47:35.000000000 +0000 ++++ libglade-2.4.0/glade/glade-gtk.c 2004-07-28 16:53:52.000000000 +0100 +@@ -213,6 +213,8 @@ + gtk_clist_column_titles_hide (GTK_CLIST (w)); + } + ++#ifndef DISABLE_CRUFT ++ + static void + tree_set_selection_mode (GladeXML *xml, GtkWidget *w, + const char *name, const char *value) +@@ -238,6 +240,8 @@ + gtk_tree_set_view_lines (GTK_TREE (w), BOOL (value)); + } + ++#endif ++ + static void + list_set_selection_mode (GladeXML *xml, GtkWidget *w, + const char *name, const char *value) +@@ -254,6 +258,7 @@ + gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (w), BOOL (value)); + } + ++#ifndef DISABLE_CRUFT + static void + text_set_text (GladeXML *xml, GtkWidget *w, + const char *name, const char *value) +@@ -262,6 +267,7 @@ + + gtk_editable_insert_text (GTK_EDITABLE (w), value, -1, &pos); + } ++#endif + + static void + radio_menu_item_set_group (GladeXML *xml, GtkWidget *w, +@@ -1125,13 +1131,17 @@ + glade_register_custom_prop (GTK_TYPE_CLIST, "selection_mode", clist_set_selection_mode); + glade_register_custom_prop (GTK_TYPE_CLIST, "shadow_type", clist_set_shadow_type); + glade_register_custom_prop (GTK_TYPE_CLIST, "show_titles", clist_set_show_titles); ++#ifndef DISABLE_CRUFT + glade_register_custom_prop (GTK_TYPE_TREE, "selection_mode", tree_set_selection_mode); + glade_register_custom_prop (GTK_TYPE_TREE, "view_mode", tree_set_view_mode); + glade_register_custom_prop (GTK_TYPE_TREE, "view_line", tree_set_view_line); ++#endif + glade_register_custom_prop (GTK_TYPE_LIST, "selection_mode", list_set_selection_mode); + glade_register_custom_prop (GTK_TYPE_CHECK_MENU_ITEM, "always_show_toggle", + check_menu_item_set_always_show_toggle); ++#ifndef DISABLE_CRUFT + glade_register_custom_prop (GTK_TYPE_TEXT, "text", text_set_text); ++#endif + glade_register_custom_prop (GTK_TYPE_RADIO_MENU_ITEM, "group", + radio_menu_item_set_group); + glade_register_custom_prop (GTK_TYPE_TOOLBAR, "tooltips", toolbar_set_tooltips); +@@ -1288,8 +1298,10 @@ + glade_standard_build_children, NULL); + glade_register_widget (GTK_TYPE_TEAROFF_MENU_ITEM, glade_standard_build_widget, + NULL, NULL); ++#ifndef DISABLE_CRUFT + glade_register_widget (GTK_TYPE_TEXT, glade_standard_build_widget, + NULL, NULL); ++#endif + glade_register_widget (GTK_TYPE_TEXT_VIEW, glade_standard_build_widget, + NULL, NULL); + glade_register_widget (GTK_TYPE_TIPS_QUERY, glade_standard_build_widget, +@@ -1304,8 +1316,10 @@ + glade_standard_build_children, NULL); + glade_register_widget (GTK_TYPE_TOOL_BUTTON, glade_standard_build_widget, + NULL, NULL); ++#ifndef DISABLE_CRUFT + glade_register_widget (GTK_TYPE_TREE, glade_standard_build_widget, + NULL, NULL); ++#endif + glade_register_widget (GTK_TYPE_TREE_VIEW, glade_standard_build_widget, + NULL, NULL); + glade_register_widget (GTK_TYPE_VBUTTON_BOX, glade_standard_build_widget, diff --git a/meta/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch b/meta/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch new file mode 100644 index 0000000000..dc4c092fd3 --- /dev/null +++ b/meta/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch @@ -0,0 +1,501 @@ +Upstream-Status: Inappropriate [configuration] + +diff -urN libglade-2.4.2.orig/configure.in libglade-2.4.2/configure.in +--- libglade-2.4.2.orig/configure.in 2005-02-11 12:42:58.000000000 +0100 ++++ libglade-2.4.2/configure.in 2005-03-22 01:22:00.000000000 +0100 +@@ -52,11 +52,33 @@ + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + + PKG_CHECK_MODULES(LIBGLADE, [dnl +- libxml-2.0 >= required_libxml_version dnl + atk >= required_atk_version dnl + gtk+-2.0 >= required_gtk_version dnl + glib-2.0 >= required_glib_version]) + ++disable_xml2=no ++AC_ARG_WITH([libxml2], ++ AC_HELP_STRING([--without-libxml2], [Don't use libxml2, use Glib's GMarkupParser instead]), ++ [disable_xml2=yes], ++ [disable_xml2=no]) ++ ++AC_MSG_CHECKING([if we are using libxml2]) ++if test "x$disable_xml2" == "xno"; then ++ AC_MSG_RESULT(yes) ++ PKG_CHECK_MODULES(XML2, libxml-2.0 >= 2.4.10) ++ PKGCFG_REQUIRE_LIBXML2="libxml-2.0" ++ LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS $XML2_CFLAGS" ++ LIBGLADE_LIBS="$LIBGLADE_LIBS $XML2_LIBS" ++else ++ LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS -DUSE_GMARKUP_PARSER" ++ PKGCFG_REQUIRE_LIBXML2="" ++ AC_MSG_RESULT(no) ++fi ++ ++AC_SUBST(XML2_LIBS) ++AC_SUBST(XML2_CFLAGS) ++AC_SUBST(PKGCFG_REQUIRE_LIBXML2) ++ + AC_MSG_CHECKING([for native Win32]) + case "$host" in + *-*-mingw*) +@@ -116,6 +138,21 @@ + fi + fi + ++if test "x$disable_xml2" == "xyes"; then ++ echo "*****************************************************" ++ echo " You chose to disable libxml2 and use Glib's" ++ echo " GMarkupParser instead." ++ echo ++ echo " Please bear in mind that using libglade with" ++ echo " GMarkupParser is an experimental feature only." ++ echo ++ echo " Please post problems or success stories to" ++ echo " the glade-devel mailing list. Thank you." ++ echo "*****************************************************" ++fi ++ ++ ++ + GTK_DOC_CHECK(1.0) + + dnl gettext stuff ... there is no message catalog for libglade -- libglade +diff -urN libglade-2.4.2.orig/glade/glade-parser.c libglade-2.4.2/glade/glade-parser.c +--- libglade-2.4.2.orig/glade/glade-parser.c 2004-11-11 11:56:13.000000000 +0100 ++++ libglade-2.4.2/glade/glade-parser.c 2005-03-22 01:20:00.000000000 +0100 +@@ -34,7 +34,15 @@ + # define dgettext(Domain, String) (String) + #endif + +-#include ++#ifdef USE_GMARKUP_PARSER ++# include ++#else ++# include ++#endif ++ ++#ifdef USE_GMARKUP_PARSER ++# define xmlChar gchar ++#endif + + #include "glade-parser.h" + #include "glade-private.h" +@@ -508,7 +516,9 @@ + case PARSER_START: + if (!strcmp(name, "glade-interface")) { + state->state = PARSER_GLADE_INTERFACE; +-#if 0 ++ ++#ifndef USE_GMARKUP_PARSER ++ #if 0 + /* check for correct XML namespace */ + for (i = 0; attrs && attrs[i] != NULL; i += 2) { + if (!strcmp(attrs[i], "xmlns") && +@@ -518,7 +528,9 @@ + g_warning("unknown attribute `%s' for ", + attrs[i]); + } ++ #endif + #endif ++ + } else { + g_warning("Expected . Got <%s>.", name); + state->prev_state = state->state; +@@ -1063,12 +1075,18 @@ + } + } + ++#ifndef USE_GMARKUP_PARSER ++ + static xmlEntityPtr + glade_parser_get_entity(GladeParseState *state, const xmlChar *name) + { + return xmlGetPredefinedEntity(name); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + glade_parser_warning(GladeParseState *state, const char *msg, ...) + { +@@ -1079,6 +1097,10 @@ + va_end(args); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + glade_parser_error(GladeParseState *state, const char *msg, ...) + { +@@ -1089,6 +1111,10 @@ + va_end(args); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + glade_parser_fatal_error(GladeParseState *state, const char *msg, ...) + { +@@ -1099,6 +1125,10 @@ + va_end(args); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static xmlSAXHandler glade_parser = { + (internalSubsetSAXFunc)NULL, /* internalSubset */ + (isStandaloneSAXFunc)NULL, /* isStandalone */ +@@ -1126,6 +1156,82 @@ + (fatalErrorSAXFunc)glade_parser_fatal_error, /* fatalError */ + }; + ++#else /* USE_GMARKUP_PARSER */ ++ ++static void ++glade_parser_start_element_wrapper(GMarkupParseContext *context, ++ const gchar *name, ++ const gchar **attr_names, ++ const gchar **attr_values, ++ gpointer state, ++ GError **error) ++{ ++ guint i = 0; ++ ++ /* Pack attribute names/values from two separate ++ * arrays (GMarkupParser style) into one single ++ * array (libxml SAXParser style). This is not ++ * very efficient, but we do it to make the ++ * GMarkupParser code as little invasive as ++ * possible. */ ++ ++ while (attr_names[i] != NULL) { ++ ++i; ++ } ++ ++ if (1) ++ { ++ const gchar *attr[(i*2)+1]; ++ guint j, k; ++ ++ for (j=0, k=0; k < i; j += 2) ++ { ++ attr[j] = attr_names[k]; ++ attr[j+1] = attr_values[k]; ++ ++k; ++ } ++ attr[i*2] = NULL; ++ ++ glade_parser_start_element((GladeParseState*)state, name, attr); ++ } ++} ++ ++static void ++glade_parser_end_element_wrapper(GMarkupParseContext *context, ++ const gchar *name, ++ gpointer state, ++ GError **err) ++{ ++ glade_parser_end_element((GladeParseState*)state, name); ++} ++ ++static void ++glade_parser_characters_wrapper(GMarkupParseContext *context, ++ const gchar *chars, ++ gsize len, ++ gpointer state, ++ GError **err) ++{ ++ glade_parser_characters((GladeParseState*)state, chars, (int) len); ++} ++ ++static void ++glade_parser_error(GMarkupParseContext *context, GError *err, gpointer data) ++{ ++ g_log("Glade-Parser", G_LOG_LEVEL_CRITICAL, "%s", err->message); ++} ++ ++static const GMarkupParser glade_parser = { ++ glade_parser_start_element_wrapper, /* element open */ ++ glade_parser_end_element_wrapper, /* element close */ ++ glade_parser_characters_wrapper, /* text content */ ++ NULL, /* passthrough */ ++ glade_parser_error, /* parse error */ ++}; ++ ++#endif /* USE_GMARKUP_PARSER */ ++ ++ + static void + widget_info_free(GladeWidgetInfo *info) + { +@@ -1191,6 +1297,9 @@ + * + * Returns: the GladeInterface structure for the XML file. + */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + GladeInterface * + glade_parser_parse_file(const gchar *file, const gchar *domain) + { +@@ -1222,6 +1331,31 @@ + return state.interface; + } + ++#else /* defined(USE_GMARKUP_PARSER) */ ++ ++GladeInterface * ++glade_parser_parse_file(const gchar *file, const gchar *domain) ++{ ++ GladeInterface *interface; ++ GError *err = NULL; ++ gchar *content = NULL; ++ gsize clen; ++ ++ if (!g_file_get_contents(file, &content, &clen, &err)) { ++ g_warning("could not load glade file: %s", err->message); ++ g_error_free(err); ++ return NULL; ++ } ++ ++ interface = glade_parser_parse_buffer(content, (gint) clen, domain); ++ ++ g_free(content); ++ ++ return interface; ++} ++ ++#endif /* USE_GMARKUP_PARSER */ ++ + /** + * glade_parser_parse_buffer + * @buffer: a buffer in memory containing XML data. +@@ -1237,6 +1371,9 @@ + * + * Returns: the GladeInterface structure for the XML buffer. + */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + GladeInterface * + glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain) + { +@@ -1263,6 +1400,161 @@ + return state.interface; + } + ++#else /* defined(USE_GMARKUP_PARSER) */ ++ ++ ++static GladeInterface * ++glade_parser_parse_buffer_internal(const gchar *buffer, gint len, const gchar *domain) ++{ ++ GMarkupParseContext *context; ++ GladeParseState state = { 0 }; ++ GError *err = NULL; ++ ++ state.interface = NULL; ++ if (domain) ++ state.domain = domain; ++ else ++ state.domain = textdomain(NULL); ++ ++ /* FIXME: This strstr() is not safe, as it ignores the len ++ * argument and assumes the buffer is NUL-terminated */ ++ if (strstr(buffer, "message); ++ g_error_free(err); ++ if (state.interface) ++ glade_interface_destroy (state.interface); ++ return NULL; ++ } ++ ++ glade_parser_end_document(&state); ++ ++ if (state.state != PARSER_FINISH) { ++ g_warning("did not finish in PARSER_FINISH state!"); ++ ++ if (state.interface) ++ glade_interface_destroy(state.interface); ++ ++ return NULL; ++ } ++ ++ return state.interface; ++} ++ ++struct _gzip_rfc1952_hdr ++{ ++ guint8 id1, id2, cm, flags; ++ guint32 mtime; ++ guint8 xflags; ++ guint8 os; ++}; ++ ++static GladeInterface * ++glade_parser_parse_gzipped_buffer(const gchar *buffer, gint len, const gchar *domain) ++{ ++ struct _gzip_rfc1952_hdr *hdr = (struct _gzip_rfc1952_hdr*)buffer; ++ struct z_stream_s zstream; ++ GladeInterface *interface; ++ const guint8 *cbuf; /* start of compressed data */ ++ guint8 *decompress_buf; ++ gulong decompress_len = 0; ++ gint ret; ++ ++ g_assert(hdr != NULL && hdr->id1 == 0x1f && hdr->id2 == 0x8b); ++ ++ if (hdr->cm != Z_DEFLATED) { ++ g_warning("Unknown decompression method %u", (guint) hdr->cm); ++ return NULL; ++ } ++ ++ /* Uncompressed size (modulo 2^32) is last ++ * 4 bytes of gzipped file, and little endian. ++ * See RFC 1952 */ ++ decompress_len = GUINT32_FROM_LE(*((guint32*)(((guint8*)buffer) + len - 4))); ++ ++ /* paranoid mode: glade files > 5MB are unlikely */ ++ g_return_val_if_fail(decompress_len < 5*1024*1024, NULL); ++ ++ decompress_buf = g_malloc0(decompress_len + 1); /* +1 for NUL-terminator */ ++ ++ /* find start of compressed data, skipping header stuff */ ++ cbuf = (guint8*)buffer + 10; ++ if (hdr->flags & 0x04) { ++ guint16 xlen = GUINT16_FROM_LE(*((guint16*)cbuf)); ++ cbuf += xlen + 2; ++ } ++ if (hdr->flags & 0x08) { ++ guint16 onamelen = strlen(cbuf); ++ cbuf += onamelen + 1; ++ } ++ if (hdr->flags & 0x10) { ++ guint16 commentlen = strlen(cbuf); ++ cbuf += commentlen + 1; ++ } ++ if (hdr->flags & 0x02) ++ { ++ cbuf += 2; /* skip header CRC16 */ ++ } ++ ++ zstream.next_in = (void*)cbuf; ++ zstream.avail_in = (uLongf) len - ((void*)cbuf-(void*)buffer) - 4 - 4 +1; ++ zstream.next_out = decompress_buf; ++ zstream.avail_out= decompress_len; ++ zstream.zalloc = Z_NULL; ++ zstream.zfree = Z_NULL; ++ zstream.opaque = Z_NULL; ++ ++ ret = inflateInit2(&zstream, -MAX_WBITS); ++ ++ if (ret != Z_OK) { ++ g_warning("inflateInit2() failed. zlib error code: %d", ret); ++ g_free(decompress_buf); ++ return NULL; ++ } ++ ++ ret = inflate(&zstream, Z_FINISH); ++ ++ if (ret != Z_STREAM_END) { ++ g_warning("zlib decompression failed. zlib error code: %d", ret); ++ g_free(decompress_buf); ++ return NULL; ++ } ++ ++ interface = glade_parser_parse_buffer_internal(decompress_buf, decompress_len, domain); ++ ++ g_free(decompress_buf); ++ ++ return interface; ++} ++ ++GladeInterface * ++glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain) ++{ ++ g_return_val_if_fail(buffer != NULL, NULL); ++ g_return_val_if_fail(len > 0, NULL); ++ ++ /* Check if buffer is gzipped */ ++ if (buffer[0] == 0x1f && buffer[1] == (gchar)0x8b) { ++ return glade_parser_parse_gzipped_buffer(buffer, len, domain); ++ } ++ ++ /* Buffer is cleartext. */ ++ return glade_parser_parse_buffer_internal(buffer, len, domain); ++} ++ ++#endif /* USE_GMARKUP_PARSER */ ++ ++ ++#ifndef USE_GMARKUP_PARSER ++ + static void + dump_widget(xmlNode *parent, GladeWidgetInfo *info, gint indent) + { +@@ -1382,6 +1674,8 @@ + xmlNodeAddContent(widget, " "); + } + ++#endif /* !defined(USE_GMARKUP_PARSER) */ ++ + /** + * glade_interface_dump + * @interface: the GladeInterface +@@ -1390,6 +1684,9 @@ + * This function dumps the contents of a GladeInterface into a file as + * XML. It is intended mainly as a debugging tool. + */ ++ ++#ifndef USE_GMARKUP_PARSER ++ + void + glade_interface_dump(GladeInterface *interface, const gchar *filename) + { +@@ -1428,6 +1725,17 @@ + xmlFreeDoc(doc); + } + ++#else /* defined(USE_GMARKUP_PARSER) */ ++ ++void ++glade_interface_dump(GladeInterface *interface, const gchar *filename) ++{ ++ g_warning("glade_interface_dump() is only available with libxml2."); ++} ++ ++#endif /* USE_GMARKUP_PARSER */ ++ ++ + #if 0 + int + main(int argc, char **argv) { +diff -urN libglade-2.4.2.orig/libglade-2.0.pc.in libglade-2.4.2/libglade-2.0.pc.in +--- libglade-2.4.2.orig/libglade-2.0.pc.in 2001-12-12 15:28:23.000000000 +0100 ++++ libglade-2.4.2/libglade-2.0.pc.in 2005-03-22 01:20:00.000000000 +0100 +@@ -11,7 +11,7 @@ + Name: Libglade + Description: a library for dynamically loading GLADE interface files + Version: @VERSION@ +-Requires: gtk+-2.0 libxml-2.0 ++Requires: gtk+-2.0 @PKGCFG_REQUIRE_LIBXML2@ + Libs: -L${libdir} -lglade-2.0 + Cflags: -I${includedir}/libglade-2.0 + diff --git a/meta/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch b/meta/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch new file mode 100644 index 0000000000..b5b2ec4534 --- /dev/null +++ b/meta/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch @@ -0,0 +1,14 @@ +Using @PYTHON@ for this path would result in the build system python being +referred to. Instead we want to locate python from the environment. + +Upstream-Status: Inappropriate [configuration] + +diff -ruN libglade-2.6.4-orig//libglade-convert.in libglade-2.6.4/libglade-convert.in +--- libglade-2.6.4-orig//libglade-convert.in 2011-09-22 10:18:28.991164003 +0800 ++++ libglade-2.6.4/libglade-convert.in 2011-09-22 10:18:55.431164003 +0800 +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python + # -*- mode: python -*- + + # yes, this requires python 2.x and an XML parser module (eg. PyExpat) diff --git a/meta/recipes-gnome/libglade/libglade_2.6.4.bb b/meta/recipes-gnome/libglade/libglade_2.6.4.bb new file mode 100644 index 0000000000..681b856427 --- /dev/null +++ b/meta/recipes-gnome/libglade/libglade_2.6.4.bb @@ -0,0 +1,29 @@ +SUMMARY = "Runtime support for the GTK+ interface builder" +HOMEPAGE = "http://library.gnome.org/devel/libglade/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2 & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \ + file://glade/glade.h;endline=22;md5=a04f461c964ba4b57a172d1fbcd8f8fc \ + file://glade/glade-gtk.c;endline=22;md5=766f993433e2642fec87936d319990ff" + +SECTION = "libs" +PR = "r5" +DEPENDS = "zlib gdk-pixbuf gtk+" + +inherit autotools pkgconfig gnomebase gtk-doc + +SRC_URI += "file://glade-cruft.patch file://no-xml2.patch file://python_environment.patch" + +SRC_URI[archive.md5sum] = "d1776b40f4e166b5e9c107f1c8fe4139" +SRC_URI[archive.sha256sum] = "64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec" + +EXTRA_OECONF += "--without-libxml2" + +CFLAGS += "-lz" + +PACKAGES += " ${PN}-data" +FILES_${PN} = "${libdir}/lib*.so.*" +FILES_${PN}-data = "${datadir}/xml/libglade/glade-2.0.dtd" +FILES_${PN}-dev += "${bindir}/libglade-convert" +#RDEPENDS_${PN} = "${PN}-data" diff --git a/meta/recipes-gnome/libnotify/libnotify_0.6.0.bb b/meta/recipes-gnome/libnotify/libnotify_0.6.0.bb new file mode 100644 index 0000000000..1d92b6482f --- /dev/null +++ b/meta/recipes-gnome/libnotify/libnotify_0.6.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Library for sending desktop notifications to a notification daemon" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +PR = "r1" + +DEPENDS = "dbus gtk+ dbus-glib" + +inherit gnomebase +SRC_URI[archive.md5sum] = "732c9d2cd5eb6a9069264a319d330516" +SRC_URI[archive.sha256sum] = "73b16a79bb2fed62dcf146b11c4405776cb96a09dce66379ca541da7dbd64210" + +do_configure_prepend() { + sed -i /GTK3/d ${S}/configure.ac + sed -i -e /test-gtk3/d -e 's/test-xy-stress \\/test-xy-stress/' ${S}/tests/Makefile.am +} diff --git a/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch b/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch new file mode 100644 index 0000000000..d44bdd3209 --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch @@ -0,0 +1,62 @@ +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=712693] +Signed-off-by: Ross Burton + +From 18917f7fd3160afe06019f4b6234aeb78a3fdb4e Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Tue, 19 Nov 2013 16:00:29 +0000 +Subject: [PATCH] configure: add option to enable/disable use of GTK+ + +Distro packagers like predictability and automatically detected optional +dependencies are not predicable. Add a --with-gtk3 option (default to "auto") +for forcibly controlling whether GTK+ will be used or not. + +Signed-off-by: Ross Burton + +https://bugzilla.gnome.org/show_bug.cgi?id=712693 +--- + configure.in | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/configure.in b/configure.in +index f7a89dc..1498f72 100644 +--- a/configure.in ++++ b/configure.in +@@ -119,17 +119,22 @@ AC_CHECK_FUNCS(strtok_r) + # GTK + # =========================================================================== + +-PKG_CHECK_MODULES([GTK3],[gtk+-3.0 >= $GTK3_REQUIRED],[have_gtk_3=yes],[have_gtk_3=no]) +- + GTK3_BINARY_VERSION= + +-if test "$have_gtk_3" = "yes"; then +- GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`" ++AC_MSG_CHECKING([whether to use GTK+ 3]) ++AC_ARG_WITH([gtk3], ++ [AS_HELP_STRING([--without-gtk3],[Don't build GTK+3 tools (default=auto)])], ++ [],[PKG_CHECK_EXISTS([gtk+-3.0 >= $GTK3_REQUIRED],[with_gtk3=yes],[with_gtk3=no])]) ++AC_MSG_RESULT([$with_gtk3]) ++ ++if test "$with_gtk3" = "yes"; then ++ PKG_CHECK_MODULES(GTK3, [gtk+-3.0 >= $GTK3_REQUIRED]) ++ GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`" + fi + + AC_SUBST([GTK3_BINARY_VERSION]) + +-AM_CONDITIONAL([HAVE_GTK_3],[test "$have_gtk_3" = "yes"]) ++AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk3" = "yes"]) + + dnl =========================================================================== + dnl GDK-Pixbuf SVG loader +@@ -305,6 +310,6 @@ librsvg-$VERSION + Build introspectable bindings: ${found_introspection} + Build Vala bindings: ${enable_vala} + Build GdkPixbuf loader: ${enable_pixbuf_loader} +- GTK 3.0: ${have_gtk_3} ++ GTK 3.0: ${with_gtk3} + Build miscellaenous tools: ${build_misc_tools} + " +-- +1.7.10.4 + diff --git a/meta/recipes-gnome/librsvg/librsvg/vapigen.m4 b/meta/recipes-gnome/librsvg/librsvg/vapigen.m4 new file mode 100644 index 0000000000..f2df12f23f --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg/vapigen.m4 @@ -0,0 +1,96 @@ +dnl vapigen.m4 +dnl +dnl Copyright 2012 Evan Nemerson +dnl +dnl This library is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Lesser General Public +dnl License as published by the Free Software Foundation; either +dnl version 2.1 of the License, or (at your option) any later version. +dnl +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. +dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with this library; if not, write to the Free Software +dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND-INTROSPECTION], [DEFAULT]) +# -------------------------------------- +# Check vapigen existence and version +# +# See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation +AC_DEFUN([VAPIGEN_CHECK], +[ + AC_BEFORE([GOBJECT_INTROSPECTION_CHECK],[$0]) + AC_BEFORE([GOBJECT_INTROSPECTION_REQUIRE],[$0]) + + AC_ARG_ENABLE([vala], + [AS_HELP_STRING([--enable-vala[=@<:@no/auto/yes@:>@]],[build Vala bindings @<:@default=]ifelse($4,,auto,$4)[@:>@])],,[ + AS_IF([test "x$4" = "x"], [ + enable_vala=auto + ], [ + enable_vala=$4 + ]) + ]) + + AS_CASE([$enable_vala], [no], [enable_vala=no], + [yes], [ + AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [ + AC_MSG_ERROR([Vala bindings require GObject Introspection]) + ]) + ], [auto], [ + AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [ + enable_vala=no + ]) + ], [ + AC_MSG_ERROR([Invalid argument passed to --enable-vala, should be one of @<:@no/auto/yes@:>@]) + ]) + + AS_IF([test "x$2" = "x"], [ + vapigen_pkg_name=vapigen + ], [ + vapigen_pkg_name=vapigen-$2 + ]) + AS_IF([test "x$1" = "x"], [ + vapigen_pkg="$vapigen_pkg_name" + ], [ + vapigen_pkg="$vapigen_pkg_name >= $1" + ]) + + PKG_PROG_PKG_CONFIG + + PKG_CHECK_EXISTS([$vapigen_pkg], [ + AS_IF([test "$enable_vala" = "auto"], [ + enable_vala=yes + ]) + ], [ + AS_CASE([$enable_vala], [yes], [ + AC_MSG_ERROR([$vapigen_pkg not found]) + ], [auto], [ + enable_vala=no + ]) + ]) + + AC_MSG_CHECKING([for vala]) + + AS_CASE([$enable_vala], + [yes], [ + VAPIGEN=`$PKG_CONFIG --variable=vapigen vapigen` + VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir vapigen`/vala/Makefile.vapigen + AS_IF([test "x$2" = "x"], [ + VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir vapigen` + ], [ + VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir_versioned vapigen` + ]) + ]) + + AC_MSG_RESULT([$enable_vala]) + + AC_SUBST([VAPIGEN]) + AC_SUBST([VAPIGEN_VAPIDIR]) + AC_SUBST([VAPIGEN_MAKEFILE]) + + AM_CONDITIONAL(ENABLE_VAPIGEN, test "x$enable_vala" = "xyes") +]) diff --git a/meta/recipes-gnome/librsvg/librsvg_2.40.2.bb b/meta/recipes-gnome/librsvg/librsvg_2.40.2.bb new file mode 100644 index 0000000000..e2b26f5ae7 --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg_2.40.2.bb @@ -0,0 +1,59 @@ +SUMMARY = "Library for rendering SVG files" +HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/librsvg/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://rsvg.h;beginline=3;endline=24;md5=20b4113c4909bbf0d67e006778302bc6" + +SECTION = "x11/utils" +DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango" +BBCLASSEXTEND = "native" + +inherit autotools pkgconfig gnomebase gtk-doc pixbufcache + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI += "file://gtk-option.patch \ + file://vapigen.m4" + +SRC_URI[archive.md5sum] = "acdecdb9f08f3bf662a68bf7dafb8b82" +SRC_URI[archive.sha256sum] = "48049b643294636df7de1a4b997414d699666f5dc44776945c218a257d2a291c" + +EXTRA_OECONF = "--disable-introspection --disable-vala" + +# The older ld (2.22) on the host (Centos 6.5) doesn't have the +# -Bsymbolic-functions option, we can disable it for native. +EXTRA_OECONF_append_class-native = " --enable-Bsymbolic=auto" + +PACKAGECONFIG ??= "gdkpixbuf" +# The gdk-pixbuf loader +PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native" +# GTK+ test application (rsvg-view) +PACKAGECONFIG[gtk] = "--with-gtk3,--without-gtk3,gtk+3" + +# The tarball doesn't ship with macros, so drop a vapigen in there so we don't +# need to build vala to configure. +do_configure_prepend() { + if test ! -e ${S}/m4/vapigen.m4; then + mkdir --parents ${S}/m4 + mv ${WORKDIR}/vapigen.m4 ${S}/m4/ + fi +} + +do_install_append() { + # Loadable modules don't need .a or .la on Linux + rm -f ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.a ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.la +} + +PACKAGES =+ "librsvg-gtk rsvg" +FILES_${PN} = "${libdir}/*.so.*" +FILES_${PN}-dbg += "${libdir}/gdk-pixbuf-2.0/*/loaders/.debug" +FILES_rsvg = "${bindir}/rsvg* \ + ${datadir}/pixmaps/svg-viewer.svg \ + ${datadir}/themes" +FILES_librsvg-gtk = "${libdir}/gdk-pixbuf-2.0/*/*/*.so" + +PIXBUF_PACKAGES = "librsvg-gtk" + +PIXBUFCACHE_SYSROOT_DEPS_append_class-native = " harfbuzz-native:do_populate_sysroot_setscene pango-native:do_populate_sysroot_setscene icu-native:do_populate_sysroot_setscene" diff --git a/meta/recipes-gnome/libunique/libunique/build.patch b/meta/recipes-gnome/libunique/libunique/build.patch new file mode 100644 index 0000000000..46a5c62e4f --- /dev/null +++ b/meta/recipes-gnome/libunique/libunique/build.patch @@ -0,0 +1,421 @@ +Upstream-Status: Backport [http://git.gnome.org/browse/unique/commit/?h=unique-1.1&id=f75ca2d7aad7d27686acca6090c1c569a79d7e63] +Signed-off-By: Ross Burton + +From f75ca2d7aad7d27686acca6090c1c569a79d7e63 Mon Sep 17 00:00:00 2001 +From: Emmanuele Bassi +Date: Sat, 08 May 2010 11:17:21 +0000 +Subject: build: Update the build environment + +Require autoconf 2.63, automake 1.11 and libtool 2.2.6 to remove Shave. + +Also bump up the requirement for gobject-introspection to 0.6.7. +--- +diff --git a/build/autotools/Makefile.am b/build/autotools/Makefile.am +index 5f35b85..b78428f 100644 +--- a/build/autotools/Makefile.am ++++ b/build/autotools/Makefile.am +@@ -1,7 +1,4 @@ + EXTRA_DIST = \ +- shave-libtool.in \ +- shave.in \ +- shave.m4 \ + as-compiler-flag.m4 \ + introspection.m4 \ + Makefile.am.enums \ +diff --git a/build/autotools/Makefile.am.silent b/build/autotools/Makefile.am.silent +index 249f6af..8576846 100644 +--- a/build/autotools/Makefile.am.silent ++++ b/build/autotools/Makefile.am.silent +@@ -1,10 +1,5 @@ + # custom rules for quiet builds + +-if USE_SHAVE +-QUIET_GEN = $(Q:@=@echo ' GEN '$@;) +-QUIET_LN = $(Q:@=@echo ' LN '$@;) +-QUIET_RM = $(Q:@=@echo ' RM '$@;) +-else + QUIET_GEN = $(AM_V_GEN) + + QUIET_LN = $(QUIET_LN_$(V)) +@@ -14,4 +9,3 @@ QUIET_LN_0 = @echo ' LN '$@; + QUIET_RM = $(QUIET_RM_$(V)) + QUIET_RM_ = $(QUIET_RM_$(AM_DEFAULT_VERBOSITY)) + QUIET_RM_0 = @echo ' RM '$@; +-endif # USE_SHAVE +diff --git a/build/autotools/introspection.m4 b/build/autotools/introspection.m4 +index f9ce49c..589721c 100644 +--- a/build/autotools/introspection.m4 ++++ b/build/autotools/introspection.m4 +@@ -59,12 +59,18 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], + INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` + INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` + INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" ++ INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` ++ INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` ++ INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection + fi + AC_SUBST(INTROSPECTION_SCANNER) + AC_SUBST(INTROSPECTION_COMPILER) + AC_SUBST(INTROSPECTION_GENERATE) + AC_SUBST(INTROSPECTION_GIRDIR) + AC_SUBST(INTROSPECTION_TYPELIBDIR) ++ AC_SUBST(INTROSPECTION_CFLAGS) ++ AC_SUBST(INTROSPECTION_LIBS) ++ AC_SUBST(INTROSPECTION_MAKEFILE) + + AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") + ]) +diff --git a/build/autotools/shave-libtool.in b/build/autotools/shave-libtool.in +deleted file mode 100644 +index 1f3a720..0000000 +--- a/build/autotools/shave-libtool.in ++++ b/dev/null +@@ -1,69 +0,0 @@ +-#!/bin/sh +- +-# we need sed +-SED=@SED@ +-if test -z "$SED" ; then +-SED=sed +-fi +- +-lt_unmangle () +-{ +- last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` +-} +- +-# the real libtool to use +-LIBTOOL="$1" +-shift +- +-# if 1, don't print anything, the underlaying wrapper will do it +-pass_though=0 +- +-# scan the arguments, keep the right ones for libtool, and discover the mode +-preserved_args= +-while test "$#" -gt 0; do +- opt="$1" +- shift +- +- case $opt in +- --mode=*) +- mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` +- preserved_args="$preserved_args $opt" +- ;; +- -o) +- lt_output="$1" +- preserved_args="$preserved_args $opt" +- ;; +- *) +- preserved_args="$preserved_args $opt" +- ;; +- esac +-done +- +-case "$mode" in +-compile) +- # shave will be called and print the actual CC/CXX/LINK line +- preserved_args="$preserved_args --shave-mode=$mode" +- pass_though=1 +- ;; +-link) +- preserved_args="$preserved_args --shave-mode=$mode" +- Q=" LINK " +- ;; +-*) +- # let's u +- # echo "*** libtool: Unimplemented mode: $mode, fill a bug report" +- ;; +-esac +- +-lt_unmangle "$lt_output" +-output=$last_result +- +-if test -z $V; then +- if test $pass_though -eq 0; then +- echo "$Q$output" +- fi +- $LIBTOOL --silent $preserved_args +-else +- echo $LIBTOOL $preserved_args +- $LIBTOOL $preserved_args +-fi +diff --git a/build/autotools/shave.in b/build/autotools/shave.in +deleted file mode 100644 +index 5c16f27..0000000 +--- a/build/autotools/shave.in ++++ b/dev/null +@@ -1,79 +0,0 @@ +-#!/bin/sh +- +-# we need sed +-SED=@SED@ +-if test -z "$SED" ; then +-SED=sed +-fi +- +-lt_unmangle () +-{ +- last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` +-} +- +-# the tool to wrap (cc, cxx, ar, ranlib, ..) +-tool="$1" +-shift +- +-# the reel tool (to call) +-REEL_TOOL="$1" +-shift +- +-pass_through=0 +-preserved_args= +-while test "$#" -gt 0; do +- opt="$1" +- shift +- +- case $opt in +- --shave-mode=*) +- mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` +- ;; +- -o) +- lt_output="$1" +- preserved_args="$preserved_args $opt" +- ;; +- *) +- preserved_args="$preserved_args $opt" +- ;; +- esac +-done +- +-# mode=link is handled in the libtool wrapper +-case "$mode,$tool" in +-link,*) +- pass_through=1 +- ;; +-*,cxx) +- Q=" CXX " +- ;; +-*,cc) +- Q=" CC " +- ;; +-*,fc) +- Q=" FC " +- ;; +-*,f77) +- Q=" F77 " +- ;; +-*,objc) +- Q=" OBJC " +- ;; +-*,*) +- # should not happen +- Q=" CC " +- ;; +-esac +- +-lt_unmangle "$lt_output" +-output=$last_result +- +-if test -z $V; then +- if test $pass_through -eq 0; then +- echo "$Q$output" +- fi +- $REEL_TOOL $preserved_args +-else +- echo $REEL_TOOL $preserved_args +- $REEL_TOOL $preserved_args +-fi +diff --git a/build/autotools/shave.m4 b/build/autotools/shave.m4 +deleted file mode 100644 +index 0a3509e..0000000 +--- a/build/autotools/shave.m4 ++++ b/dev/null +@@ -1,77 +0,0 @@ +-dnl Make automake/libtool output more friendly to humans +-dnl Damien Lespiau +-dnl +-dnl SHAVE_INIT([shavedir],[default_mode]) +-dnl +-dnl shavedir: the directory where the shave scripts are, it defaults to +-dnl $(top_builddir) +-dnl default_mode: (enable|disable) default shave mode. This parameter +-dnl controls shave's behaviour when no option has been +-dnl given to configure. It defaults to disable. +-dnl +-dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just +-dnl before AC_CONFIG_FILE/AC_OUTPUT is perfect. This macro rewrites CC and +-dnl LIBTOOL, you don't want the configure tests to have these variables +-dnl re-defined. +-dnl * This macro requires GNU make's -s option. +- +-AC_DEFUN([_SHAVE_ARG_ENABLE], +-[ +- AC_ARG_ENABLE([shave], +- AS_HELP_STRING( +- [--enable-shave], +- [use shave to make the build pretty [[default=$1]]]),, +- [enable_shave=$1] +- ) +-]) +- +-AC_DEFUN([SHAVE_INIT], +-[ +- dnl you can tweak the default value of enable_shave +- m4_if([$2], [enable], [_SHAVE_ARG_ENABLE(yes)], [_SHAVE_ARG_ENABLE(no)]) +- +- if test x"$enable_shave" = xyes; then +- dnl where can we find the shave scripts? +- m4_if([$1],, +- [shavedir="$ac_pwd"], +- [shavedir="$ac_pwd/$1"]) +- AC_SUBST(shavedir) +- +- dnl make is now quiet +- AC_SUBST([MAKEFLAGS], [-s]) +- AC_SUBST([AM_MAKEFLAGS], ['`test -z $V && echo -s`']) +- +- dnl we need sed +- AC_CHECK_PROG(SED,sed,sed,false) +- +- dnl substitute libtool +- SHAVE_SAVED_LIBTOOL=$LIBTOOL +- LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'" +- AC_SUBST(LIBTOOL) +- +- dnl substitute cc/cxx +- SHAVE_SAVED_CC=$CC +- SHAVE_SAVED_CXX=$CXX +- SHAVE_SAVED_FC=$FC +- SHAVE_SAVED_F77=$F77 +- SHAVE_SAVED_OBJC=$OBJC +- CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}" +- CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}" +- FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}" +- F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}" +- OBJC="${SHELL} ${shavedir}/shave objc ${SHAVE_SAVED_OBJC}" +- AC_SUBST(CC) +- AC_SUBST(CXX) +- AC_SUBST(FC) +- AC_SUBST(F77) +- AC_SUBST(OBJC) +- +- V=@ +- else +- V=1 +- fi +- Q='$(V:1=)' +- AC_SUBST(V) +- AC_SUBST(Q) +-]) +- +diff --git a/configure.ac b/configure.ac +index a3ed3ee..bc3163a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -14,7 +14,7 @@ m4_define([unique_api_version], [1.0]) + # This is the X.Y used in the protocol negotiation + m4_define([unique_protocol_version], [1.0]) + +-AC_PREREQ([2.59]) ++AC_PREREQ([2.63]) + + AC_INIT([unique], [unique_version], + [http://bugzilla.gnome.org/enter_bug.cgi?product=libunique], +@@ -23,9 +23,21 @@ AC_INIT([unique], [unique_version], + AC_CONFIG_SRCDIR([unique/unique.h]) + AC_CONFIG_MACRO_DIR([build/autotools]) + +-AM_INIT_AUTOMAKE([1.10]) ++AM_INIT_AUTOMAKE([1.11 no-define -Wno-portability dist-bzip2]) + AM_CONFIG_HEADER([config.h]) + ++AM_SILENT_RULES([yes]) ++ ++AC_PROG_CC_C_O ++ ++AM_PATH_GLIB_2_0 ++ ++LT_PREREQ([2.2.6]) ++LT_INIT([disable-static]) ++ ++# Honor aclocal flags ++ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" ++ + # version symbols + UNIQUE_MAJOR_VERSION=unique_major_version + UNIQUE_MINOR_VERSION=unique_minor_version +@@ -49,21 +61,6 @@ UNIQUE_LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age) + AC_SUBST(UNIQUE_LT_VERSION_INFO) + AC_SUBST(UNIQUE_LT_CURRENT_MINUS_AGE) + +-AC_ISC_POSIX +-AC_PROG_CC +-AC_PROG_INSTALL +-AC_PROG_MAKE_SET +-AC_C_CONST +-AC_PROG_LIBTOOL +-AC_PATH_PROG(GLIB_MKENUMS, [glib-mkenums]) +-AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal]) +- +-AM_SANITY_CHECK +-AM_PROG_CC_STDC +- +-# Honor aclocal flags +-ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" +- + m4_define([glib_required], [2.12.0]) + m4_define([gtk_required], [2.11.0]) + m4_define([dbus_required], [0.70]) +@@ -122,7 +119,6 @@ AM_CONDITIONAL([HAVE_DBUS], [test "x$have_dbus" = "xyes"]) + dnl Bacon backend + dnl This is the fallback backend, so we *need* these headers and functions + dnl even if we end up using D-Bus +-dnl D-Bus backend dependencies + m4_define([have_bacon_default], [yes]) + AC_ARG_ENABLE([bacon], + [AC_HELP_STRING([--enable-bacon=@<:@yes/no@:>@], +@@ -178,9 +174,9 @@ AC_ARG_ENABLE([maintainer-flags], + AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"], + [ + AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], +- ["-Werror -Wall -Wshadow -Wcast-align +- -Wno-uninitialized -Wempty-body -Wformat-security +- -Winit-self"]) ++ ["-Wall -Wshadow -Wcast-align ++ -Wno-uninitialized -Wempty-body ++ -Wformat-security -Winit-self"]) + ] + ) + +@@ -230,27 +226,10 @@ AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], + AM_GLIB_DEFINE_LOCALEDIR(UNIQUE_LOCALEDIR) + + # introspection +-GOBJECT_INTROSPECTION_CHECK([0.6.3]) ++GOBJECT_INTROSPECTION_CHECK([0.6.7]) + + # gtk-doc +-GTK_DOC_CHECK([1.11]) +- +-# nice builds +-m4_ifdef([AM_SILENT_RULES], +- [ +- AM_SILENT_RULES([yes]) +- use_shave=no +- ], +- [ +- SHAVE_INIT([build/autotools], [enable]) +- AC_CONFIG_FILES([ +- build/autotools/shave-libtool +- build/autotools/shave +- ]) +- use_shave=yes +- ]) +- +-AM_CONDITIONAL([USE_SHAVE], [test "x$use_shave" = "xyes"]) ++GTK_DOC_CHECK([1.13]) + + AC_CONFIG_FILES([ + Makefile +-- +cgit v0.9.0.2 diff --git a/meta/recipes-gnome/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch b/meta/recipes-gnome/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch new file mode 100644 index 0000000000..d75de93fc2 --- /dev/null +++ b/meta/recipes-gnome/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch @@ -0,0 +1,36 @@ +Upstream-Status: Pending + +Fix Following compilation errors with gcc 4.6.0 + +Nitin A Kamble 2011/05/10 + +| uniquebackend-dbus.c: In function 'unique_backend_dbus_request_name': +| uniquebackend-dbus.c:87:22: error: variable 'backend_dbus' set but not used [-Werror=unused-but-set-variable] +| uniquebackend-dbus.c: In function 'unique_backend_dbus_send_message': +| uniquebackend-dbus.c:189:12: error: variable 'res' set but not used [-Werror=unused-but-set-variable] +| cc1: all warnings being treated as errors +| +| make[5]: *** [libunique_dbus_la-uniquebackend-dbus.lo] Error 1 + +Index: libunique-1.1.6/unique/dbus/uniquebackend-dbus.c +=================================================================== +--- libunique-1.1.6.orig/unique/dbus/uniquebackend-dbus.c ++++ libunique-1.1.6/unique/dbus/uniquebackend-dbus.c +@@ -84,7 +84,7 @@ unique_backend_dbus_register_proxy (Uniq + static gboolean + unique_backend_dbus_request_name (UniqueBackend *backend) + { +- UniqueBackendDBus *backend_dbus; ++ UniqueBackendDBus __attribute__((__unused__)) *backend_dbus; + const gchar *name; + DBusGConnection *connection; + DBusGProxy *proxy; +@@ -186,7 +186,7 @@ unique_backend_dbus_send_message (Unique + GValueArray *data; + gchar *cmd; + gchar *resp; +- gboolean res; ++ gboolean __attribute__((__unused__)) res; + GError *error; + UniqueResponse response; + diff --git a/meta/recipes-gnome/libunique/libunique/noconst.patch b/meta/recipes-gnome/libunique/libunique/noconst.patch new file mode 100644 index 0000000000..2cc03473c5 --- /dev/null +++ b/meta/recipes-gnome/libunique/libunique/noconst.patch @@ -0,0 +1,130 @@ +G_CONST_RETURN is deprecated in glib 2.30 so remove to to avoid +build failures. + +RP 2011/10/12 + +Upstream-Status: Pending + +Index: libunique-1.1.6/unique/uniqueapp.c +=================================================================== +--- libunique-1.1.6.orig/unique/uniqueapp.c 2011-10-12 01:21:25.842046488 +0100 ++++ libunique-1.1.6/unique/uniqueapp.c 2011-10-12 01:21:55.062046796 +0100 +@@ -781,7 +781,7 @@ + } + + +-G_CONST_RETURN gchar * ++const gchar * + unique_command_to_string (UniqueApp *app, + gint command) + { +@@ -863,7 +863,7 @@ + return retval; + } + +-G_CONST_RETURN gchar * ++const gchar * + unique_response_to_string (UniqueResponse response) + { + GEnumClass *enum_class; +Index: libunique-1.1.6/unique/uniquebackend.c +=================================================================== +--- libunique-1.1.6.orig/unique/uniquebackend.c 2011-10-12 01:21:25.742046323 +0100 ++++ libunique-1.1.6/unique/uniquebackend.c 2011-10-12 01:21:55.062046796 +0100 +@@ -111,7 +111,7 @@ + * + * Return value: FIXME + */ +-G_CONST_RETURN gchar * ++const gchar * + unique_backend_get_name (UniqueBackend *backend) + { + g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL); +@@ -154,7 +154,7 @@ + * + * Return value: FIXME + */ +-G_CONST_RETURN gchar * ++const gchar * + unique_backend_get_startup_id (UniqueBackend *backend) + { + g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL); +Index: libunique-1.1.6/unique/uniquebackend.h +=================================================================== +--- libunique-1.1.6.orig/unique/uniquebackend.h 2011-10-12 01:21:25.992046521 +0100 ++++ libunique-1.1.6/unique/uniquebackend.h 2011-10-12 01:21:56.512047875 +0100 +@@ -94,10 +94,10 @@ + + UniqueBackend * unique_backend_create (void); + +-G_CONST_RETURN gchar *unique_backend_get_name (UniqueBackend *backend); ++const gchar *unique_backend_get_name (UniqueBackend *backend); + void unique_backend_set_name (UniqueBackend *backend, + const gchar *name); +-G_CONST_RETURN gchar *unique_backend_get_startup_id (UniqueBackend *backend); ++const gchar *unique_backend_get_startup_id (UniqueBackend *backend); + void unique_backend_set_startup_id (UniqueBackend *backend, + const gchar *startup_id); + GdkScreen * unique_backend_get_screen (UniqueBackend *backend); +Index: libunique-1.1.6/unique/uniqueinternals.h +=================================================================== +--- libunique-1.1.6.orig/unique/uniqueinternals.h 2011-10-12 01:21:25.892046532 +0100 ++++ libunique-1.1.6/unique/uniqueinternals.h 2011-10-12 01:21:56.512047875 +0100 +@@ -44,11 +44,11 @@ + * and then back into an id + */ + UniqueResponse unique_response_from_string (const gchar *response); +-G_CONST_RETURN gchar *unique_response_to_string (UniqueResponse response); ++const gchar *unique_response_to_string (UniqueResponse response); + + gint unique_command_from_string (UniqueApp *app, + const gchar *command); +-G_CONST_RETURN gchar *unique_command_to_string (UniqueApp *app, ++const gchar *unique_command_to_string (UniqueApp *app, + gint command); + + G_END_DECLS +Index: libunique-1.1.6/unique/uniquemessage.c +=================================================================== +--- libunique-1.1.6.orig/unique/uniquemessage.c 2011-10-12 01:21:25.942046524 +0100 ++++ libunique-1.1.6/unique/uniquemessage.c 2011-10-12 01:21:55.072046595 +0100 +@@ -185,7 +185,7 @@ + * + * Since: 1.0.2 + */ +-G_CONST_RETURN guchar * ++const guchar * + unique_message_data_get (UniqueMessageData *message_data, + gsize *length) + { +@@ -525,7 +525,7 @@ + * owned by the #UniqueMessageData structure and should not be + * modified or freed + */ +-G_CONST_RETURN gchar * ++const gchar * + unique_message_data_get_startup_id (UniqueMessageData *message_data) + { + g_return_val_if_fail (message_data != NULL, NULL); +Index: libunique-1.1.6/unique/uniquemessage.h +=================================================================== +--- libunique-1.1.6.orig/unique/uniquemessage.h 2011-10-12 01:21:25.792046596 +0100 ++++ libunique-1.1.6/unique/uniquemessage.h 2011-10-12 01:21:56.512047875 +0100 +@@ -48,7 +48,7 @@ + void unique_message_data_set (UniqueMessageData *message_data, + const guchar *data, + gsize length); +-G_CONST_RETURN guchar *unique_message_data_get (UniqueMessageData *message_data, ++const guchar *unique_message_data_get (UniqueMessageData *message_data, + gsize *length); + + gboolean unique_message_data_set_text (UniqueMessageData *message_data, +@@ -63,7 +63,7 @@ + gchar * unique_message_data_get_filename (UniqueMessageData *message_data); + + GdkScreen * unique_message_data_get_screen (UniqueMessageData *message_data); +-G_CONST_RETURN gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data); ++const gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data); + guint unique_message_data_get_workspace (UniqueMessageData *message_data); + + G_END_DECLS diff --git a/meta/recipes-gnome/libunique/libunique_1.1.6.bb b/meta/recipes-gnome/libunique/libunique_1.1.6.bb new file mode 100644 index 0000000000..d97d1d6597 --- /dev/null +++ b/meta/recipes-gnome/libunique/libunique_1.1.6.bb @@ -0,0 +1,25 @@ +SUMMARY = "Library for supporting single instance GTK+ applications" +DESCRIPTION = "Unique is a library for writing single instance GTK+ applications. If you launch a single instance application twice, the second instance will either just quit or will send a message to the running instance." +HOMEPAGE = "https://wiki.gnome.org/Attic/LibUnique" +BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=libunique" + +SRC_URI = "${GNOME_MIRROR}/libunique/1.1/libunique-${PV}.tar.bz2 \ + file://fix_for_compile_with_gcc-4.6.0.patch \ + file://noconst.patch \ + file://build.patch" + +SRC_URI[md5sum] = "7955769ef31f1bc4f83446dbb3625e6d" +SRC_URI[sha256sum] = "e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb" + +PR = "r7" + +DEPENDS = "glib-2.0 gtk+" + +PACKAGECONFIG ??= "dbus" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + + +inherit autotools pkgconfig -- cgit v1.2.3-54-g00ecf