[oe-commits] org.oe.dev gtk+_2.12.3.bb : latest gtk+, re-enabled cups plugin as its been

xora commit openembedded-commits at lists.openembedded.org
Thu Jan 24 11:36:26 UTC 2008


gtk+_2.12.3.bb : latest gtk+, re-enabled cups plugin as its been
bugfixed.

Author: xora at openembedded.org
Branch: org.openembedded.dev
Revision: 1127757447b9f9ba83e65a54b653b6ef5fa2db5f
ViewMTN: http://monotone.openembedded.org/revision/info/1127757447b9f9ba83e65a54b653b6ef5fa2db5f
Files:
1
packages/gtk+/gtk+-2.12.3
packages/gtk+/gtk+-2.12.3/cellrenderer-cairo.patch
packages/gtk+/gtk+-2.12.3/combo-arrow-size.patch
packages/gtk+/gtk+-2.12.3/disable-print.patch
packages/gtk+/gtk+-2.12.3/entry-cairo.patch
packages/gtk+/gtk+-2.12.3/gtklabel-resize-patch
packages/gtk+/gtk+-2.12.3/hardcoded_libtool.patch
packages/gtk+/gtk+-2.12.3/menu-deactivate.patch
packages/gtk+/gtk+-2.12.3/no-demos.patch
packages/gtk+/gtk+-2.12.3/pangoxft2.10.6.diff
packages/gtk+/gtk+-2.12.3/range-no-redraw.patch
packages/gtk+/gtk+-2.12.3/run-iconcache.patch
packages/gtk+/gtk+-2.12.3/scrolled-placement.patch
packages/gtk+/gtk+-2.12.3/toggle-font.diff
packages/gtk+/gtk+-2.12.3/xsettings.patch
packages/gtk+/gtk+_2.12.3.bb
Diffs:

#
# mt diff -rd01c50d1b11c46a3d67726552fb7fe4ff8ae6da5 -r1127757447b9f9ba83e65a54b653b6ef5fa2db5f
#
# 
# 
# add_dir "packages/gtk+/gtk+-2.12.3"
# 
# add_file "packages/gtk+/gtk+-2.12.3/cellrenderer-cairo.patch"
#  content [f343e9c8fa9252834d1fc2d38498f7ca81027cf7]
# 
# add_file "packages/gtk+/gtk+-2.12.3/combo-arrow-size.patch"
#  content [86b154ddff681414b9ee93698f070af87eba8941]
# 
# add_file "packages/gtk+/gtk+-2.12.3/disable-print.patch"
#  content [15ba697401f4585005e6347d20498c7b1417f917]
# 
# add_file "packages/gtk+/gtk+-2.12.3/entry-cairo.patch"
#  content [7716bcd4fe95b61148fe31a6054081e08dfa616e]
# 
# add_file "packages/gtk+/gtk+-2.12.3/gtklabel-resize-patch"
#  content [f8a32fce3abbb76c766cc6906e0300f3b281cbeb]
# 
# add_file "packages/gtk+/gtk+-2.12.3/hardcoded_libtool.patch"
#  content [c9c51ebeaf32844e38b9cc0062ca09911a680f3a]
# 
# add_file "packages/gtk+/gtk+-2.12.3/menu-deactivate.patch"
#  content [e0d8b253f81a5a01dbf5ffb9cfadda1799d7a3af]
# 
# add_file "packages/gtk+/gtk+-2.12.3/no-demos.patch"
#  content [765d8c563c164194e2b075eb32f57ef54bbba098]
# 
# add_file "packages/gtk+/gtk+-2.12.3/pangoxft2.10.6.diff"
#  content [c646b9f34fcf6fe7f0ddfef6d3ae66dfe24da0ab]
# 
# add_file "packages/gtk+/gtk+-2.12.3/range-no-redraw.patch"
#  content [2a456a9d163cedfca69de0662b26ad7060a41827]
# 
# add_file "packages/gtk+/gtk+-2.12.3/run-iconcache.patch"
#  content [2ab8f280d83e22b887247404cd6d7ac1afc3ed37]
# 
# add_file "packages/gtk+/gtk+-2.12.3/scrolled-placement.patch"
#  content [7258aed311d562ad735d04a51494b529cf66483b]
# 
# add_file "packages/gtk+/gtk+-2.12.3/toggle-font.diff"
#  content [892becbc52bd83e40c849d6d81f6f25f5d1d36ed]
# 
# add_file "packages/gtk+/gtk+-2.12.3/xsettings.patch"
#  content [1492aa80fb7bcb9008296d469f4d55183c904d37]
# 
# add_file "packages/gtk+/gtk+_2.12.3.bb"
#  content [7160ff887391b65883e37a5a1fbb1007a4356f49]
# 
============================================================
--- packages/gtk+/gtk+-2.12.3/cellrenderer-cairo.patch	f343e9c8fa9252834d1fc2d38498f7ca81027cf7
+++ packages/gtk+/gtk+-2.12.3/cellrenderer-cairo.patch	f343e9c8fa9252834d1fc2d38498f7ca81027cf7
@@ -0,0 +1,32 @@
+Index: gtk/gtkcellrenderer.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkcellrenderer.c,v
+retrieving revision 1.55
+diff -u -r1.55 gtkcellrenderer.c
+--- gtk/gtkcellrenderer.c	14 May 2006 04:25:28 -0000	1.55
++++ gtk/gtkcellrenderer.c	30 Jun 2006 10:57:43 -0000
+@@ -551,6 +551,7 @@
+ 
+   if (cell->cell_background_set && !selected)
+     {
++#ifdef USE_CAIRO_INTERNALLY
+       cairo_t *cr = gdk_cairo_create (window);
+ 
+       gdk_cairo_rectangle (cr, background_area);
+@@ -558,6 +559,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,
============================================================
--- packages/gtk+/gtk+-2.12.3/combo-arrow-size.patch	86b154ddff681414b9ee93698f070af87eba8941
+++ packages/gtk+/gtk+-2.12.3/combo-arrow-size.patch	86b154ddff681414b9ee93698f070af87eba8941
@@ -0,0 +1,67 @@
+Index: gtk/gtkcombobox.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkcombobox.c,v
+retrieving revision 1.185
+diff -u -p -r1.185 gtkcombobox.c
+--- gtk/gtkcombobox.c	12 Oct 2006 13:48:07 -0000	1.185
++++ gtk/gtkcombobox.c	1 Nov 2006 19:01:09 -0000
+@@ -756,6 +756,25 @@ gtk_combo_box_class_init (GtkComboBoxCla
+                                                                  FALSE,
+                                                                  GTK_PARAM_READABLE));
+ 
++  /**
++   * GtkComboBox:arrow-size:
++   *
++   * Sets the minimum size of the arrow in the combo box.  Note
++   * that the arrow size is coupled to the font size, so in case
++   * a larger font is used, the arrow will be larger than set
++   * by arrow size.
++   *
++   * Since: 2.12
++   */
++  gtk_widget_class_install_style_property (widget_class,
++					   g_param_spec_int ("arrow-size",
++							     P_("Arrow Size"),
++							     P_("The minimum size of the arrow in the combo box"),
++							     0,
++							     G_MAXINT,
++							     15,
++							     GTK_PARAM_READABLE));
++
+   g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
+ }
+ 
+@@ -1897,7 +1916,12 @@ gtk_combo_box_size_request (GtkWidget   
+ {
+   gint width, height;
+   gint focus_width, focus_pad;
++  gint font_size;
++  gint arrow_size;
+   GtkRequisition bin_req;
++  PangoContext *context;
++  PangoFontMetrics *metrics;
++  PangoFontDescription *font_desc;
+ 
+   GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
+  
+@@ -1910,7 +1934,20 @@ gtk_combo_box_size_request (GtkWidget   
+   gtk_widget_style_get (GTK_WIDGET (widget),
+ 			"focus-line-width", &focus_width,
+ 			"focus-padding", &focus_pad,
++			"arrow-size", &arrow_size,
+ 			NULL);
++
++  font_desc = GTK_BIN (widget)->child->style->font_desc;
++  context = gtk_widget_get_pango_context (widget);
++  metrics = pango_context_get_metrics (context, font_desc,
++				       pango_context_get_language (context));
++  font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
++			    pango_font_metrics_get_descent (metrics));
++  pango_font_metrics_unref (metrics);
++
++  arrow_size = MAX (arrow_size, font_size);
++
++  gtk_widget_set_size_request (combo_box->priv->arrow, arrow_size, arrow_size);
+ 
+   if (!combo_box->priv->tree_view)
+     {
============================================================
--- packages/gtk+/gtk+-2.12.3/disable-print.patch	15ba697401f4585005e6347d20498c7b1417f917
+++ packages/gtk+/gtk+-2.12.3/disable-print.patch	15ba697401f4585005e6347d20498c7b1417f917
@@ -0,0 +1,26 @@
+--- gtk+-2.12.0/configure.in~	2006-07-05 18:11:44.000000000 +0200
++++ gtk+-2.12.0/configure.in	2006-07-05 18:11:44.000000000 +0200
+@@ -1554,22 +1554 @@
+-AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
+-if test "x$CUPS_CONFIG" != "xno"; then
+-  CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
+-  CUPS_LIBS=`cups-config --libs`
+-
+-  CUPS_API_VERSION=`cups-config --api-version`
+-  CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
+-  CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
+-
+-  if test $CUPS_API_MAJOR -gt 1 -o \
+-          $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
+-    AC_DEFINE(HAVE_CUPS_API_1_2)
+-  fi
+-
+-  AC_SUBST(CUPS_API_MAJOR)
+-  AC_SUBST(CUPS_API_MINOR)
+-  AC_SUBST(CUPS_CFLAGS)
+-  AC_SUBST(CUPS_LIBS)
+-
+-  AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]]))
+-fi
+-AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
++AM_CONDITIONAL(HAVE_CUPS, false)
============================================================
--- packages/gtk+/gtk+-2.12.3/entry-cairo.patch	7716bcd4fe95b61148fe31a6054081e08dfa616e
+++ packages/gtk+/gtk+-2.12.3/entry-cairo.patch	7716bcd4fe95b61148fe31a6054081e08dfa616e
@@ -0,0 +1,103 @@
+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
+     }
+ }
+ 
============================================================
--- packages/gtk+/gtk+-2.12.3/gtklabel-resize-patch	f8a32fce3abbb76c766cc6906e0300f3b281cbeb
+++ packages/gtk+/gtk+-2.12.3/gtklabel-resize-patch	f8a32fce3abbb76c766cc6906e0300f3b281cbeb
@@ -0,0 +1,10 @@
+--- gtk+-2.4.3/gtk/gtklabel.c~	2004-06-11 13:50:34.000000000 +0100
++++ gtk+-2.4.3/gtk/gtklabel.c	2004-07-05 13:33:57.000000000 +0100
+@@ -1623,6 +1623,7 @@
+ 
+   /* We have to clear the layout, fonts etc. may have changed */
+   gtk_label_clear_layout (label);
++  gtk_widget_queue_resize (GTK_WIDGET (label));
+ }
+ 
+ static void 
============================================================
--- packages/gtk+/gtk+-2.12.3/hardcoded_libtool.patch	c9c51ebeaf32844e38b9cc0062ca09911a680f3a
+++ packages/gtk+/gtk+-2.12.3/hardcoded_libtool.patch	c9c51ebeaf32844e38b9cc0062ca09911a680f3a
@@ -0,0 +1,29 @@
+--- /tmp/configure.in	2007-01-08 17:50:49.000000000 +0100
++++ gtk+-2.10.7/configure.in	2007-01-08 17:52:33.495251000 +0100
+@@ -371,7 +371,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
+@@ -773,7 +773,7 @@
+     dnl Now we check to see if our libtool supports shared lib deps
+     dnl (in a rather ugly way even)
+     if $dynworks; then
+-        pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++        pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
+         pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+             grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+             sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1611,7 +1611,7 @@
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+ export SED
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+   GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
+   GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
============================================================
--- packages/gtk+/gtk+-2.12.3/menu-deactivate.patch	e0d8b253f81a5a01dbf5ffb9cfadda1799d7a3af
+++ packages/gtk+/gtk+-2.12.3/menu-deactivate.patch	e0d8b253f81a5a01dbf5ffb9cfadda1799d7a3af
@@ -0,0 +1,51 @@
+--- gtk+-2.10.0/gtk/gtkmenushell.c.orig	2006-07-05 17:17:34.000000000 +0200
++++ gtk+-2.10.0/gtk/gtkmenushell.c	2006-07-05 17:19:01.000000000 +0200
+@@ -42,7 +42,7 @@
+ #include "gtkintl.h"
+ #include "gtkalias.h"
+ 
+-#define MENU_SHELL_TIMEOUT   500
++#define MENU_SHELL_TIMEOUT   2000
+ 
+ #define PACK_DIRECTION(m)                                 \
+    (GTK_IS_MENU_BAR (m)                                   \
+@@ -203,6 +203,8 @@
+ 
+ G_DEFINE_TYPE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER)
+ 
++static int last_crossing_time;
++
+ static void
+ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
+ {
+@@ -517,6 +519,7 @@
+       gtk_grab_add (GTK_WIDGET (menu_shell));
+       menu_shell->have_grab = TRUE;
+       menu_shell->active = TRUE;
++      last_crossing_time = 0;
+     }
+ }
+ 
+@@ -669,6 +672,13 @@
+ 	  menu_shell->activate_time = 0;
+ 	  deactivate = FALSE;
+ 	}
++
++      if (last_crossing_time != 0
++	  && ((event->time - last_crossing_time) < 500))
++	{
++	  last_crossing_time = 0;
++	  deactivate = FALSE;
++	}
+       
+       if (deactivate)
+ 	{
+@@ -716,6 +726,8 @@
+     {
+       menu_item = gtk_get_event_widget ((GdkEvent*) event);
+ 
++      last_crossing_time = event->time;
++
+       if (!menu_item ||
+ 	  (GTK_IS_MENU_ITEM (menu_item) && 
+ 	   !_gtk_menu_item_is_selectable (menu_item)))
============================================================
--- packages/gtk+/gtk+-2.12.3/no-demos.patch	765d8c563c164194e2b075eb32f57ef54bbba098
+++ packages/gtk+/gtk+-2.12.3/no-demos.patch	765d8c563c164194e2b075eb32f57ef54bbba098
@@ -0,0 +1,10 @@
+--- gtk+-2.10.1/Makefile.am.orig	2006-08-08 12:37:30.000000000 +0100
++++ gtk+-2.10.1/Makefile.am	2006-08-08 12:37:48.000000000 +0100
+@@ -1,6 +1,6 @@
+ ## Makefile.am for GTK+
+ 
+-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
++SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
+ 
+ # require automake 1.4
============================================================
--- packages/gtk+/gtk+-2.12.3/pangoxft2.10.6.diff	c646b9f34fcf6fe7f0ddfef6d3ae66dfe24da0ab
+++ packages/gtk+/gtk+-2.12.3/pangoxft2.10.6.diff	c646b9f34fcf6fe7f0ddfef6d3ae66dfe24da0ab
@@ -0,0 +1,2456 @@
+http://mail.gnome.org/archives/performance-list/2006-October/msg00063.html
+
+From: Xan Lópe
+To: ext Matt Hoosier
+Cc: performance-list gnome org
+Subject: Re: [patch] Remove pangocairo from Gtk+ 2.8.20
+Date: Mon, 30 Oct 2006 14:31:56 +0200
+Hi,
+
+I've upgraded your patch against GTK+ 2.10.6, and we are getting great
+performance figures compared to GTK+ 2.10.6 with pangocairo too
+(basically at the level of GTK+ 2.6.10 again). Right now I'm working on
+a python/cairo script to get some nice graphics from a torture test
+session with several GTK+s, hope to get it ready soon.
+
+Index: gtk+-2.10.6/configure.in
+===================================================================
+--- gtk+-2.10.6.orig/configure.in	2006-10-30 12:59:28.000000000 +0000
++++ gtk+-2.10.%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list