gtk+: add 2.16.6
authorKoen Kooi <koen@openembedded.org>
Sat, 12 Sep 2009 12:25:51 +0000 (14:25 +0200)
committerKoen Kooi <koen@openembedded.org>
Sat, 12 Sep 2009 12:25:51 +0000 (14:25 +0200)
conf/checksums.ini
recipes/gtk+/gtk+-2.16.6/hardcoded_libtool.patch [new file with mode: 0644]
recipes/gtk+/gtk+-2.16.6/no-demos.patch [new file with mode: 0644]
recipes/gtk+/gtk+-2.16.6/run-iconcache.patch [new file with mode: 0644]
recipes/gtk+/gtk+-2.16.6/toggle-font.diff [new file with mode: 0644]
recipes/gtk+/gtk+_2.16.6.bb [new file with mode: 0644]

index 68fba4f..c86d8ab 100644 (file)
@@ -10362,6 +10362,10 @@ sha256=ff25cbf43dd5c5f8cddc1b2094505c1d079a576b873a6d3d6b62d95da1bdd1d7
 md5=d666f9f5a544e9d4d45804d88b1b5c4d
 sha256=afcdc5b67974054b111a4c283641303647d1ffa5677ffb8c4ce8621f12e17f88
 
+[http://download.gnome.org/sources/gtk+/2.16/gtk+-2.16.6.tar.bz2]
+md5=416412b336d9f3b6b78ca887395d1726
+sha256=18e0f9792028e6cc5108447678f17d396f9a2cdfec1e6ab5dca98cb844f954af
+
 [http://handhelds.org/packages/gtk-2.0/gtk+-2.2.4.diff.bz2]
 md5=c6697665e06cad01e87c2cf8d0913725
 sha256=2a768a45adea587c4a7d6e3c3567ad7961bf7509e118ae62ce32f5369b1aeeb0
@@ -25186,6 +25190,10 @@ sha256=ac091ba9b2e2e9aff293969b3405b145c09789e59ac0caab2247211a19e09a8a
 md5=8ffa2ff763badd5de7592004d8d69a63
 sha256=197c29803790efc0273bb4577d54629d0769a3b49b091c6430eb6704fd69824f
 
+[http://www.lavrsen.dk/foswiki/pub/Motion/VideoFourLinuxLoopbackDevice/vloopback-1.2.tar.gz]
+md5=1b63bf5b3d2b7fae63497d285789aec5
+sha256=d5af0c07aa53a6c93e92a6dd83f34dd9a08a05a0c0169c8ca8b15b023fdadf80
+
 [http://194.213.43.198/vmedit/vmedit-0.02.tar.gz]
 md5=7550ea1dd951d2f7fb1a54caa88860b2
 sha256=bca8b0073d9527c0293b831c9b8d8f89fc3dc7b5ab30898e7b748843af07a978
diff --git a/recipes/gtk+/gtk+-2.16.6/hardcoded_libtool.patch b/recipes/gtk+/gtk+-2.16.6/hardcoded_libtool.patch
new file mode 100644 (file)
index 0000000..82fbbac
--- /dev/null
@@ -0,0 +1,31 @@
+Index: gtk+-2.14.2/configure.in
+===================================================================
+--- gtk+-2.14.2.orig/configure.in      2008-09-23 15:52:44.000000000 +0100
++++ gtk+-2.14.2/configure.in   2008-09-23 15:53:51.000000000 +0100
+@@ -401,7 +401,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
+@@ -759,7 +759,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/'`
+@@ -1893,7 +1893,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//"`
diff --git a/recipes/gtk+/gtk+-2.16.6/no-demos.patch b/recipes/gtk+/gtk+-2.16.6/no-demos.patch
new file mode 100644 (file)
index 0000000..0fc4c48
--- /dev/null
@@ -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
diff --git a/recipes/gtk+/gtk+-2.16.6/run-iconcache.patch b/recipes/gtk+/gtk+-2.16.6/run-iconcache.patch
new file mode 100644 (file)
index 0000000..ac15e9a
--- /dev/null
@@ -0,0 +1,19 @@
+--- /tmp/Makefile.am   2007-01-08 17:44:47.000000000 +0100
++++ gtk+-2.10.7/gtk/Makefile.am        2007-01-08 17:45:17.025251000 +0100
+@@ -1128,11 +1128,11 @@
+          ./gtk-update-icon-cache
+ endif
+-gtkbuiltincache.h: @REBUILD@ stamp-icons
+-      $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
+-      $(gtk_update_icon_cache_program) --force --ignore-theme-index           \
+-         --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_program) --force --ignore-theme-index           \
++#        --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
++#     mv gtkbuiltincache.h.tmp gtkbuiltincache.h
+ EXTRA_DIST +=                   \
+       $(STOCK_ICONS)          \
diff --git a/recipes/gtk+/gtk+-2.16.6/toggle-font.diff b/recipes/gtk+/gtk+-2.16.6/toggle-font.diff
new file mode 100644 (file)
index 0000000..59ad150
--- /dev/null
@@ -0,0 +1,100 @@
+Index: gtk/gtkcellrenderertoggle.c
+===================================================================
+--- gtk/gtkcellrenderertoggle.c        (revision 18523)
++++ gtk/gtkcellrenderertoggle.c        (working copy)
+@@ -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/recipes/gtk+/gtk+_2.16.6.bb b/recipes/gtk+/gtk+_2.16.6.bb
new file mode 100644 (file)
index 0000000..43df738
--- /dev/null
@@ -0,0 +1,65 @@
+require gtk+.inc
+
+DEPENDS += "cairo jasper"
+
+# disabled per default - this uses as little patches as possible
+DEFAULT_PREFERENCE = "-1" 
+
+SRC_URI = "http://download.gnome.org/sources/gtk+/2.16/gtk+-${PV}.tar.bz2 \
+           file://xsettings.patch;patch=1 \
+           file://run-iconcache.patch;patch=1 \
+           file://hardcoded_libtool.patch;patch=1 \
+           file://no-demos.patch;patch=1 \
+           file://toggle-font.diff;patch=1;pnum=0 \
+          "
+
+EXTRA_OECONF = "--with-libtiff --disable-xkb --disable-glibtest --enable-display-migration gio_can_sniff=yes"
+
+LIBV = "2.10.0"
+
+PACKAGES_DYNAMIC = "gtk-module-* gdk-pixbuf-loader-* gtk-immodule-* gtk-printbackend-*"
+
+python populate_packages_prepend () {
+       import os.path
+
+       prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+       gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
+       loaders_root = os.path.join(gtk_libdir, 'loaders')
+       immodules_root = os.path.join(gtk_libdir, 'immodules')
+       printmodules_root = os.path.join(gtk_libdir, 'printbackends');
+       modules_root = bb.data.expand('${libdir}/gtk-2.0/modules/',d)
+
+       do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders', extra_depends='')
+       do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules', extra_depends='')
+       do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s', extra_depends='')
+       do_split_packages(d, modules_root, '^lib(.*)\.so$', 'gtk-module-%s', 'GTK module for %s', extra_depends='')
+
+        if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+                bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
+}
+
+# gail is part of gtk+ since gtk+-2.13.0 (targetting >=GNOME 2.23):
+PROVIDES = "virtual/gail"
+RPROVIDES_${PN} = "libgailutil18"
+RCONFLICTS_${PN} = "libgailutil18"
+RREPLACES_${PN} = "libgailutil18"
+RPROVIDES_${PN}-dev = "libgailutil-dev"
+RCONFLICTS_${PN}-dev = "libgailutil-dev"
+RREPLACES_${PN}-dev = "libgailutil-dev"
+RPROVIDES_${PN}-doc = "libgailutil-doc"
+RCONFLICTS_${PN}-doc = "libgailutil-doc"
+RREPLACES_${PN}-doc = "libgailutil-doc"
+RPROVIDES_${PN}-dbg = "libgailutil-dbg"
+RCONFLICTS_${PN}-dbg = "libgailutil-dbg"
+RREPLACES_${PN}-dbg = "libgailutil-dbg"
+# FIXME: replace locales as well
+
+do_stage_append() {
+
+       # this tool is required by gnome-keyring 2.26.0 to get built
+       # it is written in Python and use only Python xml
+       install -d ${STAGING_BINDIR_NATIVE}
+       install -m 0755 ${S}/gtk/gtk-builder-convert ${STAGING_BINDIR_NATIVE}
+
+}