diff options
Diffstat (limited to 'yocto-poky/meta/recipes-gnome')
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 |