summaryrefslogtreecommitdiffstats
path: root/yocto-poky/meta/recipes-gnome
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/meta/recipes-gnome')
-rw-r--r--yocto-poky/meta/recipes-gnome/epiphany/epiphany_3.18.4.bb (renamed from yocto-poky/meta/recipes-gnome/epiphany/epiphany_3.16.3.bb)9
-rw-r--r--yocto-poky/meta/recipes-gnome/gcr/gcr_3.16.0.bb23
-rw-r--r--yocto-poky/meta/recipes-gnome/gcr/gcr_3.18.0.bb41
-rw-r--r--yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-pixops-Be-more-careful-about-integer-overflow.patch89
-rw-r--r--yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2015-7674.patch39
-rw-r--r--yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.32.3.bb (renamed from yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb)19
-rw-r--r--yocto-poky/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.18.2.bb (renamed from yocto-poky/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.16.2.bb)6
-rw-r--r--yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch178
-rw-r--r--yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.18.0.bb (renamed from yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb)7
-rw-r--r--yocto-poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb16
-rw-r--r--yocto-poky/meta/recipes-gnome/gnome/gnome-common_3.18.0.bb (renamed from yocto-poky/meta/recipes-gnome/gnome/gnome-common_3.14.0.bb)4
-rw-r--r--yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch14
-rw-r--r--yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb19
-rw-r--r--yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch97
-rw-r--r--yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-add-host-gi-gi-cross-wrapper-and-gi-ldd.patch204
-rw-r--r--yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-use-ldd-wrapper-option.patch48
-rw-r--r--yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-use-binary-wrapper-option.patch52
-rw-r--r--yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb163
-rw-r--r--yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.16.1.bb13
-rw-r--r--yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.19.3.bb14
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk+/gtk+.inc20
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk+/gtk+3.inc29
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk+/gtk+3_3.18.8.bb (renamed from yocto-poky/meta/recipes-gnome/gtk+/gtk+3_3.16.6.bb)4
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk+/gtk+_2.24.29.bb (renamed from yocto-poky/meta/recipes-gnome/gtk+/gtk+_2.24.28.bb)6
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.18.8.bb (renamed from yocto-poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.6.bb)9
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch305
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb19
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb5
-rw-r--r--yocto-poky/meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb24
-rw-r--r--yocto-poky/meta/recipes-gnome/json-glib/json-glib_1.0.4.bb2
-rw-r--r--yocto-poky/meta/recipes-gnome/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch32
-rw-r--r--yocto-poky/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch18
-rw-r--r--yocto-poky/meta/recipes-gnome/libffi/libffi_3.2.1.bb26
-rw-r--r--yocto-poky/meta/recipes-gnome/libgudev/libgudev_230.bb14
-rw-r--r--yocto-poky/meta/recipes-gnome/libnotify/libnotify_0.7.6.bb4
-rw-r--r--yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_1.patch139
-rw-r--r--yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_2.patch230
-rw-r--r--yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_3.patch223
-rw-r--r--yocto-poky/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch13
-rw-r--r--yocto-poky/meta/recipes-gnome/librsvg/librsvg_2.40.13.bb (renamed from yocto-poky/meta/recipes-gnome/librsvg/librsvg_2.40.10.bb)16
-rw-r--r--yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb15
-rw-r--r--yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.4.bb25
-rw-r--r--yocto-poky/meta/recipes-gnome/libwnck/libwnck3_3.14.1.bb (renamed from yocto-poky/meta/recipes-gnome/libwnck/libwnck3_3.14.0.bb)8
43 files changed, 1053 insertions, 1188 deletions
diff --git a/yocto-poky/meta/recipes-gnome/epiphany/epiphany_3.16.3.bb b/yocto-poky/meta/recipes-gnome/epiphany/epiphany_3.18.4.bb
index c3745c0ed..869569c51 100644
--- a/yocto-poky/meta/recipes-gnome/epiphany/epiphany_3.16.3.bb
+++ b/yocto-poky/meta/recipes-gnome/epiphany/epiphany_3.18.4.bb
@@ -3,15 +3,15 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes ca-certificates avahi libnotify gcr libwnck3 \
- gsettings-desktop-schemas gnome-desktop3"
+ gsettings-desktop-schemas gnome-desktop3 libxml2-native intltool-native"
-inherit gnomebase gsettings distro_features_check
+inherit gnomebase gsettings distro_features_check upstream-version-is-even
# libwnck3 is x11 only
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI += "file://0001-yelp.m4-drop-the-check-for-itstool.patch"
-SRC_URI[archive.md5sum] = "3296af4532b8019775f4b40d21a341ae"
-SRC_URI[archive.sha256sum] = "d527f1770779ec22d955aeb13b148a846a26144e433ff0480c981af80e2390b1"
+SRC_URI[archive.md5sum] = "172b78256100e8d3c629764abd0e1495"
+SRC_URI[archive.sha256sum] = "be699d484371111abae754e669187215df73e21533f461e513b79537d7a1c1c1"
EXTRA_OECONF += " --disable-nss --with-distributor-name=${DISTRO}"
@@ -21,7 +21,6 @@ do_configure_prepend() {
}
FILES_${PN} += "${datadir}/appdata ${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers"
-FILES_${PN}-dbg += "${libdir}/epiphany/*/web-extensions/.debug/libephywebextension.so"
RDEPENDS_${PN} = "iso-codes adwaita-icon-theme"
RRECOMMENDS_${PN} = "ca-certificates"
diff --git a/yocto-poky/meta/recipes-gnome/gcr/gcr_3.16.0.bb b/yocto-poky/meta/recipes-gnome/gcr/gcr_3.16.0.bb
deleted file mode 100644
index e50b3a815..000000000
--- a/yocto-poky/meta/recipes-gnome/gcr/gcr_3.16.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "A library for bits of crypto UI and parsing etc"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
-
-DEPENDS = "gtk+3 p11-kit glib-2.0 libgcrypt vala"
-
-inherit autotools gnomebase gtk-icon-cache gtk-doc distro_features_check
-# depends on gtk+3, but also x11 through gtk+-x11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "d5835680be0b6a838e02a528d5378d9c"
-SRC_URI[archive.sha256sum] = "ecfe8df41cc88158364bb15addc670b11e539fe844742983629ba2323888d075"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/gcr-3 \
-"
-
-# http://errors.yoctoproject.org/Errors/Details/20229/
-ARM_INSTRUCTION_SET = "arm"
diff --git a/yocto-poky/meta/recipes-gnome/gcr/gcr_3.18.0.bb b/yocto-poky/meta/recipes-gnome/gcr/gcr_3.18.0.bb
new file mode 100644
index 000000000..32523a64a
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gcr/gcr_3.18.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "A library for bits of crypto UI and parsing etc"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
+
+DEPENDS = "gtk+3 p11-kit glib-2.0 libgcrypt"
+
+inherit autotools gnomebase gtk-icon-cache gtk-doc distro_features_check upstream-version-is-even vala gobject-introspection
+# depends on gtk+3, but also x11 through gtk+-x11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "b959bac99e17c9bb0990a15c9be11aed"
+SRC_URI[archive.sha256sum] = "d4d16da5af55148a694055835ccd07ad34daf0ad03bdad929bf7cad15637ce00"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/gcr-3 \
+"
+
+# http://errors.yoctoproject.org/Errors/Details/20229/
+ARM_INSTRUCTION_SET = "arm"
+
+# on x86-64 the introspection binary goes into
+# an infinite loop under qemu during compilation,
+# printing the following:
+#
+# gcrypt-Message: select() error: Bad address
+#
+# gcrypt-Message: select() error: Bad address
+#
+# gcrypt-Message: select() error: Bad address
+#
+# This will be investigated later.
+EXTRA_OECONF_append_x86-64 = " --disable-introspection"
+
+# Gcr-3.broken: poky/build-mips64/tmp/work/mips64-poky-linux/libgpg-error/1.19-r0/libgpg-error-1.19/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed.
+# qemu: uncaught target signal 6 (Aborted) - core dumped
+EXTRA_OECONF_append_mips64 = " --disable-introspection"
+
diff --git a/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-pixops-Be-more-careful-about-integer-overflow.patch b/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-pixops-Be-more-careful-about-integer-overflow.patch
deleted file mode 100644
index fe7c1d501..000000000
--- a/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-pixops-Be-more-careful-about-integer-overflow.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From ffec86ed5010c5a2be14f47b33bcf4ed3169a199 Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Mon, 13 Jul 2015 00:33:40 -0400
-Subject: [PATCH] pixops: Be more careful about integer overflow
-
-Our loader code is supposed to handle out-of-memory and overflow
-situations gracefully, reporting errors instead of aborting. But
-if you load an image at a specific size, we also execute our
-scaling code, which was not careful enough about overflow in some
-places.
-
-This commit makes the scaling code silently return if it fails to
-allocate filter tables. This is the best we can do, since
-gdk_pixbuf_scale() is not taking a GError.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=752297
-
-Upstream-Status: backport
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- gdk-pixbuf/pixops/pixops.c | 22 +++++++++++++++++-----
- 1 file changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c
-index 29a1c14..ce51745 100644
---- a/gdk-pixbuf/pixops/pixops.c
-+++ b/gdk-pixbuf/pixops/pixops.c
-@@ -1272,7 +1272,16 @@ make_filter_table (PixopsFilter *filter)
- int i_offset, j_offset;
- int n_x = filter->x.n;
- int n_y = filter->y.n;
-- int *weights = g_new (int, SUBSAMPLE * SUBSAMPLE * n_x * n_y);
-+ gsize n_weights;
-+ int *weights;
-+
-+ n_weights = SUBSAMPLE * SUBSAMPLE * n_x * n_y;
-+ if (n_weights / (SUBSAMPLE * SUBSAMPLE * n_x) != n_y)
-+ return NULL; /* overflow, bail */
-+
-+ weights = g_try_new (int, n_weights);
-+ if (!weights)
-+ return NULL; /* overflow, bail */
-
- for (i_offset=0; i_offset < SUBSAMPLE; i_offset++)
- for (j_offset=0; j_offset < SUBSAMPLE; j_offset++)
-@@ -1347,8 +1356,11 @@ pixops_process (guchar *dest_buf,
- if (x_step == 0 || y_step == 0)
- return; /* overflow, bail out */
-
-- line_bufs = g_new (guchar *, filter->y.n);
- filter_weights = make_filter_table (filter);
-+ if (!filter_weights)
-+ return; /* overflow, bail out */
-+
-+ line_bufs = g_new (guchar *, filter->y.n);
-
- check_shift = check_size ? get_check_shift (check_size) : 0;
-
-@@ -1468,7 +1480,7 @@ tile_make_weights (PixopsFilterDimension *dim,
- double scale)
- {
- int n = ceil (1 / scale + 1);
-- double *pixel_weights = g_new (double, SUBSAMPLE * n);
-+ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
- int offset;
- int i;
-
-@@ -1526,7 +1538,7 @@ bilinear_magnify_make_weights (PixopsFilterDimension *dim,
- }
-
- dim->n = n;
-- dim->weights = g_new (double, SUBSAMPLE * n);
-+ dim->weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
-
- pixel_weights = dim->weights;
-
-@@ -1617,7 +1629,7 @@ bilinear_box_make_weights (PixopsFilterDimension *dim,
- double scale)
- {
- int n = ceil (1/scale + 3.0);
-- double *pixel_weights = g_new (double, SUBSAMPLE * n);
-+ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
- double w;
- int offset, i;
-
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2015-7674.patch b/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2015-7674.patch
deleted file mode 100644
index d516e88ab..000000000
--- a/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2015-7674.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e9a5704edaa9aee9498f1fbf6e1b70fcce2e55aa Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Tue, 22 Sep 2015 22:44:51 +0200
-Subject: [PATCH] pixops: Don't overflow variables when shifting them
-
-If we shift by 16 bits we need to be sure those 16 bits actually exist.
-They do now.
-
-Upstream-status: Backport
-https://git.gnome.org/browse/gdk-pixbuf/commit/?id=e9a5704edaa9aee9498f1fbf6e1b70fcce2e55aa
-
-CVE: CVE-2015-7674
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- gdk-pixbuf/pixops/pixops.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-Index: gdk-pixbuf-2.30.8/gdk-pixbuf/pixops/pixops.c
-===================================================================
---- gdk-pixbuf-2.30.8.orig/gdk-pixbuf/pixops/pixops.c
-+++ gdk-pixbuf-2.30.8/gdk-pixbuf/pixops/pixops.c
-@@ -264,11 +264,11 @@ pixops_scale_nearest (guchar *des
- double scale_x,
- double scale_y)
- {
-- int i;
-- int x;
-- int x_step = (1 << SCALE_SHIFT) / scale_x;
-- int y_step = (1 << SCALE_SHIFT) / scale_y;
-- int xmax, xstart, xstop, x_pos, y_pos;
-+ gint64 i;
-+ gint64 x;
-+ gint64 x_step = (1 << SCALE_SHIFT) / scale_x;
-+ gint64 y_step = (1 << SCALE_SHIFT) / scale_y;
-+ gint64 xmax, xstart, xstop, x_pos, y_pos;
- const guchar *p;
-
- #define INNER_LOOP(SRC_CHANNELS,DEST_CHANNELS,ASSIGN_PIXEL) \
diff --git a/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb b/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.32.3.bb
index dcd01b14e..ba94eecbd 100644
--- a/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
+++ b/yocto-poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.32.3.bb
@@ -17,14 +17,12 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://extending-libinstall-dependencies.patch \
file://run-ptest \
file://fatal-loader.patch \
- file://0001-pixops-Be-more-careful-about-integer-overflow.patch \
- file://CVE-2015-7674.patch \
"
-SRC_URI[md5sum] = "4fed0d54432f1b69fc6e66e608bd5542"
-SRC_URI[sha256sum] = "4853830616113db4435837992c0aebd94cbb993c44dc55063cee7f72a7bef8be"
+SRC_URI[md5sum] = "9275076639baa24a342f3e02c402920e"
+SRC_URI[sha256sum] = "2b6771f1ac72f687a8971e59810b8dc658e65e7d3086bd2e676e618fd541d031"
-inherit autotools pkgconfig gettext pixbufcache ptest-gnome
+inherit autotools pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection
LIBV = "2.10.0"
@@ -43,15 +41,12 @@ PACKAGECONFIG[jpeg2000] = "--with-libjasper,--without-libjasper,jasper"
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} = "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
- ${libdir}/lib*.so.*"
+FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
FILES_${PN}-dev += " \
${bindir}/gdk-pixbuf-csource \
@@ -60,12 +55,6 @@ FILES_${PN}-dev += " \
${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \
"
-FILES_${PN}-dbg += " \
- ${libdir}/.debug/* \
- ${libdir}/gdk-pixbuf-2.0/.debug/* \
- ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \
-"
-
PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
PACKAGES_DYNAMIC_class-native = ""
diff --git a/yocto-poky/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.16.2.bb b/yocto-poky/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.18.2.bb
index 3765697f2..ee460d988 100644
--- a/yocto-poky/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.16.2.bb
+++ b/yocto-poky/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.18.2.bb
@@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
BPN = "gnome-desktop"
-inherit gnome pkgconfig
-SRC_URI[archive.md5sum] = "ab5bf4cc94ad63639f42adcc1542b1f0"
-SRC_URI[archive.sha256sum] = "3a8f196b46eb9dbd3ba2afb8fb5fef6a8825539d449a02181311242e22227bd0"
+inherit gnome pkgconfig upstream-version-is-even gobject-introspection
+SRC_URI[archive.md5sum] = "9a5875247abdb99bad93f1c4230d1d6d"
+SRC_URI[archive.sha256sum] = "ddd46d022de137543a71f50c7392b32f9b98d5d3f2b53040b35f5802de2e7b56"
DEPENDS += "gsettings-desktop-schemas gconf libxrandr virtual/libx11 gtk+3 glib-2.0 gnome-doc-utils gnome-common startup-notification xkeyboard-config iso-codes"
diff --git a/yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch b/yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
deleted file mode 100644
index 446f9c9ab..000000000
--- a/yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-Create symlinks when installing cursors
-
-This cuts down the installed size by ~11MB.
-
-Upstream-Status: Backport
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
-
-From 1e8c0dd0a2de5e1d5ff60ff11f131e88510c7f50 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?=
- =?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= <lrn1986@gmail.com>
-Date: Sat, 16 May 2015 07:49:19 +0000
-Subject: [PATCH] Create symlinks when installing cursors
-
-Also support creating symlinks for W32 cursors (including L and XL variants).
-
-https://bugzilla.gnome.org/show_bug.cgi?id=749223
----
- Makefile.am | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- configure.ac | 24 ++++++++++++++++
- 2 files changed, 117 insertions(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index fed3972..4d00268 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -6,6 +6,17 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-
- cursordir = $(datadir)/icons/Adwaita/cursors
- cursor_DATA = $(wildcard $(srcdir)/Adwaita/cursors/*)
-+if ENABLE_L_XL_VARIANTS
-+cursorldir = $(datadir)/icons/Adwaita-Large/cursors
-+cursorl_DATA = $(wildcard $(srcdir)/Adwaita-Large/cursors/*)
-+cursorxldir = $(datadir)/icons/Adwaita-ExtraLarge/cursors
-+cursorxl_DATA = $(wildcard $(srcdir)/Adwaita-ExtraLarge/cursors/*)
-+else
-+cursorldir =
-+cursorl_DATA =
-+cursorxldir =
-+cursorxl_DATA =
-+endif
-
- theme_in_files = index.theme.in.in
- theme_DATA = $(theme_in_files:.theme.in.in=.theme)
-@@ -99,6 +110,88 @@ install-data-local:
- fi
-
- install-data-hook:
-+ cd $(DESTDIR)$(cursordir) && \
-+ if test "x$(enable_w32_cursors)" = "xyes"; \
-+ then \
-+ cur=.cur && \
-+ ani=.ani; \
-+ else \
-+ cur= && \
-+ ani= ; \
-+ fi; \
-+ if test "x$(enable_l_xl_variants)" = "xyes"; \
-+ then \
-+ themedirs="$(cursordir) $(cursorldir) $(cursorxldir)"; \
-+ else \
-+ themedirs="$(cursordir)"; \
-+ fi; \
-+ for d in $$themedirs; \
-+ do \
-+ cd $(DESTDIR)$$d && \
-+ echo Creating symlinks in $(DESTDIR)$$d && \
-+ $(LN_S) -f dotbox$$cur draped_box$$cur && \
-+ $(LN_S) -f dotbox$$cur icon$$cur && \
-+ $(LN_S) -f dotbox$$cur target$$cur && \
-+ $(LN_S) -f dotbox$$cur dot_box_mask$$cur && \
-+ $(LN_S) -f X_cursor$$cur pirate$$cur && \
-+ $(LN_S) -f left_ptr_watch$$ani 08e8e1c95fe2fc01f976f1e063a24ccd$$ani && \
-+ $(LN_S) -f left_ptr_watch$$ani 3ecb610c1bf2410f44200f48c40d3599$$ani && \
-+ $(LN_S) -f left_ptr$$cur arrow$$cur && \
-+ $(LN_S) -f left_ptr$$cur top_left_arrow$$cur && \
-+ $(LN_S) -f right_ptr$$cur draft_large$$cur && \
-+ $(LN_S) -f right_ptr$$cur draft_small$$cur && \
-+ $(LN_S) -f move$$cur 4498f0e0c1937ffe01fd06f973665830$$cur && \
-+ $(LN_S) -f move$$cur 9081237383d90e509aa00f00170e968f$$cur && \
-+ $(LN_S) -f copy$$cur 1081e37283d90000800003c07f3ef6bf$$cur && \
-+ $(LN_S) -f copy$$cur 6407b0e94181790501fd1e167b474872$$cur && \
-+ $(LN_S) -f cross$$cur cross_reverse$$cur && \
-+ $(LN_S) -f cross$$cur diamond_cross$$cur && \
-+ $(LN_S) -f hand1$$cur grab$$cur && \
-+ $(LN_S) -f hand2$$cur 9d800788f1b08800ae810202380a0822$$cur && \
-+ $(LN_S) -f hand2$$cur e29285e634086352946a0e7090d73106$$cur && \
-+ $(LN_S) -f hand2$$cur hand$$cur && \
-+ $(LN_S) -f grabbing$$cur fleur$$cur && \
-+ $(LN_S) -f question_arrow$$cur d9ce0ab605698f320427677b458ad60b$$cur && \
-+ $(LN_S) -f question_arrow$$cur 5c6cd98b3f3ebcb1f9c7f1c204630408$$cur && \
-+ $(LN_S) -f question_arrow$$cur help$$cur && \
-+ $(LN_S) -f question_arrow$$cur left_ptr_help$$cur && \
-+ $(LN_S) -f link$$cur 3085a0e285430894940527032f8b26df$$cur && \
-+ $(LN_S) -f link$$cur 640fb0e74195791501fd1ed57b41487f$$cur && \
-+ $(LN_S) -f crossed_circle$$cur 03b6e0fcb3499374a867c041f52298f0$$cur && \
-+ $(LN_S) -f fd_double_arrow$$cur fcf1c3c7cd4491d801f1e1c78f100000$$cur && \
-+ $(LN_S) -f bd_double_arrow$$cur c7088f0f3e6c8088236ef8e1e3e70000$$cur && \
-+ $(LN_S) -f sb_h_double_arrow$$cur h_double_arrow$$cur && \
-+ $(LN_S) -f sb_h_double_arrow$$cur 14fef782d02440884392942c11205230$$cur && \
-+ $(LN_S) -f h_double_arrow$$cur 028006030e0e7ebffc7f7070c0600140$$cur && \
-+ $(LN_S) -f sb_v_double_arrow$$cur double_arrow$$cur && \
-+ $(LN_S) -f sb_v_double_arrow$$cur v_double_arrow$$cur && \
-+ $(LN_S) -f sb_v_double_arrow$$cur 2870a09082c103050810ffdffffe0204$$cur && \
-+ $(LN_S) -f v_double_arrow$$cur 00008160000006810000408080010102$$cur && \
-+ $(LN_S) -f left_ptr$$cur default$$cur && \
-+ $(LN_S) -f hand$$cur pointer$$cur && \
-+ $(LN_S) -f left_ptr_watch$$ani progress$$ani && \
-+ $(LN_S) -f watch$$ani wait$$ani && \
-+ $(LN_S) -f cross$$cur crosshair$$cur && \
-+ $(LN_S) -f xterm$$cur text$$cur && \
-+ $(LN_S) -f dnd-link$$cur alias$$cur && \
-+ $(LN_S) -f dnd-copy$$cur copy$$cur && \
-+ $(LN_S) -f dnd-none$$cur no-drop$$cur && \
-+ $(LN_S) -f crossed_circle$$cur not-allowed$$cur && \
-+ $(LN_S) -f sb_h_double_arrow$$cur col-resize$$cur && \
-+ $(LN_S) -f sb_v_double_arrow$$cur row-resize$$cur && \
-+ $(LN_S) -f top_side$$cur n-resize$$cur && \
-+ $(LN_S) -f right_side$$cur e-resize$$cur && \
-+ $(LN_S) -f bottom_side$$cur s-resize$$cur && \
-+ $(LN_S) -f left_side$$cur w-resize$$cur && \
-+ $(LN_S) -f top_right_corner$$cur ne-resize$$cur && \
-+ $(LN_S) -f top_left_corner$$cur nw-resize$$cur && \
-+ $(LN_S) -f bottom_right_corner$$cur se-resize$$cur && \
-+ $(LN_S) -f bottom_left_corner$$cur sw-resize$$cur && \
-+ $(LN_S) -f sb_h_double_arrow$$cur ew-resize$$cur && \
-+ $(LN_S) -f sb_v_double_arrow$$cur ns-resize$$cur && \
-+ $(LN_S) -f fd_double_arrow$$cur nesw-resize$$cur && \
-+ $(LN_S) -f bd_double_arrow$$cur nwse-resize$$cur; \
-+ done
- if test -z "$(DESTDIR)" && test -n "$(GTK_UPDATE_ICON_CACHE)" ; then \
- $(GTK_UPDATE_ICON_CACHE) -q $(DESTDIR)$(themedir); \
- fi
-diff --git a/configure.ac b/configure.ac
-index 9e4d8a0..312b24c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -31,6 +31,7 @@ AC_SUBST([render_sizes], ["8x8 16x16 22x22 24x24 32x32 48x48 256x256"])
- AC_SUBST([symbolic_render_sizes], [""])
- AC_SUBST([install_sizes], ["8x8 16x16 22x22 24x24 32x32 48x48 64x64 96x96 256x256"])
-
-+AC_PROG_LN_S
- AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache)
-
- # need git, icontool, and inkscape for rendering
-@@ -56,6 +57,29 @@ if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then
- fi
- AC_SUBST(symbolic_encode_sizes)
-
-+AC_ARG_ENABLE([w32-cursors],
-+ [AS_HELP_STRING([--enable-w32-cursors],
-+ [Make and install Windows cursors (.cur and .ani) instead of X cursors])],
-+ [case "${enableval}" in
-+ yes) enable_w32_cursors=yes ;;
-+ no) enable_w32_cursors=no ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-w32-cursors]) ;;
-+ esac],
-+ [enable_w32_cursors=no])
-+AC_SUBST(enable_w32_cursors)
-+
-+AC_ARG_ENABLE([l-xl-variants],
-+ [AS_HELP_STRING([--enable-l-xl-variants],
-+ [Also make and install Large and Extra Large Windows cursor versions])],
-+ [case "${enableval}" in
-+ yes) enable_l_xl_variants=yes ;;
-+ no) enable_l_xl_variants=no ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-l-xl-variants]) ;;
-+ esac],
-+ [enable_l_xl_variants=no])
-+AC_SUBST(enable_l_xl_variants)
-+AM_CONDITIONAL([ENABLE_L_XL_VARIANTS], [test x$enable_l_xl_variants = xyes])
-+
- AC_CONFIG_FILES([
- Makefile
- adwaita-icon-theme.pc
---
-2.1.4
-
diff --git a/yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb b/yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.18.0.bb
index 0d7fa0cd6..81c88458d 100644
--- a/yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
+++ b/yocto-poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.18.0.bb
@@ -6,17 +6,16 @@ SECTION = "x11/gnome"
LICENSE = "LGPL-3.0 | CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c"
-inherit allarch autotools pkgconfig gettext gtk-icon-cache
+inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even
DEPENDS += "intltool-native"
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
- file://Create-symlinks-when-installing-cursors.patch \
"
-SRC_URI[md5sum] = "9ef86952c947aa27a1a888b7735d60b3"
-SRC_URI[sha256sum] = "b4556dfbf555d4fac12d4d5c12f7519de0d43ec42a1b649611439a50bf7acb96"
+SRC_URI[md5sum] = "ec1fa3fde83ad166ae7075a97dc1ec4b"
+SRC_URI[sha256sum] = "5e9ce726001fdd8ee93c394fdc3cdb9e1603bbed5b7c62df453ccf521ec50e58"
do_install_append() {
# Build uses gtk-encode-symbolic-svg to create png versions:
diff --git a/yocto-poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/yocto-poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index 17fdafa96..9e9f71428 100644
--- a/yocto-poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/yocto-poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -3,11 +3,9 @@ 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"
+DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native"
-
-inherit gnomebase gtk-doc gettext
+inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;name=archive \
file://remove_plus_from_invalid_characters_list.patch \
@@ -19,8 +17,8 @@ SRC_URI[archive.sha256sum] = "1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e
S = "${WORKDIR}/GConf-${PV}"
-EXTRA_OECONF = "--enable-shared --disable-static --enable-debug=yes \
- --disable-introspection --disable-orbit --with-openldap=no --disable-gtk"
+EXTRA_OECONF = "--enable-shared --disable-static \
+ --disable-orbit --with-openldap=no --disable-gtk"
# Disable PolicyKit by default
PACKAGECONFIG ??= ""
@@ -29,6 +27,7 @@ PACKAGECONFIG_class-native = ""
PACKAGECONFIG_libc-uclibc = ""
PACKAGECONFIG[policykit] = "--enable-defaults-service,--disable-defaults-service,polkit"
+PACKAGECONFIG[debug] = "--enable-debug=yes, --enable-debug=minimum"
do_install_append() {
# this directory need to be created to avoid an Error 256 at gdm launch
@@ -44,17 +43,12 @@ do_install_append_class-native() {
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/yocto-poky/meta/recipes-gnome/gnome/gnome-common_3.14.0.bb b/yocto-poky/meta/recipes-gnome/gnome/gnome-common_3.18.0.bb
index 80b7033ee..06f3bb34c 100644
--- a/yocto-poky/meta/recipes-gnome/gnome/gnome-common_3.14.0.bb
+++ b/yocto-poky/meta/recipes-gnome/gnome/gnome-common_3.18.0.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/gnome"
inherit gnomebase allarch
-SRC_URI[archive.md5sum] = "ba58c61d0d81b7c3ff8452c620513a9d"
-SRC_URI[archive.sha256sum] = "4c00242f781bb441289f49dd80ed1d895d84de0c94bfc2c6818a104c9e39262c"
+SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053"
+SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf"
EXTRA_AUTORECONF = ""
DEPENDS = ""
diff --git a/yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch b/yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch
deleted file mode 100644
index 09034255d..000000000
--- a/yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data/pkgconfig.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-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/yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb b/yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb
deleted file mode 100644
index a31eb5571..000000000
--- a/yocto-poky/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-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"
-GNOME_COMPRESS_TYPE="bz2"
-
-DEPENDS += "shared-mime-info intltool-native"
-RDEPENDS_${PN} = "shared-mime-info"
diff --git a/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
new file mode 100644
index 000000000..5026d8177
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
@@ -0,0 +1,97 @@
+From a57604e205e6535acd9989444ad1f5f5038f4fba Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 8 Oct 2015 18:30:35 +0300
+Subject: [PATCH 1/4] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
+ environment variable
+
+This environment variable sets the location of sysroot directory in cross-compilation
+environments; if the variable is not set, the prefix will be empty.
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Makefile-gir.am | 18 +++++++++---------
+ m4/introspection.m4 | 8 ++++----
+ 2 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/Makefile-gir.am b/Makefile-gir.am
+index 9aca664..09b9360 100644
+--- a/Makefile-gir.am
++++ b/Makefile-gir.am
+@@ -55,8 +55,8 @@ else
+ endif
+
+ # glib
+-GLIB_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir glib-2.0)/glib-2.0
+-GLIB_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir glib-2.0)
++GLIB_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir glib-2.0)/glib-2.0
++GLIB_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir glib-2.0)
+
+ GLIB_LIBRARY=glib-2.0
+
+@@ -92,8 +92,8 @@ GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
+ gir/DBusGLib-1.0.typelib: GObject-2.0.gir
+
+ # gobject
+-GOBJECT_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gobject-2.0)/glib-2.0
+-GOBJECT_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gobject-2.0)
++GOBJECT_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gobject-2.0)/glib-2.0
++GOBJECT_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gobject-2.0)
+
+ GOBJECT_LIBRARY=gobject-2.0
+
+@@ -120,8 +120,8 @@ GObject_2_0_gir_FILES = \
+ BUILT_GIRSOURCES += GObject-2.0.gir
+
+ # gmodule
+-GMODULE_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gmodule-2.0)/glib-2.0
+-GMODULE_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gmodule-2.0)
++GMODULE_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gmodule-2.0)/glib-2.0
++GMODULE_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gmodule-2.0)
+
+ GMODULE_LIBRARY=gmodule-2.0
+
+@@ -146,13 +146,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
+ BUILT_GIRSOURCES += GModule-2.0.gir
+
+ # gio
+-GIO_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gio-2.0)/glib-2.0
+-GIO_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gio-2.0)
++GIO_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-2.0)/glib-2.0
++GIO_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gio-2.0)
+
+ GIO_LIBRARY=gio-2.0
+
+ if HAVE_GIO_UNIX
+-GIO_UNIX_HDRS=$(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0/gio/*.h
++GIO_UNIX_HDRS=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0/gio/*.h
+ GIO_UNIX_PACKAGES = gio-unix-2.0
+ else
+ GIO_UNIX_HDRS=
+diff --git a/m4/introspection.m4 b/m4/introspection.m4
+index d89c3d9..b562266 100644
+--- a/m4/introspection.m4
++++ b/m4/introspection.m4
+@@ -56,14 +56,14 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+ INTROSPECTION_GIRDIR=
+ INTROSPECTION_TYPELIBDIR=
+ if test "x$found_introspection" = "xyes"; then
+- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
++ INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
++ INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
++ INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$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
++ INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+ fi
+ AC_SUBST(INTROSPECTION_SCANNER)
+ AC_SUBST(INTROSPECTION_COMPILER)
+--
+2.7.0
+
diff --git a/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-add-host-gi-gi-cross-wrapper-and-gi-ldd.patch b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-add-host-gi-gi-cross-wrapper-and-gi-ldd.patch
new file mode 100644
index 000000000..6afefabc7
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-add-host-gi-gi-cross-wrapper-and-gi-ldd.patch
@@ -0,0 +1,204 @@
+From c6e4f83c373b577166a7e46130ce8ff025ee8515 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 19 Oct 2015 18:29:21 +0300
+Subject: [PATCH] configure.ac: add host-gi, gi-cross-wrapper, gi-ldd-wrapper
+ and introspection-data options
+
+With the first option, gobject-introspection tools (g-ir-doc-tool and g-ir-scanner)
+that are already installed in the host system will be used for building the source tree.
+
+With the second option, g-ir-scanner will be instructed to use an executable
+wrapper to run binaries it's producing, and g-ir-compiler will be run
+through the same wrapper (host system's g-ir-compiler cannot be used because
+it's producing architecture-specific output).
+
+With the third option, giscanner will be instructed to use a special ldd
+command instead of system's ldd (which does not work when the binary to inspect
+is compiled for a different architecture).
+
+With the fourth option, it is possible to disable building of introspection data
+(.gir and .typelib files), which may be difficult or impossible in cross-compilation
+environments, because of lack of emulation (or native hardware) for the target architecture
+on which the target binaries can be run.
+
+These options are useful when cross-compiling for a different target architecture.
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Makefile.am | 2 ++
+ common.mk | 39 +++++++++++++++++++++++++++++++++++++++
+ configure.ac | 42 ++++++++++++++++++++++++++++++++++++++++++
+ tests/Makefile.am | 5 ++++-
+ 4 files changed, 87 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 437c673..1eb3545 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -21,7 +21,9 @@ include Makefile-cmph.am
+ include Makefile-girepository.am
+ include Makefile-giscanner.am
+ include Makefile-examples.am
++if BUILD_INTROSPECTION_DATA
+ include Makefile-gir.am
++endif
+ include Makefile-tools.am
+ include Makefile-msvcproj.am
+
+diff --git a/common.mk b/common.mk
+index e26c637..9f3a65f 100644
+--- a/common.mk
++++ b/common.mk
+@@ -6,6 +6,15 @@
+ # module itself.
+ #
+
++if USE_HOST_GI
++INTROSPECTION_SCANNER = \
++ env PATH="$(PATH)" \
++ LPATH=.libs \
++ CC="$(CC)" \
++ PYTHONPATH=$(top_builddir):$(top_srcdir) \
++ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
++ g-ir-scanner
++else
+ INTROSPECTION_SCANNER = \
+ env PATH=".libs:$(PATH)" \
+ LPATH=.libs \
+@@ -14,9 +23,24 @@ INTROSPECTION_SCANNER = \
+ UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
+ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
+ $(top_builddir)/g-ir-scanner
++endif
++
++if USE_CROSS_WRAPPER
++CROSS_WRAPPER_ARG = --use-binary-wrapper=$(GI_CROSS_WRAPPER)
++else
++CROSS_WRAPPER_ARG =
++endif
++
++if USE_LDD_WRAPPER
++LDD_WRAPPER_ARG = --use-ldd-wrapper=$(GI_LDD_WRAPPER)
++else
++LDD_WRAPPER_ARG =
++endif
+
+ INTROSPECTION_SCANNER_ARGS = \
+ --verbose \
++ $(CROSS_WRAPPER_ARG) \
++ $(LDD_WRAPPER_ARG) \
+ -I$(top_srcdir) \
+ --add-include-path=$(srcdir) \
+ --add-include-path=$(top_srcdir)/gir \
+@@ -24,9 +48,15 @@ INTROSPECTION_SCANNER_ARGS = \
+ --add-include-path=$(top_builddir) \
+ --add-include-path=$(top_builddir)/gir
+
++if USE_CROSS_WRAPPER
++INTROSPECTION_COMPILER = \
++ env PATH=".libs:$(PATH)" \
++ $(GI_CROSS_WRAPPER) $(top_builddir)/.libs/g-ir-compiler$(EXEEXT)
++else
+ INTROSPECTION_COMPILER = \
+ env PATH=".libs:$(PATH)" \
+ $(top_builddir)/g-ir-compiler$(EXEEXT)
++endif
+
+ INTROSPECTION_COMPILER_ARGS = \
+ --includedir=$(srcdir) \
+@@ -35,6 +65,14 @@ INTROSPECTION_COMPILER_ARGS = \
+ --includedir=$(top_builddir) \
+ --includedir=$(top_builddir)/gir
+
++if USE_HOST_GI
++INTROSPECTION_DOCTOOL = \
++ env PATH="$(PATH)" \
++ LPATH=.libs \
++ PYTHONPATH=$(top_builddir):$(top_srcdir) \
++ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
++ g-ir-doc-tool
++else
+ INTROSPECTION_DOCTOOL = \
+ env PATH=".libs:$(PATH)" \
+ LPATH=.libs \
+@@ -42,6 +80,7 @@ INTROSPECTION_DOCTOOL = \
+ UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
+ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
+ $(top_builddir)/g-ir-doc-tool
++endif
+
+ INTROSPECTION_DOCTOOL_ARGS = \
+ --add-include-path=$(srcdir) \
+diff --git a/configure.ac b/configure.ac
+index b11596b..d78ae52 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -347,6 +347,48 @@ fi
+
+ AC_SUBST(EXTRA_LINK_FLAGS)
+
++AC_ARG_ENABLE([host-gi],
++[AS_HELP_STRING([--enable-host-gi],[Use gobject introspection tools installed in the host system (useful when cross-compiling)])],
++[case "${enableval}" in
++ yes) host_gi=true ;;
++ no) host_gi=false ;;
++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-host-gi]) ;;
++esac],[host_gi=false])
++AM_CONDITIONAL([USE_HOST_GI], [test x$host_gi = xtrue])
++
++AC_ARG_ENABLE([gi-cross-wrapper],
++[AS_HELP_STRING([--enable-gi-cross-wrapper=path],[Use a wrapper to run gicompiler and binaries produced by giscanner (useful when cross-compiling)])],
++[
++GI_CROSS_WRAPPER="${enableval}"
++use_wrapper=true
++],[
++GI_CROSS_WRAPPER=""
++use_wrapper=false
++])
++AC_SUBST(GI_CROSS_WRAPPER)
++AM_CONDITIONAL([USE_CROSS_WRAPPER], [test x$use_wrapper = xtrue])
++
++AC_ARG_ENABLE([gi-ldd-wrapper],
++[AS_HELP_STRING([--enable-gi-ldd-wrapper=path],[Use a ldd wrapper instead of system's ldd command in giscanner (useful when cross-compiling)])],
++[
++GI_LDD_WRAPPER="${enableval}"
++use_ldd_wrapper=true
++],[
++GI_LDD_WRAPPER=""
++use_ldd_wrapper=false
++])
++AC_SUBST(GI_LDD_WRAPPER)
++AM_CONDITIONAL([USE_LDD_WRAPPER], [test x$use_ldd_wrapper = xtrue])
++
++AC_ARG_ENABLE([introspection-data],
++[AS_HELP_STRING([--enable-introspection-data],[Build introspection data (.gir and .typelib files) in addition to library and tools])],
++[case "${enableval}" in
++ yes) introspection_data=true ;;
++ no) introspection_data=false ;;
++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-introspection-data]) ;;
++esac],[introspection_data=true])
++AM_CONDITIONAL([BUILD_INTROSPECTION_DATA], [test x$introspection_data = xtrue])
++
+ AC_CONFIG_FILES([
+ Makefile
+ tests/Makefile
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index bdd0fa7..75dd3c9 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -1,6 +1,9 @@
+ include $(top_srcdir)/common.mk
+
+-SUBDIRS = . scanner repository offsets warn
++SUBDIRS = . scanner repository warn
++if BUILD_INTROSPECTION_DATA
++SUBDIRS += offsets
++endif
+
+ EXTRA_DIST=
+ BUILT_SOURCES=
+--
+2.6.2
+
diff --git a/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-use-ldd-wrapper-option.patch b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-use-ldd-wrapper-option.patch
new file mode 100644
index 000000000..f923dcccf
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-use-ldd-wrapper-option.patch
@@ -0,0 +1,48 @@
+From 291a92f200981a772b2d03739dffb5926a82c5a5 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 30 Oct 2015 16:28:46 +0200
+Subject: [PATCH 1/2] giscanner: add a --use-ldd-wrapper option
+
+This is useful in cross-compile environments where system's ldd
+command does not work on binaries built for a different architecture
+
+Upstream-Status: Pending [review in oe-core]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ giscanner/scannermain.py | 3 +++
+ giscanner/shlibs.py | 4 +++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
+index e37d3e3..b8fff5f 100755
+--- a/giscanner/scannermain.py
++++ b/giscanner/scannermain.py
+@@ -121,6 +121,9 @@ def _get_option_parser():
+ parser.add_option("", "--use-binary-wrapper",
+ action="store", dest="wrapper", default=None,
+ help="wrapper to use for running programs (useful when cross-compiling)")
++ parser.add_option("", "--use-ldd-wrapper",
++ action="store", dest="ldd_wrapper", default=None,
++ help="wrapper to use instead of ldd (useful when cross-compiling)")
+ parser.add_option("", "--program-arg",
+ action="append", dest="program_args", default=[],
+ help="extra arguments to program")
+diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
+index 1ad75ee..41117c6 100644
+--- a/giscanner/shlibs.py
++++ b/giscanner/shlibs.py
+@@ -100,7 +100,9 @@ def _resolve_non_libtool(options, binary, libraries):
+ args.extend(libtool)
+ args.append('--mode=execute')
+ platform_system = platform.system()
+- if platform_system == 'Darwin':
++ if options.ldd_wrapper:
++ args.extend([options.ldd_wrapper, binary.args[0]])
++ elif platform_system == 'Darwin':
+ args.extend(['otool', '-L', binary.args[0]])
+ else:
+ args.extend(['ldd', binary.args[0]])
+--
+2.1.4
+
diff --git a/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-use-binary-wrapper-option.patch b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-use-binary-wrapper-option.patch
new file mode 100644
index 000000000..e1241a949
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-use-binary-wrapper-option.patch
@@ -0,0 +1,52 @@
+From 2322f36056265f809aaffb74fcf5ac0c83129752 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 19 Oct 2015 18:26:40 +0300
+Subject: [PATCH 2/4] giscanner: add --use-binary-wrapper option
+
+With this option, giscanner will use a wrapper executable to run
+binaries it's producing, instead of running them directly. This
+is useful when binaries are cross-compiled and cannot be run directly,
+but they can be run using for example QEMU emulation.
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ giscanner/scannermain.py | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
+index b36284d..e37d3e3 100755
+--- a/giscanner/scannermain.py
++++ b/giscanner/scannermain.py
+@@ -118,6 +118,9 @@ def _get_option_parser():
+ parser.add_option("", "--program",
+ action="store", dest="program", default=None,
+ help="program to execute")
++ parser.add_option("", "--use-binary-wrapper",
++ action="store", dest="wrapper", default=None,
++ help="wrapper to use for running programs (useful when cross-compiling)")
+ parser.add_option("", "--program-arg",
+ action="append", dest="program_args", default=[],
+ help="extra arguments to program")
+@@ -406,6 +409,17 @@ def create_binary(transformer, options, args):
+ gdump_parser.get_error_quark_functions())
+
+ shlibs = resolve_shlibs(options, binary, options.libraries)
++ if options.wrapper:
++ # The wrapper needs the binary itself, not the libtool wrapper script,
++ # so we check if libtool has sneaked the binary into .libs subdirectory
++ # and adjust the path accordingly
++ import os.path
++ dir_name, binary_name = os.path.split(binary.args[0])
++ libtool_binary = os.path.join(dir_name, '.libs', binary_name)
++ if os.path.exists(libtool_binary):
++ binary.args[0] = libtool_binary
++ # Then prepend the wrapper to the command line to execute
++ binary.args = [options.wrapper] + binary.args
+ gdump_parser.set_introspection_binary(binary)
+ gdump_parser.parse()
+ return shlibs
+--
+2.1.4
+
diff --git a/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb
new file mode 100644
index 000000000..9b16147da
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb
@@ -0,0 +1,163 @@
+HOMEPAGE = "http://gnome.org"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "libs"
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=90d577535a3898e1ae5dbf0ae3509a8c \
+ file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
+ file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
+ file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27"
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/1.46/${BPN}-${PV}.tar.xz \
+ file://0001-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
+ file://0001-giscanner-add-use-binary-wrapper-option.patch \
+ file://0001-giscanner-add-a-use-ldd-wrapper-option.patch \
+ file://0001-configure.ac-add-host-gi-gi-cross-wrapper-and-gi-ldd.patch \
+ "
+SRC_URI[md5sum] = "adb40a31c7c80b65b0f4c8fd71b493dc"
+SRC_URI[sha256sum] = "6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233"
+
+inherit autotools pkgconfig gtk-doc pythonnative qemu gobject-introspection-data
+BBCLASSEXTEND = "native"
+
+# necessary to let the call for python-config from configure.ac succeed
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# needed for writing out the qemu wrapper script
+export STAGING_DIR_HOST
+export B
+
+DEPENDS_append = " libffi zlib glib-2.0 python"
+
+# target build needs qemu to run temporary introspection binaries created
+# on the fly by g-ir-scanner and a native version of itself to run
+# native versions of its own tools during build.
+# Also prelink-rtld is used to find out library dependencies of introspection binaries
+# (standard ldd doesn't work when cross-compiling).
+DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
+
+SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir"
+
+do_configure_prepend_class-native() {
+ # Tweak the native python scripts so that they don't refer to the
+ # full path of native python binary (the solution is taken from glib-2.0 recipe)
+ # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
+ sed -i -e '1s,#!.*,#!${USRBINPATH}/env nativepython,' ${S}/tools/g-ir-tool-template.in
+}
+
+do_configure_prepend_class-target() {
+ # Write out a qemu wrapper that will be given to gi-scanner so that it
+ # can run target helper binaries through that.
+ qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
+ cat > ${B}/g-ir-scanner-qemuwrapper << EOF
+#!/bin/sh
+# Use a modules directory which doesn't exist so we don't load random things
+# which may then get deleted (or their dependencies) and potentially segfault
+export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
+
+$qemu_binary "\$@"
+if [ \$? -ne 0 ]; then
+ echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
+ echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
+ exit 1
+fi
+EOF
+ chmod +x ${B}/g-ir-scanner-qemuwrapper
+
+ # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
+ # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
+ # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
+ # from the target sysroot.
+ cat > ${B}/g-ir-scanner-wrapper << EOF
+#!/bin/sh
+# This prevents g-ir-scanner from writing cache data to $HOME
+export GI_SCANNER_DISABLE_CACHE=1
+
+g-ir-scanner --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 "\$@"
+EOF
+ chmod +x ${B}/g-ir-scanner-wrapper
+
+ # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
+ # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
+ cat > ${B}/g-ir-compiler-wrapper << EOF
+#!/bin/sh
+${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
+EOF
+ chmod +x ${B}/g-ir-compiler-wrapper
+
+ # Write out a wrapper to use instead of ldd, which does not work when a binary is built
+ # for a different architecture
+ cat > ${B}/g-ir-scanner-lddwrapper << EOF
+#!/bin/sh
+prelink-rtld --root=$STAGING_DIR_HOST "\$@"
+EOF
+ chmod +x ${B}/g-ir-scanner-lddwrapper
+
+ # Also tweak the target python scripts so that they don't refer to the
+ # native version of python binary (the solution is taken from glib-2.0 recipe)
+ sed -i -e '1s,#!.*,#!${USRBINPATH}/env python,' ${S}/tools/g-ir-tool-template.in
+}
+
+# Configure target build to use native tools of itself and to use a qemu wrapper
+# and optionally to generate introspection data
+EXTRA_OECONF_class-target += "--enable-host-gi \
+ --enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
+ --enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
+ "
+
+
+do_compile_prepend_class-target() {
+ # This prevents g-ir-scanner from writing cache data to $HOME
+ export GI_SCANNER_DISABLE_CACHE=1
+
+ # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
+ export GIR_EXTRA_LIBS_PATH=$B/.libs
+}
+
+# Our wrappers need to be available system-wide, because they will be used
+# to build introspection files for all other gobject-based packages
+do_install_append_class-target() {
+ install -d ${D}${bindir}/
+ install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
+ install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
+ install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
+ install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
+}
+
+# .typelib files are needed at runtime and so they go to the main package
+FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
+
+# .gir files go to dev package, as they're needed for developing (but not for running)
+# things that depends on introspection.
+FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir"
+
+# These are used by gobject-based packages
+# to generate transient introspection binaries
+FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
+ ${datadir}/gobject-introspection-1.0/Makefile.introspection"
+
+# These are used by dependent packages (e.g. pygobject) to build their
+# testsuites.
+FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
+ ${datadir}/gobject-introspection-1.0/tests/*.h"
+
+FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
+FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
+
+# we need target versions of introspection tools in sysroot so that they can be run via qemu
+# when building introspection files in other packages
+SYSROOT_PREPROCESS_FUNCS_append_class-target += "gi_binaries_sysroot_preprocess"
+
+gi_binaries_sysroot_preprocess() {
+ sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir}
+
+ # Also, tweak the binary names in introspection pkgconfig file, so that it picks up our
+ # wrappers which do the cross-compile and qemu magic.
+ sed -i \
+ -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
+ -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
+ ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
+}
diff --git a/yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.16.1.bb b/yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.16.1.bb
deleted file mode 100644
index f2f2c75b3..000000000
--- a/yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.16.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-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"
-
-DEPENDS = "glib-2.0 intltool-native gobject-introspection-stub-native"
-
-inherit gnomebase gsettings gettext
-
-SRC_URI[archive.md5sum] = "baebbcf3c20591f98876e42fb0a3fd35"
-SRC_URI[archive.sha256sum] = "74fe9fdad510c8a6666febeceb7ebafc581ef990b3afcc8c1e8b5d90b24b3461"
diff --git a/yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.19.3.bb b/yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.19.3.bb
new file mode 100644
index 000000000..25fdabade
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.19.3.bb
@@ -0,0 +1,14 @@
+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"
+
+DEPENDS = "glib-2.0 intltool-native"
+
+inherit gnomebase gsettings gettext gobject-introspection
+
+SRC_URI[archive.md5sum] = "fdc92abcffe46821be423193b275cf8b"
+SRC_URI[archive.sha256sum] = "9084989b75ca9b3fc5984c8a0d297a93d3d124f51cadd2bdaaaa75a783c80635"
+
diff --git a/yocto-poky/meta/recipes-gnome/gtk+/gtk+.inc b/yocto-poky/meta/recipes-gnome/gtk+/gtk+.inc
index a197b9d96..5bbfe6b8e 100644
--- a/yocto-poky/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/yocto-poky/meta/recipes-gnome/gtk+/gtk+.inc
@@ -13,6 +13,10 @@ SECTION = "libs"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+# This picks stable releases in the 2.x series (but not 2.90 onwards,
+# which were GNOME 3 betas).
+UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
+
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"
@@ -25,13 +29,12 @@ 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
+inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache gobject-introspection
PACKAGES += "libgail gtk-demo"
-FILES_${PN} = "${bindir}/gtk-update-icon-cache-2.0 \
+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"
@@ -45,13 +48,6 @@ FILES_${PN}-dev += " \
${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 \
@@ -71,6 +67,10 @@ 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_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
+}
+
do_install () {
autotools_do_install
diff --git a/yocto-poky/meta/recipes-gnome/gtk+/gtk+3.inc b/yocto-poky/meta/recipes-gnome/gtk+/gtk+3.inc
index 22a40d8f0..bd29300d5 100644
--- a/yocto-poky/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/yocto-poky/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -10,7 +10,7 @@ DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \
LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-inherit autotools pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check
+inherit autotools pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check upstream-version-is-even gobject-introspection
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
# This should be in autotools.bbclass, but until something elses uses it putting
@@ -28,16 +28,20 @@ EXTRA_OECONF += " \
--disable-xinerama \
--enable-modules \
--disable-cups \
- --disable-introspection \
+ --disable-colord \
"
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
+}
+
PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "opengl x11", "glx", "", 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[glx] = "--enable-glx,--disable-glx,,libgl"
-PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon virtual/mesa"
+PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon virtual/mesa wayland-native"
do_install_append() {
mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
@@ -61,10 +65,9 @@ FILES_${PN}-demo = "${bindir}/gtk3-demo \
# dependencies are present.
RDEPENDS_${PN}-demo += "gdk-pixbuf-loader-png shared-mime-info"
-FILES_${PN} = "${bindir}/gtk-update-icon-cache-3.0 \
+FILES_${PN}_append = " ${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"
@@ -79,14 +82,9 @@ FILES_${PN}-dev += " \
${libdir}/gtk-3.0/${LIBV}/engines/*.la \
${libdir}/gtk-3.0/modules/*.la \
${bindir}/gtk-builder-convert \
- ${bindir}/gtk-encode-symbolic-svg"
-
-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"
+ ${bindir}/gtk-encode-symbolic-svg \
+ ${bindir}/gtk-builder-tool \
+ "
RRECOMMENDS_${PN} = "adwaita-icon-theme-symbolic"
@@ -94,6 +92,7 @@ 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"
+ALTERNATIVE_PRIORITY = "30"
python populate_packages_prepend () {
import os.path
@@ -108,7 +107,7 @@ python populate_packages_prepend () {
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')
+ if (d.getVar('DEBIAN_NAMES', True)):
+ d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-3.0')
}
diff --git a/yocto-poky/meta/recipes-gnome/gtk+/gtk+3_3.16.6.bb b/yocto-poky/meta/recipes-gnome/gtk+/gtk+3_3.18.8.bb
index 381e60750..b76c0cc1c 100644
--- a/yocto-poky/meta/recipes-gnome/gtk+/gtk+3_3.16.6.bb
+++ b/yocto-poky/meta/recipes-gnome/gtk+/gtk+3_3.18.8.bb
@@ -8,8 +8,8 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar
file://Do-not-try-to-initialize-GL-without-libGL.patch \
"
-SRC_URI[md5sum] = "fc59e5c8b5a4585b60623dd708df400b"
-SRC_URI[sha256sum] = "4d12726d0856a968b41802ae5c5971d7e9bac532717e309d3f81b9989da5ffbe"
+SRC_URI[md5sum] = "9671acb41dc13561d19233f1a75cf184"
+SRC_URI[sha256sum] = "1c53ef1bb55364698f7183ecd185b547f92f4a3a7abfafd531400232e2e052f8"
S = "${WORKDIR}/gtk+-${PV}"
diff --git a/yocto-poky/meta/recipes-gnome/gtk+/gtk+_2.24.28.bb b/yocto-poky/meta/recipes-gnome/gtk+/gtk+_2.24.29.bb
index e34377366..cf55d2070 100644
--- a/yocto-poky/meta/recipes-gnome/gtk+/gtk+_2.24.28.bb
+++ b/yocto-poky/meta/recipes-gnome/gtk+/gtk+_2.24.29.bb
@@ -12,8 +12,8 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \
file://strict-prototypes.patch \
"
-SRC_URI[md5sum] = "bfacf87b2ea67e4e5c7866a9003e6526"
-SRC_URI[sha256sum] = "b2c6441e98bc5232e5f9bba6965075dcf580a8726398f7374d39f90b88ed4656"
+SRC_URI[md5sum] = "1b7a3689f65617387b5b54520f4439e8"
+SRC_URI[sha256sum] = "0741c59600d3d810a223866453dc2bbb18ce4723828681ba24aa6519c37631b8"
EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
@@ -30,5 +30,5 @@ python populate_packages_prepend () {
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')
+ d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-2.0')
}
diff --git a/yocto-poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.6.bb b/yocto-poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.18.8.bb
index cba381574..793f14a54 100644
--- a/yocto-poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.6.bb
+++ b/yocto-poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.18.8.bb
@@ -10,8 +10,8 @@ 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://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch"
-SRC_URI[md5sum] = "fc59e5c8b5a4585b60623dd708df400b"
-SRC_URI[sha256sum] = "4d12726d0856a968b41802ae5c5971d7e9bac532717e309d3f81b9989da5ffbe"
+SRC_URI[md5sum] = "9671acb41dc13561d19233f1a75cf184"
+SRC_URI[sha256sum] = "1c53ef1bb55364698f7183ecd185b547f92f4a3a7abfafd531400232e2e052f8"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
@@ -20,7 +20,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
S = "${WORKDIR}/gtk+-${PV}"
-inherit pkgconfig native
+inherit pkgconfig native upstream-version-is-even
PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
@@ -58,6 +58,3 @@ do_install() {
create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
}
-
-# Prevent bitbake from optimizing away the native librsvg sysroot population
-do_populate_sysroot_setscene[depends] += "librsvg-native:do_populate_sysroot_setscene"
diff --git a/yocto-poky/meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch b/yocto-poky/meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch
new file mode 100644
index 000000000..80b0521d4
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch
@@ -0,0 +1,305 @@
+From d636be29bf95396b4e27fcd17ff84cb7091cca91 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 8 Oct 2015 15:37:40 +0300
+Subject: [PATCH] Revert "Import introspection stub machinery too"
+
+This reverts commit 3dfd0a09de696ec8c544762747f8a0f77153622e.
+As we provide the full introspection support, we need to remove
+the stubs from this package that conflict with it.
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 4 --
+ Makefile.introspection | 163 -------------------------------------------------
+ introspection.m4 | 96 -----------------------------
+ 3 files changed, 263 deletions(-)
+ delete mode 100644 Makefile.introspection
+ delete mode 100644 introspection.m4
+
+diff --git a/Makefile b/Makefile
+index 7cb6ce5..ad4231a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,7 +23,3 @@ install: $(bin_programs)
+
+ mkdir -p $(DESTDIR)$(datarootdir)/aclocal/
+ install -m 0644 $(srcdir)/gtk-doc.m4 $(DESTDIR)$(datarootdir)/aclocal/gtk-doc.m4
+-
+- mkdir -p $(DESTDIR)$(datarootdir)/gobject-introspection-1.0
+- install -m 0644 $(srcdir)/Makefile.introspection $(DESTDIR)$(datarootdir)/gobject-introspection-1.0/Makefile.introspection
+- install -m 0644 $(srcdir)/introspection.m4 $(DESTDIR)$(datarootdir)/aclocal/introspection.m4
+diff --git a/Makefile.introspection b/Makefile.introspection
+deleted file mode 100644
+index 755dd15..0000000
+--- a/Makefile.introspection
++++ /dev/null
+@@ -1,163 +0,0 @@
+-# -*- Mode: make -*-
+-# Copyright 2009-2010 Johan Dahlin
+-#
+-# This file is free software; the author(s) gives unlimited
+-# permission to copy and/or distribute it, with or without
+-# modifications, as long as this notice is preserved.
+-#
+-# * Input variables:
+-#
+-# INTROSPECTION_GIRS - List of GIRS that should be generated
+-# INTROSPECTION_SCANNER - Command to invoke scanner, normally set by
+-# GOBJECT_INTROSPECTION_REQUIRE/CHECK() in introspection.m4
+-# INTROSPECTION_SCANNER_ARGS - Additional args to pass in to the scanner
+-# INTROSPECTION_SCANNER_ENV - Environment variables to set before running
+-# the scanner
+-# INTROSPECTION_COMPILER - Command to invoke compiler, normally set by
+-# GOBJECT_INTROSPECTION_REQUIRE/CHECK() in introspection.m4
+-# INTROSPECTION_COMPILER_ARGS - Additional args to pass in to the compiler
+-#
+-# * Simple tutorial
+-#
+-# Add this to configure.ac:
+-# -Wno-portability to AM_INIT_AUTOMAKE
+-# GOBJECT_INTROSPECTION_CHECK([0.6.7])
+-#
+-# Add this to Makefile.am where your library/program is built:
+-# include $(INTROSPECTION_MAKEFILE)
+-# INTROSPECTION_GIRS = YourLib-1.0.gir
+-# YourLib_1_0_gir_NAMESPACE = YourLib
+-# YourLib_1_0_gir_VERSION = 1.0
+-# YourLib_1_0_gir_LIBS = libyourlib.la
+-# YourLib_1_0_gir_FILES = $(libyourlib_1_0_SOURCES)
+-# girdir = $(datadir)/gir-1.0
+-# dist_gir_DATA = YourLib-1.0.gir
+-# typelibdir = $(libdir)/girepository-1.0
+-# typelib_DATA = YourLib-1.0.typelib
+-# CLEANFILES = $(dist_gir_DATA) $(typelib_DATA)
+-#
+-
+-# Make sure the required variables are set, these should under normal
+-# circumstances come from introspection.m4
+-$(if $(INTROSPECTION_SCANNER),,$(error Need to define INTROSPECTION_SCANNER))
+-$(if $(INTROSPECTION_COMPILER),,$(error Need to define INTROSPECTION_COMPILER))
+-
+-# Private functions
+-
+-## Transform the gir filename to something which can reference through a variable
+-## without automake/make complaining, eg Gtk-2.0.gir -> Gtk_2_0_gir
+-_gir_name = $(subst /,_,$(subst -,_,$(subst .,_,$(1))))
+-
+-# Namespace and Version is either fetched from the gir filename
+-# or the _NAMESPACE/_VERSION variable combo
+-_gir_namespace = $(or $($(_gir_name)_NAMESPACE),$(firstword $(subst -, ,$(notdir $(1)))))
+-_gir_version = $(or $($(_gir_name)_VERSION),$(lastword $(subst -, ,$(1:.gir=))))
+-
+-# _PROGRAM is an optional variable which needs it's own --program argument
+-_gir_program = $(if $($(_gir_name)_PROGRAM),--program=$($(_gir_name)_PROGRAM))
+-
+-# Variables which provides a list of things
+-_gir_libraries = $(foreach lib,$($(_gir_name)_LIBS),--library=$(lib))
+-_gir_packages = $(foreach pkg,$($(_gir_name)_PACKAGES),--pkg=$(pkg))
+-_gir_includes = $(foreach include,$($(_gir_name)_INCLUDES),--include=$(include))
+-_gir_export_packages = $(foreach pkg,$($(_gir_name)_EXPORT_PACKAGES),--pkg-export=$(pkg))
+-
+-# Reuse the LIBTOOL variable from automake if it's set, but
+-# work around MSYS weirdness: When running g-ir-scanner, MSYS changes
+-# a command-line argument --libtool="/bin/sh ../../libtool" into
+-# --libtool=c:/opt/msys/1.0/bin/libtool. So just use sh.exe without path
+-# because we already "know" where the libtool configure produced is.
+-_gir_libtool = $(if $(findstring MINGW32,$(shell uname -s)),--libtool="$(top_builddir)/libtool",$(if $(LIBTOOL),--libtool="$(LIBTOOL)"))
+-
+-# Macros for AM_SILENT_RULES prettiness
+-_gir_verbosity = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1)
+-
+-_gir_silent_scanner_prefix = $(_gir_silent_scanner_prefix_$(V))
+-_gir_silent_scanner_prefix_ = $(_gir_silent_scanner_prefix_$(_gir_verbosity))
+-_gir_silent_scanner_prefix_0 = @echo " GISCAN $(1)";
+-_gir_silent_scanner_opts = $(_gir_silent_scanner_opts_$(V))
+-_gir_silent_scanner_opts_ = $(_gir_silent_scanner_opts_$(_gir_verbosity))
+-_gir_silent_scanner_opts_0 = --quiet
+-
+-_gir_silent_compiler = $(_gir_silent_compiler_$(V))
+-_gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity))
+-_gir_silent_compiler_0 = @echo " GICOMP $(1)";
+-
+-#
+-# Creates a GIR by scanning C headers/sources
+-# $(1) - Name of the gir file (output)
+-#
+-# If output is Gtk-2.0.gir then you should name the variables like
+-# Gtk_2_0_gir_NAMESPACE, Gtk_2_0_gir_VERSION etc.
+-# Required variables:
+-# FILES - C sources and headers which should be scanned
+-#
+-# One of these variables are required:
+-# LIBS - Library where the symbol represented in the gir can be found
+-# PROGRAM - Program where the symbol represented in the gir can be found
+-#
+-# Optional variables
+-# NAMESPACE - Namespace of the gir, first letter capital,
+-# rest should be lower case, for instance: 'Gtk', 'Clutter', 'ClutterGtk'.
+-# If not present the namespace will be fetched from the gir filename,
+-# the part before the first dash. For 'Gtk-2.0', namespace will be 'Gtk'.
+-# VERSION - Version of the gir, if not present, will be fetched from gir
+-# filename, the part after the first dash. For 'Gtk-2.0', version will be '2.0'.
+-# LIBTOOL - Command to invoke libtool, usually set by automake
+-# SCANNERFLAGS - Flags to pass in to the scanner, see g-ir-scanner(1) for a list
+-# CFLAGS - Flags to pass in to the parser when scanning headers
+-# LDFLAGS - Linker flags used by the scanner
+-# PACKAGES - list of pkg-config names which cflags are required to parse
+-# the headers of this gir
+-# INCLUDES - Gir files to include without the .gir suffix, for instance
+-# GLib-2.0, Gtk-2.0. This is needed for all libraries which you depend on that
+-# provides introspection information.
+-# EXPORT_PACKAGES - list of pkg-config names that are provided by this gir.
+-# By default the names in the PACKAGES variable will be used.
+-#
+-
+-define introspection-scanner
+-
+-# Basic sanity check, to make sure required variables are set
+-$(if $($(_gir_name)_FILES),,$(error Need to define $(_gir_name)_FILES))
+-$(if $(or $(findstring --header-only,$($(_gir_name)_SCANNERFLAGS)),
+- $($(_gir_name)_LIBS),
+- $($(_gir_name)_PROGRAM)),,
+- $(error Need to define $(_gir_name)_LIBS or $(_gir_name)_PROGRAM))
+-
+-# Only dependencies we know are actually filenames goes into _FILES, make
+-# sure these are built before running the scanner. Libraries and programs
+-# needs to be added manually.
+-$(1): $$($(_gir_name)_FILES)
+- @ $(MKDIR_P) $(dir $(1))
+- $(_gir_silent_scanner_prefix) $(INTROSPECTION_SCANNER_ENV) $(INTROSPECTION_SCANNER) $(_gir_silent_scanner_opts) \
+- $(INTROSPECTION_SCANNER_ARGS) \
+- --namespace=$(_gir_namespace) \
+- --nsversion=$(_gir_version) \
+- $(_gir_libtool) \
+- $(_gir_packages) \
+- $(_gir_includes) \
+- $(_gir_export_packages) \
+- $(_gir_program) \
+- $(_gir_libraries) \
+- $($(_gir_name)_SCANNERFLAGS) \
+- $($(_gir_name)_CFLAGS) \
+- $($(_gir_name)_LDFLAGS) \
+- $$^ \
+- --output $(1)
+-endef
+-
+-$(foreach gir,$(INTROSPECTION_GIRS),$(eval $(call introspection-scanner,$(gir))))
+-
+-#
+-# Compiles a gir into a typelib
+-# $(1): gir filename (input)
+-# $(2): typelib filename (output)
+-#
+-define introspection-compiler
+-$(_gir_silent_compiler) $(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) --includedir=. $(1) -o $(2)
+-endef
+-
+-# Simple rule to compile a typelib.
+-%.typelib: %.gir
+- $(call introspection-compiler,$<,$@)
+diff --git a/introspection.m4 b/introspection.m4
+deleted file mode 100644
+index d89c3d9..0000000
+--- a/introspection.m4
++++ /dev/null
+@@ -1,96 +0,0 @@
+-dnl -*- mode: autoconf -*-
+-dnl Copyright 2009 Johan Dahlin
+-dnl
+-dnl This file is free software; the author(s) gives unlimited
+-dnl permission to copy and/or distribute it, with or without
+-dnl modifications, as long as this notice is preserved.
+-dnl
+-
+-# serial 1
+-
+-m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+-[
+- AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+- AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+- AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
+-
+- dnl enable/disable introspection
+- m4_if([$2], [require],
+- [dnl
+- enable_introspection=yes
+- ],[dnl
+- AC_ARG_ENABLE(introspection,
+- AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
+- [Enable introspection for this build]),,
+- [enable_introspection=auto])
+- ])dnl
+-
+- AC_MSG_CHECKING([for gobject-introspection])
+-
+- dnl presence/version checking
+- AS_CASE([$enable_introspection],
+- [no], [dnl
+- found_introspection="no (disabled, use --enable-introspection to enable)"
+- ],dnl
+- [yes],[dnl
+- PKG_CHECK_EXISTS([gobject-introspection-1.0],,
+- AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
+- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
+- found_introspection=yes,
+- AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
+- ],dnl
+- [auto],[dnl
+- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
+- dnl Canonicalize enable_introspection
+- enable_introspection=$found_introspection
+- ],dnl
+- [dnl
+- AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
+- ])dnl
+-
+- AC_MSG_RESULT([$found_introspection])
+-
+- INTROSPECTION_SCANNER=
+- INTROSPECTION_COMPILER=
+- INTROSPECTION_GENERATE=
+- INTROSPECTION_GIRDIR=
+- INTROSPECTION_TYPELIBDIR=
+- if test "x$found_introspection" = "xyes"; then
+- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+- 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")
+-])
+-
+-
+-dnl Usage:
+-dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
+-
+-AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
+-[
+- _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
+-])
+-
+-dnl Usage:
+-dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
+-
+-
+-AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
+-[
+- _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
+-])
+--
+2.1.4
+
diff --git a/yocto-poky/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb b/yocto-poky/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb
index 40f324352..84e49c13a 100644
--- a/yocto-poky/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb
+++ b/yocto-poky/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb
@@ -4,16 +4,29 @@ SECTION = "x11/base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PROVIDES = "gtk-doc gobject-introspection-stub"
+PROVIDES = "gtk-doc"
SRCREV = "1dea266593edb766d6d898c79451ef193eb17cfa"
PV = "1.1+git${SRCPV}"
-SRC_URI = "git://git.gnome.org/${BPN}"
+SRC_URI = "git://git.gnome.org/${BPN} \
+ file://0001-Revert-Import-introspection-stub-machinery-too.patch \
+ "
S = "${WORKDIR}/git"
-inherit autotools
+do_configure() {
+ ./configure --prefix=${prefix} \
+ --sysconfdir=${sysconfdir} \
+ --bindir=${bindir} \
+ --libdir=${libdir} \
+ --datadir=${datadir} \
+ --datarootdir=${datadir}
+}
+
+do_install() {
+ oe_runmake install DESTDIR="${D}"
+}
FILES_${PN} += "${datadir}"
diff --git a/yocto-poky/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb b/yocto-poky/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
index 7c3a87e87..c0ac911a6 100644
--- a/yocto-poky/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
+++ b/yocto-poky/meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
@@ -24,7 +24,6 @@ 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 "
@@ -37,6 +36,10 @@ GNOME_COMPRESS_TYPE="bz2"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+# This picks stable releases in the 2.x series (but not 2.90 onwards,
+# which were GNOME 3 betas).
+UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
+
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")
diff --git a/yocto-poky/meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb b/yocto-poky/meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb
deleted file mode 100644
index b67806def..000000000
--- a/yocto-poky/meta/recipes-gnome/gtk-theme-torturer/gtk-theme-torturer_git.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-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}"
-
-inherit distro_features_check
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 torturer ${D}${bindir}
-}
-
-
diff --git a/yocto-poky/meta/recipes-gnome/json-glib/json-glib_1.0.4.bb b/yocto-poky/meta/recipes-gnome/json-glib/json-glib_1.0.4.bb
index 4908ac08a..3ce38cec5 100644
--- a/yocto-poky/meta/recipes-gnome/json-glib/json-glib_1.0.4.bb
+++ b/yocto-poky/meta/recipes-gnome/json-glib/json-glib_1.0.4.bb
@@ -13,6 +13,6 @@ DEPENDS = "glib-2.0"
SRC_URI[archive.md5sum] = "3131b0417ecde3da1ae72acceaa375cf"
SRC_URI[archive.sha256sum] = "80f3593cb6bd13f1465828e46a9f740e2e9bd3cd2257889442b3e62bd6de05cd"
-inherit gnomebase gettext lib_package
+inherit gnomebase gettext lib_package gobject-introspection
BBCLASSEXTEND = "native"
diff --git a/yocto-poky/meta/recipes-gnome/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch b/yocto-poky/meta/recipes-gnome/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch
deleted file mode 100644
index db96e6354..000000000
--- a/yocto-poky/meta/recipes-gnome/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a5efaa96fd934eb245c234a5275fcf62698ef986 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 2 Apr 2015 21:38:03 -0700
-Subject: [PATCH] mips: Use compiler internal define for linux
-
-__linux__ is defined by compiler when building for
-linux platforms, lets use it
-
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mips/ffitarget.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/mips/ffitarget.h b/src/mips/ffitarget.h
-index 717d659..6faa358 100644
---- a/src/mips/ffitarget.h
-+++ b/src/mips/ffitarget.h
-@@ -32,7 +32,7 @@
- #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
- #endif
-
--#ifdef linux
-+#ifdef __linux__
- # include <asm/sgidefs.h>
- #elif defined(__rtems__)
- /*
---
-2.1.4
-
diff --git a/yocto-poky/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch b/yocto-poky/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch
deleted file mode 100644
index 775bffc66..000000000
--- a/yocto-poky/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-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/yocto-poky/meta/recipes-gnome/libffi/libffi_3.2.1.bb b/yocto-poky/meta/recipes-gnome/libffi/libffi_3.2.1.bb
deleted file mode 100644
index fd916caf7..000000000
--- a/yocto-poky/meta/recipes-gnome/libffi/libffi_3.2.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-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 \
- file://0001-mips-Use-compiler-internal-define-for-linux.patch \
- "
-
-SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43"
-SRC_URI[sha256sum] = "d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37"
-
-EXTRA_OECONF += "--disable-builddir"
-
-inherit autotools texinfo
-
-FILES_${PN}-dev += "${libdir}/libffi-${PV}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/yocto-poky/meta/recipes-gnome/libgudev/libgudev_230.bb b/yocto-poky/meta/recipes-gnome/libgudev/libgudev_230.bb
new file mode 100644
index 000000000..6a105023b
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/libgudev/libgudev_230.bb
@@ -0,0 +1,14 @@
+SUMMARY = "GObject wrapper for libudev"
+
+SRC_URI[archive.md5sum] = "e4dee8f3f349e9372213d33887819a4d"
+SRC_URI[archive.sha256sum] = "a2e77faced0c66d7498403adefcc0707105e03db71a2b2abd620025b86347c18"
+
+DEPENDS = "glib-2.0 udev"
+
+RCONFLICTS_${PN} = "systemd (<= 220)"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+inherit gnomebase gobject-introspection
+
diff --git a/yocto-poky/meta/recipes-gnome/libnotify/libnotify_0.7.6.bb b/yocto-poky/meta/recipes-gnome/libnotify/libnotify_0.7.6.bb
index 41d188cad..ce8e5ae21 100644
--- a/yocto-poky/meta/recipes-gnome/libnotify/libnotify_0.7.6.bb
+++ b/yocto-poky/meta/recipes-gnome/libnotify/libnotify_0.7.6.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
DEPENDS = "dbus gtk+3 dbus-glib"
-inherit gnomebase gtk-doc
+inherit gnomebase gtk-doc distro_features_check gobject-introspection
+# depends on gtk+3
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
SRC_URI[archive.md5sum] = "a4997019d08f46f3bf57b78e6f795a59"
SRC_URI[archive.sha256sum] = "0ef61ca400d30e28217979bfa0e73a7406b19c32dd76150654ec5b2bdf47d837"
diff --git a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_1.patch b/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_1.patch
deleted file mode 100644
index a3ba41f50..000000000
--- a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_1.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From d1c9191949747f6dcfd207831d15dd4ba00e31f2 Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Wed, 7 Oct 2015 05:31:08 +0200
-Subject: [PATCH] state: Store mask as reference
-
-Instead of immediately looking up the mask, store the reference and look
-it up on use.
-
-Upstream-status: Backport
-
-supporting patch
-https://git.gnome.org/browse/librsvg/commit/rsvg-styles.c?id=d1c9191949747f6dcfd207831d15dd4ba00e31f2
-
-CVE: CVE-2015-7558
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- rsvg-cairo-draw.c | 6 +++++-
- rsvg-mask.c | 17 -----------------
- rsvg-mask.h | 2 --
- rsvg-styles.c | 12 ++++++++----
- rsvg-styles.h | 2 +-
- 5 files changed, 14 insertions(+), 25 deletions(-)
-
-Index: librsvg-2.40.10/rsvg-cairo-draw.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-cairo-draw.c
-+++ librsvg-2.40.10/rsvg-cairo-draw.c
-@@ -825,7 +825,11 @@ rsvg_cairo_pop_render_stack (RsvgDrawing
- cairo_set_operator (render->cr, state->comp_op);
-
- if (state->mask) {
-- rsvg_cairo_generate_mask (render->cr, state->mask, ctx, &render->bbox);
-+ RsvgNode *mask;
-+
-+ mask = rsvg_defs_lookup (ctx->defs, state->mask);
-+ if (mask && RSVG_NODE_TYPE (mask) == RSVG_NODE_TYPE_MASK)
-+ rsvg_cairo_generate_mask (render->cr, (RsvgMask *) mask, ctx, &render->bbox);
- } else if (state->opacity != 0xFF)
- cairo_paint_with_alpha (render->cr, (double) state->opacity / 255.0);
- else
-Index: librsvg-2.40.10/rsvg-mask.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-mask.c
-+++ librsvg-2.40.10/rsvg-mask.c
-@@ -103,23 +103,6 @@ rsvg_get_url_string (const char *str)
- }
-
- RsvgNode *
--rsvg_mask_parse (const RsvgDefs * defs, const char *str)
--{
-- char *name;
--
-- name = rsvg_get_url_string (str);
-- if (name) {
-- RsvgNode *val;
-- val = rsvg_defs_lookup (defs, name);
-- g_free (name);
--
-- if (val && RSVG_NODE_TYPE (val) == RSVG_NODE_TYPE_MASK)
-- return val;
-- }
-- return NULL;
--}
--
--RsvgNode *
- rsvg_clip_path_parse (const RsvgDefs * defs, const char *str)
- {
- char *name;
-Index: librsvg-2.40.10/rsvg-mask.h
-===================================================================
---- librsvg-2.40.10.orig/rsvg-mask.h
-+++ librsvg-2.40.10/rsvg-mask.h
-@@ -48,8 +48,6 @@ struct _RsvgMask {
-
- G_GNUC_INTERNAL
- RsvgNode *rsvg_new_mask (void);
--G_GNUC_INTERNAL
--RsvgNode *rsvg_mask_parse (const RsvgDefs * defs, const char *str);
-
- typedef struct _RsvgClipPath RsvgClipPath;
-
-Index: librsvg-2.40.10/rsvg-styles.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-styles.c
-+++ librsvg-2.40.10/rsvg-styles.c
-@@ -221,6 +221,7 @@ rsvg_state_clone (RsvgState * dst, const
-
- *dst = *src;
- dst->parent = parent;
-+ dst->mask = g_strdup (src->mask);
- dst->font_family = g_strdup (src->font_family);
- dst->lang = g_strdup (src->lang);
- rsvg_paint_server_ref (dst->fill);
-@@ -356,7 +357,8 @@ rsvg_state_inherit_run (RsvgState * dst,
-
- if (inherituninheritables) {
- dst->clip_path_ref = src->clip_path_ref;
-- dst->mask = src->mask;
-+ g_free (dst->mask);
-+ dst->mask = g_strdup (src->mask);
- dst->enable_background = src->enable_background;
- dst->adobe_blend = src->adobe_blend;
- dst->opacity = src->opacity;
-@@ -444,6 +446,7 @@ rsvg_state_inherit (RsvgState * dst, con
- void
- rsvg_state_finalize (RsvgState * state)
- {
-+ g_free (state->mask);
- g_free (state->font_family);
- g_free (state->lang);
- rsvg_paint_server_unref (state->fill);
-@@ -517,9 +520,10 @@ rsvg_parse_style_pair (RsvgHandle * ctx,
- state->adobe_blend = 11;
- else
- state->adobe_blend = 0;
-- } else if (g_str_equal (name, "mask"))
-- state->mask = rsvg_mask_parse (ctx->priv->defs, value);
-- else if (g_str_equal (name, "clip-path")) {
-+ } else if (g_str_equal (name, "mask")) {
-+ g_free (state->mask);
-+ state->mask = rsvg_get_url_string (value);
-+ } else if (g_str_equal (name, "clip-path")) {
- state->clip_path_ref = rsvg_clip_path_parse (ctx->priv->defs, value);
- } else if (g_str_equal (name, "overflow")) {
- if (!g_str_equal (value, "inherit")) {
-Index: librsvg-2.40.10/rsvg-styles.h
-===================================================================
---- librsvg-2.40.10.orig/rsvg-styles.h
-+++ librsvg-2.40.10/rsvg-styles.h
-@@ -80,7 +80,7 @@ struct _RsvgState {
- cairo_matrix_t personal_affine;
-
- RsvgFilter *filter;
-- void *mask;
-+ char *mask;
- void *clip_path_ref;
- guint8 adobe_blend; /* 0..11 */
- guint8 opacity; /* 0..255 */
diff --git a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_2.patch b/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_2.patch
deleted file mode 100644
index 9f6820ef9..000000000
--- a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_2.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-From 6cfaab12c70cd4a34c4730837f1ecdf792593c90 Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Wed, 7 Oct 2015 07:57:39 +0200
-Subject: [PATCH] state: Look up clip path lazily
-
-Upstream-status: Backport
-
-supporting patch
-https://git.gnome.org/browse/librsvg/commit/rsvg-styles.c?id=6cfaab12c70cd4a34c4730837f1ecdf792593c90
-
-CVE: CVE-2015-7558
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- rsvg-cairo-draw.c | 56 +++++++++++++++++++++++++++++++++----------------------
- rsvg-mask.c | 17 -----------------
- rsvg-mask.h | 2 --
- rsvg-styles.c | 10 +++++++---
- rsvg-styles.h | 2 +-
- 5 files changed, 42 insertions(+), 45 deletions(-)
-
-Index: librsvg-2.40.10/rsvg-cairo-draw.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-cairo-draw.c
-+++ librsvg-2.40.10/rsvg-cairo-draw.c
-@@ -461,7 +461,7 @@ rsvg_cairo_render_path (RsvgDrawingCtx *
- return;
-
- need_tmpbuf = ((state->fill != NULL) && (state->stroke != NULL) && state->opacity != 0xff)
-- || state->clip_path_ref || state->mask || state->filter
-+ || state->clip_path || state->mask || state->filter
- || (state->comp_op != CAIRO_OPERATOR_OVER);
-
- if (need_tmpbuf)
-@@ -708,18 +708,6 @@ rsvg_cairo_generate_mask (cairo_t * cr,
- }
-
- static void
--rsvg_cairo_push_early_clips (RsvgDrawingCtx * ctx)
--{
-- RsvgCairoRender *render = RSVG_CAIRO_RENDER (ctx->render);
--
-- cairo_save (render->cr);
-- if (rsvg_current_state (ctx)->clip_path_ref)
-- if (((RsvgClipPath *) rsvg_current_state (ctx)->clip_path_ref)->units == userSpaceOnUse)
-- rsvg_cairo_clip (ctx, rsvg_current_state (ctx)->clip_path_ref, NULL);
--
--}
--
--static void
- rsvg_cairo_push_render_stack (RsvgDrawingCtx * ctx)
- {
- /* XXX: Untested, probably needs help wrt filters */
-@@ -731,9 +719,27 @@ rsvg_cairo_push_render_stack (RsvgDrawin
- RsvgState *state = rsvg_current_state (ctx);
- gboolean lateclip = FALSE;
-
-- if (rsvg_current_state (ctx)->clip_path_ref)
-- if (((RsvgClipPath *) rsvg_current_state (ctx)->clip_path_ref)->units == objectBoundingBox)
-- lateclip = TRUE;
-+ if (rsvg_current_state (ctx)->clip_path) {
-+ RsvgNode *node;
-+ node = rsvg_defs_lookup (ctx->defs, rsvg_current_state (ctx)->clip_path);
-+ if (node && RSVG_NODE_TYPE (node) == RSVG_NODE_TYPE_CLIP_PATH) {
-+ RsvgClipPath *clip_path = (RsvgClipPath *) node;
-+
-+ switch (clip_path->units) {
-+ case userSpaceOnUse:
-+ rsvg_cairo_clip (ctx, clip_path, NULL);
-+ break;
-+ case objectBoundingBox:
-+ lateclip = TRUE;
-+ break;
-+
-+ default:
-+ g_assert_not_reached ();
-+ break;
-+ }
-+
-+ }
-+ }
-
- if (state->opacity == 0xFF
- && !state->filter && !state->mask && !lateclip && (state->comp_op == CAIRO_OPERATOR_OVER)
-@@ -774,7 +780,9 @@ rsvg_cairo_push_render_stack (RsvgDrawin
- void
- rsvg_cairo_push_discrete_layer (RsvgDrawingCtx * ctx)
- {
-- rsvg_cairo_push_early_clips (ctx);
-+ RsvgCairoRender *render = RSVG_CAIRO_RENDER (ctx->render);
-+
-+ cairo_save (render->cr);
- rsvg_cairo_push_render_stack (ctx);
- }
-
-@@ -783,14 +791,18 @@ rsvg_cairo_pop_render_stack (RsvgDrawing
- {
- RsvgCairoRender *render = RSVG_CAIRO_RENDER (ctx->render);
- cairo_t *child_cr = render->cr;
-- gboolean lateclip = FALSE;
-+ RsvgClipPath *lateclip = NULL;
- cairo_surface_t *surface = NULL;
- RsvgState *state = rsvg_current_state (ctx);
- gboolean nest;
-
-- if (rsvg_current_state (ctx)->clip_path_ref)
-- if (((RsvgClipPath *) rsvg_current_state (ctx)->clip_path_ref)->units == objectBoundingBox)
-- lateclip = TRUE;
-+ if (rsvg_current_state (ctx)->clip_path) {
-+ RsvgNode *node;
-+ node = rsvg_defs_lookup (ctx->defs, rsvg_current_state (ctx)->clip_path);
-+ if (node && RSVG_NODE_TYPE (node) == RSVG_NODE_TYPE_CLIP_PATH
-+ && ((RsvgClipPath *) node)->units == objectBoundingBox)
-+ lateclip = (RsvgClipPath *) node;
-+ }
-
- if (state->opacity == 0xFF
- && !state->filter && !state->mask && !lateclip && (state->comp_op == CAIRO_OPERATOR_OVER)
-@@ -820,7 +832,7 @@ rsvg_cairo_pop_render_stack (RsvgDrawing
- nest ? 0 : render->offset_y);
-
- if (lateclip)
-- rsvg_cairo_clip (ctx, rsvg_current_state (ctx)->clip_path_ref, &render->bbox);
-+ rsvg_cairo_clip (ctx, lateclip, &render->bbox);
-
- cairo_set_operator (render->cr, state->comp_op);
-
-Index: librsvg-2.40.10/rsvg-mask.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-mask.c
-+++ librsvg-2.40.10/rsvg-mask.c
-@@ -102,23 +102,6 @@ rsvg_get_url_string (const char *str)
- return NULL;
- }
-
--RsvgNode *
--rsvg_clip_path_parse (const RsvgDefs * defs, const char *str)
--{
-- char *name;
--
-- name = rsvg_get_url_string (str);
-- if (name) {
-- RsvgNode *val;
-- val = rsvg_defs_lookup (defs, name);
-- g_free (name);
--
-- if (val && RSVG_NODE_TYPE (val) == RSVG_NODE_TYPE_CLIP_PATH)
-- return val;
-- }
-- return NULL;
--}
--
- static void
- rsvg_clip_path_set_atts (RsvgNode * self, RsvgHandle * ctx, RsvgPropertyBag * atts)
- {
-Index: librsvg-2.40.10/rsvg-mask.h
-===================================================================
---- librsvg-2.40.10.orig/rsvg-mask.h
-+++ librsvg-2.40.10/rsvg-mask.h
-@@ -58,8 +58,6 @@ struct _RsvgClipPath {
-
- G_GNUC_INTERNAL
- RsvgNode *rsvg_new_clip_path (void);
--G_GNUC_INTERNAL
--RsvgNode *rsvg_clip_path_parse (const RsvgDefs * defs, const char *str);
-
- G_END_DECLS
- #endif
-Index: librsvg-2.40.10/rsvg-styles.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-styles.c
-+++ librsvg-2.40.10/rsvg-styles.c
-@@ -149,7 +149,7 @@ rsvg_state_init (RsvgState * state)
- state->visible = TRUE;
- state->cond_true = TRUE;
- state->filter = NULL;
-- state->clip_path_ref = NULL;
-+ state->clip_path = NULL;
- state->startMarker = NULL;
- state->middleMarker = NULL;
- state->endMarker = NULL;
-@@ -222,6 +222,7 @@ rsvg_state_clone (RsvgState * dst, const
- *dst = *src;
- dst->parent = parent;
- dst->mask = g_strdup (src->mask);
-+ dst->clip_path = g_strdup (src->clip_path);
- dst->font_family = g_strdup (src->font_family);
- dst->lang = g_strdup (src->lang);
- rsvg_paint_server_ref (dst->fill);
-@@ -356,7 +357,8 @@ rsvg_state_inherit_run (RsvgState * dst,
- }
-
- if (inherituninheritables) {
-- dst->clip_path_ref = src->clip_path_ref;
-+ g_free (dst->clip_path);
-+ dst->clip_path = g_strdup (src->clip_path);
- g_free (dst->mask);
- dst->mask = g_strdup (src->mask);
- dst->enable_background = src->enable_background;
-@@ -447,6 +449,7 @@ void
- rsvg_state_finalize (RsvgState * state)
- {
- g_free (state->mask);
-+ g_free (state->clip_path);
- g_free (state->font_family);
- g_free (state->lang);
- rsvg_paint_server_unref (state->fill);
-@@ -524,7 +527,8 @@ rsvg_parse_style_pair (RsvgHandle * ctx,
- g_free (state->mask);
- state->mask = rsvg_get_url_string (value);
- } else if (g_str_equal (name, "clip-path")) {
-- state->clip_path_ref = rsvg_clip_path_parse (ctx->priv->defs, value);
-+ g_free (state->clip_path);
-+ state->clip_path = rsvg_get_url_string (value);
- } else if (g_str_equal (name, "overflow")) {
- if (!g_str_equal (value, "inherit")) {
- state->overflow = rsvg_css_parse_overflow (value, &state->has_overflow);
-Index: librsvg-2.40.10/rsvg-styles.h
-===================================================================
---- librsvg-2.40.10.orig/rsvg-styles.h
-+++ librsvg-2.40.10/rsvg-styles.h
-@@ -81,7 +81,7 @@ struct _RsvgState {
-
- RsvgFilter *filter;
- char *mask;
-- void *clip_path_ref;
-+ char *clip_path;
- guint8 adobe_blend; /* 0..11 */
- guint8 opacity; /* 0..255 */
-
diff --git a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_3.patch b/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_3.patch
deleted file mode 100644
index dd67ab768..000000000
--- a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/CVE-2015-7558_3.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From a51919f7e1ca9c535390a746fbf6e28c8402dc61 Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Wed, 7 Oct 2015 08:45:37 +0200
-Subject: [PATCH] rsvg: Add rsvg_acquire_node()
-
-This function does proper recursion checks when looking up resources
-from URLs and thereby helps avoiding infinite loops when cyclic
-references span multiple types of elements.
-
-Upstream-status: Backport
-
-https://git.gnome.org/browse/librsvg/commit/rsvg-styles.c?id=a51919f7e1ca9c535390a746fbf6e28c8402dc61
-
-CVE: CVE-2015-7558
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- rsvg-base.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- rsvg-cairo-draw.c | 15 +++++++++++----
- rsvg-cairo-render.c | 1 +
- rsvg-filter.c | 9 +++++++--
- rsvg-private.h | 5 +++++
- 5 files changed, 79 insertions(+), 6 deletions(-)
-
-Index: librsvg-2.40.10/rsvg-base.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-base.c
-+++ librsvg-2.40.10/rsvg-base.c
-@@ -1236,6 +1236,8 @@ rsvg_drawing_ctx_free (RsvgDrawingCtx *
- g_slist_free (handle->drawsub_stack);
-
- g_slist_free (handle->ptrs);
-+ g_warn_if_fail (handle->acquired_nodes == NULL);
-+ g_slist_free (handle->acquired_nodes);
-
- if (handle->base_uri)
- g_free (handle->base_uri);
-@@ -2018,6 +2020,59 @@ rsvg_push_discrete_layer (RsvgDrawingCtx
- ctx->render->push_discrete_layer (ctx);
- }
-
-+/*
-+ * rsvg_acquire_node:
-+ * @ctx: The drawing context in use
-+ * @url: The IRI to lookup
-+ *
-+ * Use this function when looking up urls to other nodes. This
-+ * function does proper recursion checking and thereby avoids
-+ * infinite loops.
-+ *
-+ * Nodes acquired by this function must be released using
-+ * rsvg_release_node() in reverse acquiring order.
-+ *
-+ * Returns: The node referenced by @url or %NULL if the @url
-+ * does not reference a node.
-+ */
-+RsvgNode *
-+rsvg_acquire_node (RsvgDrawingCtx * ctx, const char *url)
-+{
-+ RsvgNode *node;
-+
-+ node = rsvg_defs_lookup (ctx->defs, url);
-+ if (node == NULL)
-+ return NULL;
-+
-+ if (g_slist_find (ctx->acquired_nodes, node))
-+ return NULL;
-+
-+ ctx->acquired_nodes = g_slist_prepend (ctx->acquired_nodes, node);
-+
-+ return node;
-+}
-+
-+/*
-+ * rsvg_release_node:
-+ * @ctx: The drawing context the node was acquired from
-+ * @node: Node to release
-+ *
-+ * Releases a node previously acquired via rsvg_acquire_node().
-+ *
-+ * if @node is %NULL, this function does nothing.
-+ */
-+void
-+rsvg_release_node (RsvgDrawingCtx * ctx, RsvgNode *node)
-+{
-+ if (node == NULL)
-+ return;
-+
-+ g_return_if_fail (ctx->acquired_nodes != NULL);
-+ g_return_if_fail (ctx->acquired_nodes->data == node);
-+
-+ ctx->acquired_nodes = g_slist_remove (ctx->acquired_nodes, node);
-+}
-+
- void
- rsvg_render_path (RsvgDrawingCtx * ctx, const cairo_path_t *path)
- {
-Index: librsvg-2.40.10/rsvg-cairo-draw.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-cairo-draw.c
-+++ librsvg-2.40.10/rsvg-cairo-draw.c
-@@ -721,7 +721,7 @@ rsvg_cairo_push_render_stack (RsvgDrawin
-
- if (rsvg_current_state (ctx)->clip_path) {
- RsvgNode *node;
-- node = rsvg_defs_lookup (ctx->defs, rsvg_current_state (ctx)->clip_path);
-+ node = rsvg_acquire_node (ctx, rsvg_current_state (ctx)->clip_path);
- if (node && RSVG_NODE_TYPE (node) == RSVG_NODE_TYPE_CLIP_PATH) {
- RsvgClipPath *clip_path = (RsvgClipPath *) node;
-
-@@ -739,6 +739,8 @@ rsvg_cairo_push_render_stack (RsvgDrawin
- }
-
- }
-+
-+ rsvg_release_node (ctx, node);
- }
-
- if (state->opacity == 0xFF
-@@ -798,10 +800,12 @@ rsvg_cairo_pop_render_stack (RsvgDrawing
-
- if (rsvg_current_state (ctx)->clip_path) {
- RsvgNode *node;
-- node = rsvg_defs_lookup (ctx->defs, rsvg_current_state (ctx)->clip_path);
-+ node = rsvg_acquire_node (ctx, rsvg_current_state (ctx)->clip_path);
- if (node && RSVG_NODE_TYPE (node) == RSVG_NODE_TYPE_CLIP_PATH
- && ((RsvgClipPath *) node)->units == objectBoundingBox)
- lateclip = (RsvgClipPath *) node;
-+ else
-+ rsvg_release_node (ctx, node);
- }
-
- if (state->opacity == 0xFF
-@@ -831,17 +835,20 @@ rsvg_cairo_pop_render_stack (RsvgDrawing
- nest ? 0 : render->offset_x,
- nest ? 0 : render->offset_y);
-
-- if (lateclip)
-+ if (lateclip) {
- rsvg_cairo_clip (ctx, lateclip, &render->bbox);
-+ rsvg_release_node (ctx, (RsvgNode *) lateclip);
-+ }
-
- cairo_set_operator (render->cr, state->comp_op);
-
- if (state->mask) {
- RsvgNode *mask;
-
-- mask = rsvg_defs_lookup (ctx->defs, state->mask);
-+ mask = rsvg_acquire_node (ctx, state->mask);
- if (mask && RSVG_NODE_TYPE (mask) == RSVG_NODE_TYPE_MASK)
- rsvg_cairo_generate_mask (render->cr, (RsvgMask *) mask, ctx, &render->bbox);
-+ rsvg_release_node (ctx, mask);
- } else if (state->opacity != 0xFF)
- cairo_paint_with_alpha (render->cr, (double) state->opacity / 255.0);
- else
-Index: librsvg-2.40.10/rsvg-cairo-render.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-cairo-render.c
-+++ librsvg-2.40.10/rsvg-cairo-render.c
-@@ -155,6 +155,7 @@ rsvg_cairo_new_drawing_ctx (cairo_t * cr
- draw->pango_context = NULL;
- draw->drawsub_stack = NULL;
- draw->ptrs = NULL;
-+ draw->acquired_nodes = NULL;
-
- rsvg_state_push (draw);
- state = rsvg_current_state (draw);
-Index: librsvg-2.40.10/rsvg-filter.c
-===================================================================
---- librsvg-2.40.10.orig/rsvg-filter.c
-+++ librsvg-2.40.10/rsvg-filter.c
-@@ -3921,6 +3921,7 @@ rsvg_filter_primitive_image_render_in (R
- RsvgDrawingCtx *ctx;
- RsvgFilterPrimitiveImage *upself;
- RsvgNode *drawable;
-+ cairo_surface_t *result;
-
- ctx = context->ctx;
-
-@@ -3929,13 +3930,17 @@ rsvg_filter_primitive_image_render_in (R
- if (!upself->href)
- return NULL;
-
-- drawable = rsvg_defs_lookup (ctx->defs, upself->href->str);
-+ drawable = rsvg_acquire_node (ctx, upself->href->str);
- if (!drawable)
- return NULL;
-
- rsvg_current_state (ctx)->affine = context->paffine;
-
-- return rsvg_get_surface_of_node (ctx, drawable, context->width, context->height);
-+ result = rsvg_get_surface_of_node (ctx, drawable, context->width, context->height);
-+
-+ rsvg_release_node (ctx, drawable);
-+
-+ return result;
- }
-
- static cairo_surface_t *
-Index: librsvg-2.40.10/rsvg-private.h
-===================================================================
---- librsvg-2.40.10.orig/rsvg-private.h
-+++ librsvg-2.40.10/rsvg-private.h
-@@ -200,6 +200,7 @@ struct RsvgDrawingCtx {
- GSList *vb_stack;
- GSList *drawsub_stack;
- GSList *ptrs;
-+ GSList *acquired_nodes;
- };
-
- /*Abstract base class for context for our backends (one as yet)*/
-@@ -360,6 +361,10 @@ void rsvg_pop_discrete_layer (RsvgDra
- G_GNUC_INTERNAL
- void rsvg_push_discrete_layer (RsvgDrawingCtx * ctx);
- G_GNUC_INTERNAL
-+RsvgNode *rsvg_acquire_node (RsvgDrawingCtx * ctx, const char *url);
-+G_GNUC_INTERNAL
-+void rsvg_release_node (RsvgDrawingCtx * ctx, RsvgNode *node);
-+G_GNUC_INTERNAL
- void rsvg_render_path (RsvgDrawingCtx * ctx, const cairo_path_t *path);
- G_GNUC_INTERNAL
- void rsvg_render_surface (RsvgDrawingCtx * ctx, cairo_surface_t *surface,
diff --git a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch b/yocto-poky/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch
index e6af481ef..6c23071cd 100644
--- a/yocto-poky/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch
+++ b/yocto-poky/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch
@@ -1,4 +1,4 @@
-From 1c38d570b33f2b036d4fa47e929bb2b3264e38bd Mon Sep 17 00:00:00 2001
+From 4e0ce3f22d45033a108cbacca3e5ec6728bd44f3 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 11 Aug 2015 16:25:38 +0300
Subject: [PATCH] configure: add option to enable/disable use of GTK+
@@ -10,19 +10,16 @@ for forcibly controlling whether GTK+ will be used or not.
Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=712693]
Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-Forward-ported to 2.40.10
-
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
-index bf77f3a..ca77de8 100644
+index e61a952..c3aae84 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -128,17 +128,22 @@ AC_CHECK_FUNCS(strtok_r)
+@@ -130,17 +130,22 @@ AC_CHECK_FUNCS(strtok_r)
# GTK
# ===========================================================================
@@ -50,13 +47,13 @@ index bf77f3a..ca77de8 100644
dnl ===========================================================================
dnl GDK-Pixbuf SVG loader
-@@ -289,6 +294,6 @@ librsvg-$VERSION
+@@ -298,6 +303,6 @@ librsvg-$VERSION
Build introspectable bindings: ${found_introspection}
Build Vala bindings: ${enable_vala}
Build GdkPixbuf loader: ${enable_pixbuf_loader}
- GTK+ $GTK3_REQUIRED or later: ${have_gtk_3}
+ GTK+ $GTK3_REQUIRED or later: ${with_gtk_3}
- Build miscellaenous tools: ${build_misc_tools}
+ Build miscellaneous tools: ${build_misc_tools}
"
--
2.1.4
diff --git a/yocto-poky/meta/recipes-gnome/librsvg/librsvg_2.40.10.bb b/yocto-poky/meta/recipes-gnome/librsvg/librsvg_2.40.13.bb
index cb8a73c40..2ac52f779 100644
--- a/yocto-poky/meta/recipes-gnome/librsvg/librsvg_2.40.10.bb
+++ b/yocto-poky/meta/recipes-gnome/librsvg/librsvg_2.40.13.bb
@@ -10,21 +10,15 @@ SECTION = "x11/utils"
DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango"
BBCLASSEXTEND = "native"
-inherit autotools pkgconfig gnomebase gtk-doc pixbufcache
+inherit autotools pkgconfig gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection
-SRC_URI += "file://gtk-option.patch \
- file://CVE-2015-7558_1.patch \
- file://CVE-2015-7558_2.patch \
- file://CVE-2015-7558_3.patch \
- "
+SRC_URI += "file://gtk-option.patch"
-SRC_URI[archive.md5sum] = "fadebe2e799ab159169ee3198415ff85"
-SRC_URI[archive.sha256sum] = "965c807438ce90b204e930ff80c92eba1606a2f6fd5ccfd09335c99896dd3479"
+SRC_URI[archive.md5sum] = "ad03780e12c56e52474d8edf86976c73"
+SRC_URI[archive.sha256sum] = "4d6ea93ec05f5dabe7262d711d246a0a99b2311e215360dd3dcabd6afe3b9804"
CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
-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"
@@ -41,8 +35,6 @@ do_install_append() {
}
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"
diff --git a/yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb b/yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb
deleted file mode 100644
index 8fc00181f..000000000
--- a/yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
-
-inherit gnomebase gtk-doc
-
-DEPENDS = "glib-2.0 libgcrypt gettext-native"
-
-EXTRA_OECONF += "--disable-manpages"
-
-SRC_URI[archive.md5sum] = "23cdf8267d11a26f88f0dbec1e2022ad"
-SRC_URI[archive.sha256sum] = "12fd288b012e1b2b1b54d586cd4c6507885715534644b4534b7ef7d7079ba443"
-
-# http://errors.yoctoproject.org/Errors/Details/20228/
-ARM_INSTRUCTION_SET = "arm"
diff --git a/yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.4.bb b/yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.4.bb
new file mode 100644
index 000000000..beaaba03e
--- /dev/null
+++ b/yocto-poky/meta/recipes-gnome/libsecret/libsecret_0.18.4.bb
@@ -0,0 +1,25 @@
+SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
+
+inherit gnomebase gtk-doc vala gobject-introspection
+
+DEPENDS += "glib-2.0 libgcrypt gettext-native intltool-native"
+
+EXTRA_OECONF += "--disable-manpages"
+
+SRC_URI[archive.md5sum] = "5190da1ee686437046bc10068f120d1d"
+SRC_URI[archive.sha256sum] = "0f29b51698198e6999c91f4adce3119c8c457f546b133a85baea5ea9010a19ed"
+
+# http://errors.yoctoproject.org/Errors/Details/20228/
+ARM_INSTRUCTION_SET = "arm"
+
+# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes
+do_configure_prepend() {
+ rm -f ${S}/build/m4/vapigen.m4
+}
+
+# Secret-1: poky/build-mips64/tmp/work/mips64-poky-linux/libgpg-error/1.19-r0/libgpg-error-1.19/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed.
+# qemu: uncaught target signal 6 (Aborted) - core dumped
+EXTRA_OECONF_append_mips64 = " --disable-introspection"
+
diff --git a/yocto-poky/meta/recipes-gnome/libwnck/libwnck3_3.14.0.bb b/yocto-poky/meta/recipes-gnome/libwnck/libwnck3_3.14.1.bb
index 3ee1ae98a..495894b89 100644
--- a/yocto-poky/meta/recipes-gnome/libwnck/libwnck3_3.14.0.bb
+++ b/yocto-poky/meta/recipes-gnome/libwnck/libwnck3_3.14.1.bb
@@ -5,14 +5,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
BPN = "libwnck"
SECTION = "x11/libs"
-DEPENDS = "gobject-introspection-stub gtk+3 gdk-pixbuf-native libxres"
+DEPENDS = "gtk+3 gdk-pixbuf-native libxres"
PACKAGECONFIG ??= "startup-notification"
PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-inherit gnomebase
-SRC_URI[archive.md5sum] = "4538672e0d775fadedf10abeb8020047"
-SRC_URI[archive.sha256sum] = "f5080076346609b4c36394b879f3a86b92ced3b90a37cb54c8e9a14f00e7921c"
+inherit gnomebase gobject-introspection
+SRC_URI[archive.md5sum] = "d96c0b74c4dc5fdae758964098603c90"
+SRC_URI[archive.sha256sum] = "bb643c9c423c8aa79c59973ce27ce91d3b180d1e9907902278fb79391f52befa"
inherit distro_features_check
# libxres means x11 only
OpenPOWER on IntegriCloud