From 9299b5d2e5f82cf0e3f66ca49dedbe2c8b18bb44 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 19 Dec 2014 19:52:36 +0000 Subject: gtk+: upgrade to 2.24.25 Remove patches that are no longer needed: * GtkButton-do-no-prelight: merged upstream * Duplicate-the-exec-string: upstream decided this behaviour is incorrect * cellrenderer-cairo: Cairo isn't the performance bottleneck it once was, drop * configure-nm: resolved upstrea * configurefix.patch: not applied * run-iconcache: not needed when building tarballs, and if gtk-update-icon-cache is needed at build time (e.g. user is customising default icon theme) then they can add a dependency on gtk-update-icon-cache-native. Also remove mention of patches that have been commented out for a long time. Signed-off-by: Ross Burton --- ...utton-do-not-prelight-in-touchscreen-mode.patch | 48 ---------- ...Duplicate-the-exec-string-returned-by-gtk.patch | 30 ------ .../gtk+/gtk+-2.24.24/cellrenderer-cairo.patch | 31 ------ .../gtk+/gtk+-2.24.24/configure-nm.patch | 21 ----- .../gtk+/gtk+-2.24.24/configurefix.patch | 87 ----------------- .../gtk+/gtk+-2.24.24/doc-fixes.patch | 22 ----- .../gtk+/gtk+-2.24.24/entry-cairo.patch | 105 --------------------- .../gtk+/gtk+-2.24.24/hardcoded_libtool.patch | 35 ------- .../gtk+/gtk+-2.24.24/run-iconcache.patch | 24 ----- .../gtk+/gtk+-2.24.24/toggle-font.diff | 102 -------------------- .../gtk+/gtk+-2.24.24/xsettings.patch | 20 ---- meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch | 22 +++++ .../gtk+/gtk+/hardcoded_libtool.patch | 35 +++++++ meta/recipes-gnome/gtk+/gtk+/toggle-font.diff | 102 ++++++++++++++++++++ meta/recipes-gnome/gtk+/gtk+/xsettings.patch | 20 ++++ meta/recipes-gnome/gtk+/gtk+_2.24.24.bb | 50 ---------- meta/recipes-gnome/gtk+/gtk+_2.24.25.bb | 33 +++++++ 17 files changed, 212 insertions(+), 575 deletions(-) delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch create mode 100644 meta/recipes-gnome/gtk+/gtk+/toggle-font.diff create mode 100644 meta/recipes-gnome/gtk+/gtk+/xsettings.patch delete mode 100644 meta/recipes-gnome/gtk+/gtk+_2.24.24.bb create mode 100644 meta/recipes-gnome/gtk+/gtk+_2.24.25.bb diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch deleted file mode 100644 index 71e334d897..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d1f7a894674dfdd6769f1bbae31eb1a69e451a5c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Fri, 16 Nov 2012 22:07:28 +0100 -Subject: [PATCH] GtkButton: do not prelight in touchscreen mode -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Code was copied from GtkToggleButton. - -Upstream-Status: submitted [1] - -[1] https://bugzilla.gnome.org/show_bug.cgi?id=689138 - -Signed-off-by: Andreas Müller ---- - gtk/gtkbutton.c | 8 ++++++-- - 1 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c -index f472007..1beb1b6 100644 ---- a/gtk/gtkbutton.c -+++ b/gtk/gtkbutton.c -@@ -2079,15 +2079,19 @@ _gtk_button_set_depressed (GtkButton *button, - static void - gtk_button_update_state (GtkButton *button) - { -- gboolean depressed; -+ gboolean depressed, touchscreen; - GtkStateType new_state; - -+ g_object_get (gtk_widget_get_settings (GTK_WIDGET (button)), -+ "gtk-touchscreen-mode", &touchscreen, -+ NULL); -+ - if (button->activate_timeout) - depressed = button->depress_on_activate; - else - depressed = button->in_button && button->button_down; - -- if (button->in_button && (!button->button_down || !depressed)) -+ if (!touchscreen && button->in_button && (!button->button_down || !depressed)) - new_state = GTK_STATE_PRELIGHT; - else - new_state = depressed ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL; --- -1.7.6.5 - diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch deleted file mode 100644 index 354f0ab376..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 69b9441eab2a7215509687dc22b48b6f212d22aa Mon Sep 17 00:00:00 2001 -From: Rob Bradford -Date: Thu, 4 Jun 2009 15:43:20 +0100 -Subject: [PATCH] =?utf-8?q?bgo#584832=20=E2=80=93=20Duplicate=20the=20exec=20string=20returned=20by=20gtk=5Frecent=5Finfo=5Fget=5Fapplication=5Finfo?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: 8bit - -This function states that the caller is responsible for freeing the string -passed returned by reference. Unfortunately if you do this you get a crash -since the internal value is returned without being duplicated. ---- - gtk/gtkrecentmanager.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -Upstream-Status: Pending - -Index: gtk+-2.21.2/gtk/gtkrecentmanager.c -=================================================================== ---- gtk+-2.21.2.orig/gtk/gtkrecentmanager.c 2010-06-22 18:11:30.000000000 +0800 -+++ gtk+-2.21.2/gtk/gtkrecentmanager.c 2010-06-22 18:11:53.000000000 +0800 -@@ -1766,7 +1766,7 @@ - } - - if (app_exec) -- *app_exec = ai->exec; -+ *app_exec = g_strdup (ai->exec); - - if (count) - *count = ai->count; diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch deleted file mode 100644 index ba893292d6..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/cellrenderer-cairo.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Pending - -Index: gtk/gtkcellrenderer.c -=================================================================== ---- gtk/gtkcellrenderer.c.orig 2010-06-22 17:21:22.000000000 +0800 -+++ gtk/gtkcellrenderer.c 2010-06-22 17:21:25.000000000 +0800 -@@ -566,6 +566,7 @@ - - if (cell->cell_background_set && !selected) - { -+#ifdef USE_CAIRO_INTERNALLY - cairo_t *cr = gdk_cairo_create (window); - - gdk_cairo_rectangle (cr, background_area); -@@ -573,6 +574,16 @@ - cairo_fill (cr); - - cairo_destroy (cr); -+#else -+ GdkGC *gc; -+ -+ gc = gdk_gc_new (window); -+ gdk_gc_set_rgb_fg_color (gc, &priv->cell_background); -+ gdk_draw_rectangle (window, gc, TRUE, -+ background_area->x, background_area->y, -+ background_area->width, background_area->height); -+ g_object_unref (gc); -+#endif - } - - GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell, diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch deleted file mode 100644 index d67b797852..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/configure-nm.patch +++ /dev/null @@ -1,21 +0,0 @@ -Upstream-Status: Pending -https://bugzilla.gnome.org/show_bug.cgi?id=671515 - -Signed-Off-By: Xiaofeng Yan -# Pick up ${NM} from the environment - -Updated to apply to gtk+-2.24.15 - -Signed-off-by: Marko Lindqvist -diff -Nurd gtk+-2.24.15/configure.ac gtk+-2.24.15/configure.ac ---- gtk+-2.24.15/configure.ac 2013-01-12 20:52:54.000000000 +0200 -+++ gtk+-2.24.15/configure.ac 2013-02-12 21:25:06.073937041 +0200 -@@ -190,7 +190,7 @@ - AC_SYS_LARGEFILE - - AM_PROG_AS --AC_PATH_PROG(NM, nm, nm) -+AC_CHECK_TOOLS(NM, [$NM nm], nm) - - dnl Initialize maintainer mode - AM_MAINTAINER_MODE([enable]) diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch deleted file mode 100644 index 2803691246..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/configurefix.patch +++ /dev/null @@ -1,87 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: gtk+-2.21.2/docs/faq/Makefile.am -=================================================================== ---- gtk+-2.21.2.orig/docs/faq/Makefile.am 2010-04-09 10:29:53.000000000 +0800 -+++ gtk+-2.21.2/docs/faq/Makefile.am 2010-06-22 17:39:24.000000000 +0800 -@@ -3,34 +3,36 @@ - EXTRA_DIST += \ - gtk-faq.sgml - --if HAVE_DOCBOOK -+ - html: -+if HAVE_DOCBOOK - if test -w $(srcdir); then \ - (cd $(srcdir); \ - db2html gtk-faq.sgml; \ - test -d html && rm -r html; \ - mv gtk-faq html); \ - fi -- --pdf: -- if test -w $(srcdir); then \ -- (cd $(srcdir); db2pdf gtk-faq.sgml); \ -- fi -- --dist-hook: html -- cp -Rp $(srcdir)/html $(distdir) - else --html: - echo "***" - echo "*** Warning: FAQ not built" - echo "***" -+endif - - pdf: -+if HAVE_DOCBOOK -+ if test -w $(srcdir); then \ -+ (cd $(srcdir); db2pdf gtk-faq.sgml); \ -+ fi -+else - echo "***" - echo "*** Warning: FAQ not built" - echo "***" -+endif - --dist-hook: -+dist-hook: html -+if HAVE_DOCBOOK -+ cp -Rp $(srcdir)/html $(distdir) -+else - echo "***" - echo "*** Warning: FAQ not built" - echo "*** DISTRIBUTION IS INCOMPLETE" -Index: gtk+-2.21.2/gtk-doc.make -=================================================================== ---- gtk+-2.21.2.orig/gtk-doc.make 2010-05-28 00:01:48.000000000 +0800 -+++ gtk+-2.21.2/gtk-doc.make 2010-06-22 17:39:24.000000000 +0800 -@@ -23,7 +23,7 @@ - - TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) - --EXTRA_DIST = \ -+EXTRA_DIST += \ - $(content_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ -Index: gtk+-2.21.2/gtk/tests/Makefile.am -=================================================================== ---- gtk+-2.21.2.orig/gtk/tests/Makefile.am 2010-06-10 20:53:46.000000000 +0800 -+++ gtk+-2.21.2/gtk/tests/Makefile.am 2010-06-22 17:39:24.000000000 +0800 -@@ -58,13 +58,13 @@ - # this doesn't work in make distcheck, since running - # on a naked X server creates slightly different event - # sequences than running on a normal desktop --# TEST_PROGS += crossingevents -+#TEST_PROGS += crossingevents - crossingevents_SOURCES = crossingevents.c - crossingevents_LDADD = $(progs_ldadd) - - # this doesn't work in make distcheck, since it doesn't - # find file-chooser-test-dir --# TEST_PROGS += filechooser -+#TEST_PROGS += filechooser - filechooser_SOURCES = filechooser.c pixbuf-init.c - filechooser_LDADD = $(progs_ldadd) - diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch deleted file mode 100644 index 74e479fd1b..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/doc-fixes.patch +++ /dev/null @@ -1,22 +0,0 @@ -There are issues building the gtk+ tutorial and faq documentation. -Since they were removed in gtk+ upstream and are superfluous in -embedded applications, just don't build them. - -Thanks to Joshua Lock for suggesting this approach. - -Signed-off-by: Scott Garman - -Upstream-Status: Inappropriate [embedded specific] - -diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am ---- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800 -+++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800 -@@ -1,7 +1,7 @@ - ## Process this file with automake to produce Makefile.in - include $(top_srcdir)/Makefile.decl - --SUBDIRS = tutorial faq reference tools -+SUBDIRS = reference tools - - EXTRA_DIST += \ - defsformat.txt \ diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch deleted file mode 100644 index 3083b77830..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/entry-cairo.patch +++ /dev/null @@ -1,105 +0,0 @@ -Upstream-Status: Pending - -Index: gtk/gtkentry.c -=================================================================== -RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v -retrieving revision 1.317 -diff -u -r1.317 gtkentry.c ---- gtk/gtkentry.c 29 Jun 2006 09:18:05 -0000 1.317 -+++ gtk/gtkentry.c 2 Jul 2006 14:14:24 -0000 -@@ -3337,7 +3337,9 @@ - if (GTK_WIDGET_DRAWABLE (entry)) - { - PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE); -+#ifdef USE_CAIRO_INTERNALLY - cairo_t *cr; -+#endif - gint x, y; - gint start_pos, end_pos; - -@@ -3345,23 +3347,35 @@ - - get_layout_position (entry, &x, &y); - -+#ifdef USE_CAIRO_INTERNALLY - cr = gdk_cairo_create (entry->text_area); - - cairo_move_to (cr, x, y); - gdk_cairo_set_source_color (cr, &widget->style->text [widget->state]); - pango_cairo_show_layout (cr, layout); -+#else -+ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state], -+ x, y, -+ layout); -+#endif - - if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos)) - { - gint *ranges; - gint n_ranges, i; - PangoRectangle logical_rect; -- GdkColor *selection_color, *text_color; - GtkBorder inner_border; -+#ifdef USE_CAIRO_INTERNALLY -+ GdkColor *selection_color, *text_color; -+#else -+ GdkGC *selection_gc, *text_gc; -+ GdkRegion *clip_region; -+#endif - - pango_layout_get_pixel_extents (layout, NULL, &logical_rect); - gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges); - -+#ifdef USE_CAIRO_INTERNALLY - if (GTK_WIDGET_HAS_FOCUS (entry)) - { - selection_color = &widget->style->base [GTK_STATE_SELECTED]; -@@ -3390,11 +3404,46 @@ - cairo_move_to (cr, x, y); - gdk_cairo_set_source_color (cr, text_color); - pango_cairo_show_layout (cr, layout); -- -+#else -+ if (GTK_WIDGET_HAS_FOCUS (entry)) -+ { -+ selection_gc = widget->style->base_gc [GTK_STATE_SELECTED]; -+ text_gc = widget->style->text_gc [GTK_STATE_SELECTED]; -+ } -+ else -+ { -+ selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE]; -+ text_gc = widget->style->text_gc [GTK_STATE_ACTIVE]; -+ } -+ -+ clip_region = gdk_region_new (); -+ for (i = 0; i < n_ranges; ++i) -+ { -+ GdkRectangle rect; -+ -+ rect.x = inner_border.left - entry->scroll_offset + ranges[2 * i]; -+ rect.y = y; -+ rect.width = ranges[2 * i + 1]; -+ rect.height = logical_rect.height; -+ -+ gdk_draw_rectangle (entry->text_area, selection_gc, TRUE, -+ rect.x, rect.y, rect.width, rect.height); -+ -+ gdk_region_union_with_rect (clip_region, &rect); -+ } -+ -+ gdk_gc_set_clip_region (text_gc, clip_region); -+ gdk_draw_layout (entry->text_area, text_gc, -+ x, y, -+ layout); -+ gdk_gc_set_clip_region (text_gc, NULL); -+ gdk_region_destroy (clip_region); -+#endif - g_free (ranges); - } -- -+#ifdef USE_CAIRO_INTERNALLY - cairo_destroy (cr); -+#endif - } - } - diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch deleted file mode 100644 index 1ae728e70d..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/hardcoded_libtool.patch +++ /dev/null @@ -1,35 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -Updated to apply to gtk+-2.24.15 - -Signed-off-by: Marko Lindqvist -diff -Nurd gtk+-2.24.15/configure.ac gtk+-2.24.15/configure.ac ---- gtk+-2.24.15/configure.ac 2013-01-12 20:52:54.000000000 +0200 -+++ gtk+-2.24.15/configure.ac 2013-02-12 21:33:30.689925967 +0200 -@@ -415,7 +415,7 @@ - case $enable_explicit_deps in - auto) - export SED -- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` -+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` - if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then - enable_explicit_deps=yes - else -@@ -774,7 +774,7 @@ - dnl Now we check to see if our libtool supports shared lib deps - dnl (in a rather ugly way even) - if $dynworks; then -- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" -+ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config" - module_deplibs_check=`$module_libtool_config | \ - grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ - sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` -@@ -1574,7 +1574,7 @@ - # We are using gmodule-no-export now, but I'm leaving the stripping - # code in place for now, since pango and atk still require gmodule. - export SED --export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` -+export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` - if test -n "$export_dynamic"; then - GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` - GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch deleted file mode 100644 index a4e2254c59..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/run-iconcache.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -diff -Nurd gtk+-2.24.24/gtk/Makefile.am gtk+-2.24.24/gtk/Makefile.am ---- gtk+-2.24.24/gtk/Makefile.am 2014-06-23 18:08:14.000000000 +0300 -+++ gtk+-2.24.24/gtk/Makefile.am 2014-09-03 23:45:12.669307700 +0300 -@@ -1391,12 +1391,12 @@ - ./gtk-update-icon-cache - endif - --gtkbuiltincache.h: @REBUILD@ stamp-icons -- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) -- $(gtk_update_icon_cache_program) --force --ignore-theme-index \ -- --include-image-data \ -- --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ -- mv gtkbuiltincache.h.tmp gtkbuiltincache.h -+#gtkbuiltincache.h: @REBUILD@ stamp-icons -+# $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) -+# $(gtk_update_icon_cache_program) --force --ignore-theme-index \ -+# --include-image-data \ -+# --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ -+# mv gtkbuiltincache.h.tmp gtkbuiltincache.h - - EXTRA_DIST += \ - $(STOCK_ICONS) \ diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff deleted file mode 100644 index 340d12008b..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/toggle-font.diff +++ /dev/null @@ -1,102 +0,0 @@ -Upstream-Status: Pending - -Index: gtk/gtkcellrenderertoggle.c -=================================================================== ---- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800 -+++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800 -@@ -71,6 +71,8 @@ - PROP_INDICATOR_SIZE - }; - -+/* This is a hard-coded default which promptly gets overridden by a size -+ calculated from the font size. */ - #define TOGGLE_WIDTH 13 - - static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; -@@ -80,8 +82,9 @@ - typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; - struct _GtkCellRendererTogglePrivate - { -- gint indicator_size; -- -+ gint indicator_size; /* This is the real size */ -+ gint override_size; /* This is the size set from the indicator-size property */ -+ GtkWidget *cached_widget; - guint inconsistent : 1; - }; - -@@ -104,6 +107,7 @@ - GTK_CELL_RENDERER (celltoggle)->ypad = 2; - - priv->indicator_size = TOGGLE_WIDTH; -+ priv->override_size = 0; - priv->inconsistent = FALSE; - } - -@@ -210,7 +214,7 @@ - g_value_set_boolean (value, celltoggle->radio); - break; - case PROP_INDICATOR_SIZE: -- g_value_set_int (value, priv->indicator_size); -+ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -@@ -245,7 +249,7 @@ - celltoggle->radio = g_value_get_boolean (value); - break; - case PROP_INDICATOR_SIZE: -- priv->indicator_size = g_value_get_int (value); -+ priv->override_size = g_value_get_int (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -@@ -273,6 +277,27 @@ - } - - static void -+on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data) -+{ -+ GtkCellRendererTogglePrivate *priv = user_data; -+ PangoContext *context; -+ PangoFontMetrics *metrics; -+ int height; -+ -+ context = gtk_widget_get_pango_context (widget); -+ metrics = pango_context_get_metrics (context, -+ widget->style->font_desc, -+ pango_context_get_language (context)); -+ -+ height = pango_font_metrics_get_ascent (metrics) + -+ pango_font_metrics_get_descent (metrics); -+ -+ pango_font_metrics_unref (metrics); -+ -+ priv->indicator_size = PANGO_PIXELS (height * 0.85); -+} -+ -+static void - gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell, - GtkWidget *widget, - GdkRectangle *cell_area, -@@ -287,6 +312,20 @@ - - priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); - -+ if (priv->override_size) { -+ priv->indicator_size = priv->override_size; -+ } else if (priv->cached_widget != widget) { -+ if (priv->cached_widget) { -+ g_object_remove_weak_pointer (widget, &priv->cached_widget); -+ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv); -+ } -+ priv->cached_widget = widget; -+ g_object_add_weak_pointer (widget, &priv->cached_widget); -+ g_signal_connect (widget, "style-set", on_widget_style_set, priv); -+ -+ on_widget_style_set (widget, NULL, priv); -+ } -+ - calc_width = (gint) cell->xpad * 2 + priv->indicator_size; - calc_height = (gint) cell->ypad * 2 + priv->indicator_size; - diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch deleted file mode 100644 index d0a970ad4d..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+-2.24.24/xsettings.patch +++ /dev/null @@ -1,20 +0,0 @@ -Upstream-Status: Pending - -Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c -=================================================================== ---- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800 -+++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800 -@@ -3062,10 +3062,9 @@ - { - GdkScreenX11 *screen = data; - -- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) -- return GDK_FILTER_REMOVE; -- else -- return GDK_FILTER_CONTINUE; -+ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent); -+ -+ return GDK_FILTER_CONTINUE; - } - - static Bool diff --git a/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch new file mode 100644 index 0000000000..74e479fd1b --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch @@ -0,0 +1,22 @@ +There are issues building the gtk+ tutorial and faq documentation. +Since they were removed in gtk+ upstream and are superfluous in +embedded applications, just don't build them. + +Thanks to Joshua Lock for suggesting this approach. + +Signed-off-by: Scott Garman + +Upstream-Status: Inappropriate [embedded specific] + +diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am +--- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800 ++++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800 +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in + include $(top_srcdir)/Makefile.decl + +-SUBDIRS = tutorial faq reference tools ++SUBDIRS = reference tools + + EXTRA_DIST += \ + defsformat.txt \ diff --git a/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch new file mode 100644 index 0000000000..1ae728e70d --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch @@ -0,0 +1,35 @@ +Upstream-Status: Inappropriate [embedded specific] + +Updated to apply to gtk+-2.24.15 + +Signed-off-by: Marko Lindqvist +diff -Nurd gtk+-2.24.15/configure.ac gtk+-2.24.15/configure.ac +--- gtk+-2.24.15/configure.ac 2013-01-12 20:52:54.000000000 +0200 ++++ gtk+-2.24.15/configure.ac 2013-02-12 21:33:30.689925967 +0200 +@@ -415,7 +415,7 @@ + case $enable_explicit_deps in + auto) + export SED +- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` ++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` + if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then + enable_explicit_deps=yes + else +@@ -774,7 +774,7 @@ + dnl Now we check to see if our libtool supports shared lib deps + dnl (in a rather ugly way even) + if $dynworks; then +- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" ++ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config" + module_deplibs_check=`$module_libtool_config | \ + grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ + sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` +@@ -1574,7 +1574,7 @@ + # We are using gmodule-no-export now, but I'm leaving the stripping + # code in place for now, since pango and atk still require gmodule. + export SED +-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + if test -n "$export_dynamic"; then + GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` + GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` diff --git a/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff new file mode 100644 index 0000000000..340d12008b --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff @@ -0,0 +1,102 @@ +Upstream-Status: Pending + +Index: gtk/gtkcellrenderertoggle.c +=================================================================== +--- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800 ++++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800 +@@ -71,6 +71,8 @@ + PROP_INDICATOR_SIZE + }; + ++/* This is a hard-coded default which promptly gets overridden by a size ++ calculated from the font size. */ + #define TOGGLE_WIDTH 13 + + static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; +@@ -80,8 +82,9 @@ + typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; + struct _GtkCellRendererTogglePrivate + { +- gint indicator_size; +- ++ gint indicator_size; /* This is the real size */ ++ gint override_size; /* This is the size set from the indicator-size property */ ++ GtkWidget *cached_widget; + guint inconsistent : 1; + }; + +@@ -104,6 +107,7 @@ + GTK_CELL_RENDERER (celltoggle)->ypad = 2; + + priv->indicator_size = TOGGLE_WIDTH; ++ priv->override_size = 0; + priv->inconsistent = FALSE; + } + +@@ -210,7 +214,7 @@ + g_value_set_boolean (value, celltoggle->radio); + break; + case PROP_INDICATOR_SIZE: +- g_value_set_int (value, priv->indicator_size); ++ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -245,7 +249,7 @@ + celltoggle->radio = g_value_get_boolean (value); + break; + case PROP_INDICATOR_SIZE: +- priv->indicator_size = g_value_get_int (value); ++ priv->override_size = g_value_get_int (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -273,6 +277,27 @@ + } + + static void ++on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data) ++{ ++ GtkCellRendererTogglePrivate *priv = user_data; ++ PangoContext *context; ++ PangoFontMetrics *metrics; ++ int height; ++ ++ context = gtk_widget_get_pango_context (widget); ++ metrics = pango_context_get_metrics (context, ++ widget->style->font_desc, ++ pango_context_get_language (context)); ++ ++ height = pango_font_metrics_get_ascent (metrics) + ++ pango_font_metrics_get_descent (metrics); ++ ++ pango_font_metrics_unref (metrics); ++ ++ priv->indicator_size = PANGO_PIXELS (height * 0.85); ++} ++ ++static void + gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, +@@ -287,6 +312,20 @@ + + priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); + ++ if (priv->override_size) { ++ priv->indicator_size = priv->override_size; ++ } else if (priv->cached_widget != widget) { ++ if (priv->cached_widget) { ++ g_object_remove_weak_pointer (widget, &priv->cached_widget); ++ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv); ++ } ++ priv->cached_widget = widget; ++ g_object_add_weak_pointer (widget, &priv->cached_widget); ++ g_signal_connect (widget, "style-set", on_widget_style_set, priv); ++ ++ on_widget_style_set (widget, NULL, priv); ++ } ++ + calc_width = (gint) cell->xpad * 2 + priv->indicator_size; + calc_height = (gint) cell->ypad * 2 + priv->indicator_size; + diff --git a/meta/recipes-gnome/gtk+/gtk+/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+/xsettings.patch new file mode 100644 index 0000000000..d0a970ad4d --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+/xsettings.patch @@ -0,0 +1,20 @@ +Upstream-Status: Pending + +Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c +=================================================================== +--- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800 ++++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800 +@@ -3062,10 +3062,9 @@ + { + GdkScreenX11 *screen = data; + +- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) +- return GDK_FILTER_REMOVE; +- else +- return GDK_FILTER_CONTINUE; ++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent); ++ ++ return GDK_FILTER_CONTINUE; + } + + static Bool diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.24.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.24.bb deleted file mode 100644 index 7d0a0a2a8d..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+_2.24.24.bb +++ /dev/null @@ -1,50 +0,0 @@ -require gtk+.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \ - file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \ - file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c" -SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \ - file://xsettings.patch \ - file://run-iconcache.patch \ - file://configure-nm.patch \ - file://hardcoded_libtool.patch \ - file://cellrenderer-cairo.patch;striplevel=0 \ - file://toggle-font.diff;striplevel=0 \ - file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \ - file://doc-fixes.patch \ - file://0001-GtkButton-do-not-prelight-in-touchscreen-mode.patch \ - " - -# TO MERGE -# file://entry-cairo.patch;striplevel=0 -# file://filesystem-volumes.patch -# file://filechooser-props.patch -# file://filechooser-default.patch -# file://filechooser-sizefix.patch -# temporary -# file://gtklabel-resize-patch -# file://menu-deactivate.patch -# file://combo-arrow-size.patch;striplevel=0 -# file://configurefix.patch - -SRC_URI[md5sum] = "f80ac8aa95ea8482ad89656d0370752e" -SRC_URI[sha256sum] = "12ceb2e198c82bfb93eb36348b6e9293c8fdcd60786763d04cfec7ebe7ed3d6d" - -EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama" - -LIBV = "2.10.0" - -PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*" - -python populate_packages_prepend () { - gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}') - immodules_root = os.path.join(gtk_libdir, 'immodules') - printmodules_root = os.path.join(gtk_libdir, 'printbackends'); - - d.setVar('GTKIMMODULES_PACKAGES', ' '.join(do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s'))) - do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s') - - if (d.getVar('DEBIAN_NAMES', True)): - d.setVar('PKG_${PN}', '${MLPREFIX}libgtk-2.0') -} diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.25.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.25.bb new file mode 100644 index 0000000000..ada79567e7 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+_2.24.25.bb @@ -0,0 +1,33 @@ +require gtk+.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \ + file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \ + file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c" +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \ + file://xsettings.patch \ + file://hardcoded_libtool.patch \ + file://toggle-font.diff;striplevel=0 \ + file://doc-fixes.patch \ + " + +SRC_URI[md5sum] = "612350704dd3aacb95355a4981930c6f" +SRC_URI[sha256sum] = "38af1020cb8ff3d10dda2c8807f11e92af9d2fa4045de61c62eedb7fbc7ea5b3" + +EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama" + +LIBV = "2.10.0" + +PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*" + +python populate_packages_prepend () { + gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}') + immodules_root = os.path.join(gtk_libdir, 'immodules') + printmodules_root = os.path.join(gtk_libdir, 'printbackends'); + + d.setVar('GTKIMMODULES_PACKAGES', ' '.join(do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s'))) + do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s') + + if (d.getVar('DEBIAN_NAMES', True)): + d.setVar('PKG_${PN}', '${MLPREFIX}libgtk-2.0') +} -- cgit 1.2.3-korg