File gir-repository-git-3d7f6656-20100918.patch of Package gir-repository

diff --git a/configure.ac b/configure.ac
index 557e760..f52d1f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@
 dnl the gr version number
 m4_define(gr_major_version, 0)
 m4_define(gr_minor_version, 6)
-m4_define(gr_micro_version, 5)
+m4_define(gr_micro_version, 5)
 m4_define(gr_version, gr_major_version.gr_minor_version.gr_micro_version)
 
 AC_PREREQ(2.59)
@@ -18,39 +18,45 @@ AC_CONFIG_HEADER([config.h])
 AC_CONFIG_MACRO_DIR([m4])
 
 # GObject Introspection
-GOBJECT_INTROSPECTION_REQUIRE(0.6.5)
+GOBJECT_INTROSPECTION_REQUIRE(0.9.5)
+
+AC_ARG_WITH([skipped-gir-modules], [AS_HELP_STRING([--with-skipped-gir-modules], [Comma-separated list of namespaces to skip building (e.g. "Pango,Gst")])], [], [])
+# This way we can grep for ,foo,
+with_skipped_gir_modules=,$with_skipped_gir_modules,
+
+m4_define([GIR_CHECK], [
+  m4_define([modname], m4_if([$3], [],
+    translit($1, 'a-z', 'A-Z'),
+    [$3]))
+  if echo $with_skipped_gir_modules | grep -q ,$1,; then
+    echo "Checking for $1...skipped"
+    have_$1=false
+  else
+    PKG_CHECK_MODULES(modname, $2, have_$1=true, have_$1=false)
+  fi
+  AM_CONDITIONAL([BUILD_]modname, $have_$1)
+])  
 
 dnl dbus
-PKG_CHECK_MODULES(DBUS, dbus-glib-1,
-		  have_dbus=true, have_dbus=false)
-AM_CONDITIONAL(BUILD_DBUS, $have_dbus)
+GIR_CHECK(DBus, dbus-glib-1)
 
-dnl atk
-PKG_CHECK_MODULES(ATK, atk >= 1.12.0,
-                  have_atk=true, have_atk=false)
-AM_CONDITIONAL(BUILD_ATK, $have_atk)
+dnl atk - has upstream support since 1.29.4
+GIR_CHECK(Atk, atk >= 1.12.0)
 
-dnl pango
-PKG_CHECK_MODULES(PANGO, pango >= 1.16.0,
-                  have_pango=true, have_pango=false)
-AM_CONDITIONAL(BUILD_PANGO, $have_pango)
+dnl pango - has upstream support since 1.25.4
+GIR_CHECK(Pango, pango >= 1.16.0)
 
-PKG_CHECK_MODULES(PANGOXFT, pangoxft >= 1.16.0,
-		  have_pangoxft=true, have_pangoxft=false)
-AM_CONDITIONAL(BUILD_PANGOXFT, $have_pangoxft)
+GIR_CHECK(PangoXft, pangoxft >= 1.16.0)
 
 dnl poppler
-PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.8,
-                  have_poppler=true, have_poppler=false)
-AM_CONDITIONAL(BUILD_POPPLER, $have_poppler)
-
-dnl gtk+
-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 1.12.0,
-                  have_gtk=true, have_gtk=false)
-AM_CONDITIONAL(BUILD_GTK, $have_gtk)
+GIR_CHECK(Poppler, poppler-glib >= 0.8)
+
+dnl gtk+ - has upstream support since 2.19.2
+GIR_CHECK(Gtk, gtk+-2.0 >= 1.12.0)
 GDK_TARGET=
 GDK_TARGET_GIRS=
-if $have_gtk; then
+if $have_Gtk; then
+    PKG_CHECK_MODULES(GDKPIXBUF, gdk-pixbuf-2.0)
     PKG_CHECK_MODULES(GDK, gdk-2.0)
 
     GDK_TARGET="$($PKG_CONFIG --variable=target gtk+-2.0)"
@@ -62,84 +68,31 @@ AC_SUBST(GDK_TARGET)
 AC_SUBST(GDK_TARGET_GIRS)
 
 dnl gconf
-PKG_CHECK_MODULES(GCONF, gconf-2.0,
-                  have_gconf=true, have_gconf=false)
-AM_CONDITIONAL(BUILD_GCONF, $have_gconf)
+GIR_CHECK(GConf, gconf-2.0)
 
 dnl soup
-PKG_CHECK_MODULES(SOUP, libsoup-2.4,
-                  have_soup=true, have_soup=false)
-AM_CONDITIONAL(BUILD_SOUP, $have_soup)
+GIR_CHECK(Soup, libsoup-2.4)
 
 dnl babl
-PKG_CHECK_MODULES(BABL, babl,
-	 	  have_babl=true, have_babl=false)
-AM_CONDITIONAL(BUILD_BABL, $have_babl)
+GIR_CHECK(BABL, babl >= 0.1.2)
 
 dnl nautilus-extension
-PKG_CHECK_MODULES(NAUTILUS, libnautilus-extension,
-		  have_nautilusextension=true, have_nautilusextension=false)
-AM_CONDITIONAL(BUILD_NAUTILUS, $have_nautilusextension)
+GIR_CHECK(Nautilus, libnautilus-extension >= 2.22)
 
 dnl gnome-keyring
-PKG_CHECK_MODULES(GNOMEKEYRING, gnome-keyring-1,
-                  have_gnomekeyring=true, have_gnomekeyring=false)
-AM_CONDITIONAL(BUILD_GNOMEKEYRING, $have_gnomekeyring)
+GIR_CHECK(GnomeKeyring, gnome-keyring-1)
 
-dnl webkit
-PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.0,
-                  have_webkit=true, have_webkit=false)
-AM_CONDITIONAL(BUILD_WEBKIT, $have_webkit)
+dnl webkit - has upstream support since 1.1.16
+GIR_CHECK(WebKit, webkit-1.0 >= 1.0)
 
 dnl notify
-PKG_CHECK_MODULES(NOTIFY, libnotify,
-                  have_notify=true, have_notify=false)
-AM_CONDITIONAL(BUILD_NOTIFY, $have_notify)
+GIR_CHECK(Notify, libnotify)
 
 dnl gnio
-PKG_CHECK_MODULES(GNIO, gnio,
-                  have_gnio=true, have_gnio=false)
-AM_CONDITIONAL(BUILD_GNIO, $have_gnio)
-
-dnl clutter
-PKG_CHECK_MODULES(CLUTTER, clutter-0.8 >= 0.8,
-                  have_clutter=true, have_clutter=false)
-AM_CONDITIONAL(BUILD_CLUTTER, $have_clutter)
-CLUTTER_BACKEND=
-CLUTTER_BACKEND_GIRS=
-if $have_clutter; then
-    CLUTTER_BACKEND="$($PKG_CONFIG --variable=backend clutter-0.8)"
-    if test "$CLUTTER_BACKEND" = glx; then
-        CLUTTER_BACKEND_GIRS=xlib-2.0
-    fi
-    # check if depending on clutter also brings usable gdk-pixbuf, clutter
-    # doesn't necessarily use (win32,osx) or export (Requires.private) it
-    save_CFLAGS="$CFLAGS"; CFLAGS="$CLUTTER_CFLAGS"
-    save_LDFLAGS="$LDFLAGS"; LDFLAGS="$CLUTTER_LIBS"
-    AC_TRY_LINK([#include <gdk-pixbuf/gdk-pixbuf.h>],
-                [GType gtype = GDK_TYPE_PIXBUF;],
-                AC_DEFINE(HAVE_CLUTTER_GDKPIXBUF, 1,
-                          [Clutter is exporting gdk-pixbuf]))
-    CFLAGS="$save_CFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-fi
-AC_SUBST(CLUTTER_BACKEND)
-AC_SUBST(CLUTTER_BACKEND_GIRS)
-
-dnl clutter-gtk
-PKG_CHECK_MODULES(CLUTTERGTK, clutter-gtk-0.8 >= 0.8,
-                  have_clutter_gtk=true, have_clutter_gtk=false)
-AM_CONDITIONAL(BUILD_CLUTTERGTK, $have_clutter_gtk)
-
-dnl clutter-cairo
-PKG_CHECK_MODULES(CLUTTERCAIRO, clutter-cairo-0.8 >= 0.8,
-                  have_clutter_cairo=true, have_clutter_cairo=false)
-AM_CONDITIONAL(BUILD_CLUTTERCAIRO, $have_clutter_cairo)
+GIR_CHECK(Gnio, gnio)
 
-dnl gstreamer
-PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 >= 0.10.0, 
-                  have_gstreamer=true, have_gstreamer=false)
-AM_CONDITIONAL(BUILD_GSTREAMER, $have_gstreamer)
+dnl gstreamer supports introspection starting from 0.10.25
+GIR_CHECK(Gst, gstreamer-0.10 >= 0.10.0, GSTREAMER)
 
 dnl gstbufferlist.h, gsttaskpool.h were added in 0.10.24 (and in
 dnl prereleases of that)
@@ -159,26 +112,21 @@ if $have_gstreamer ; then
 fi
 AM_CONDITIONAL(HAVE_GSTTASKPOOL_H, $have_gsttaskpool_h)
 
-dnl gstreamer
-PKG_CHECK_MODULES(GSTREAMER_PLUGINS_BASE, gstreamer-plugins-base-0.10 >= 0.10.0, 
-                  have_gstreamer_plugins_base=true, 
+dnl gst-plugins-base supports introspection starting from 0.10.25
+PKG_CHECK_MODULES(GSTREAMER_PLUGINS_BASE, [gstreamer-plugins-base-0.10 >= 0.10.0],
+                  have_gstreamer_plugins_base=true,
                   have_gstreamer_plugins_base=false)
-AM_CONDITIONAL(BUILD_GSTREAMER_PLUGINS_BASE, $have_gstreamer_plugins_base)
+dnl make sure that disabling Gst also disables gst-plugins-base
+AM_CONDITIONAL(BUILD_GSTREAMER_PLUGINS_BASE, $have_Gst && $have_gstreamer_plugins_base)
 
 dnl gtksourceview
-PKG_CHECK_MODULES(GTKSOURCEVIEW, gtksourceview-2.0,
-                  have_gtksourceview=true, have_gtksourceview=false)
-AM_CONDITIONAL(BUILD_GTKSOURCEVIEW, $have_gtksourceview)
+GIR_CHECK(GtkSourceView, gtksourceview-2.0)
 
 dnl vte
-PKG_CHECK_MODULES(VTE, vte,
-                  have_vte=true, have_vte=false)
-AM_CONDITIONAL(BUILD_VTE, $have_vte)
+GIR_CHECK(Vte, vte)
 
 dnl goocanvas
-PKG_CHECK_MODULES(GOOCANVAS, goocanvas,
-                  have_goocanvas=true, have_goocanvas=false)
-AM_CONDITIONAL(BUILD_GOOCANVAS, $have_goocanvas)
+GIR_CHECK(GooCanvas, goocanvas)
 
 dnl mission-control (disabled for now, it has odd structs and isn't useful yet)
 dnl PKG_CHECK_MODULES(MISSIONCONTROL, libmissioncontrol,
@@ -187,38 +135,28 @@ have_missioncontrol=false
 AM_CONDITIONAL(BUILD_MISSIONCONTROL, $have_missioncontrol)
 
 dnl gssdp
-PKG_CHECK_MODULES(GSSDP, gssdp-1.0,
-                  have_gssdp=true, have_gssdp=false)
-AM_CONDITIONAL(BUILD_GSSDP, $have_gssdp)
+GIR_CHECK(GSSDP, gssdp-1.0)
 
-dnl gupnp
-if test $have_gssdp; then
+dnl gupnp, not using macro due to conditional on have_gssdp too
+if test $have_gssdp && echo $with_skipped_gir_modules | grep -q ,GUPNP,; then
     PKG_CHECK_MODULES(GUPNP, gupnp-1.0,
                       have_gupnp=true, have_gupnp=false)
 else
-    have_gupnp=false
+  have_gupnp=false
 fi
 AM_CONDITIONAL(BUILD_GUPNP, $have_gupnp)
 
 dnl avahi-gobject
-PKG_CHECK_MODULES(AVAHI, avahi-core >= 0.6 avahi-gobject >= 0.6,
-                  have_avahi=true, have_avahi=false)
-AM_CONDITIONAL(BUILD_AVAHI, $have_avahi)
+GIR_CHECK(Avahi, avahi-core >= 0.6 avahi-gobject >= 0.6)
 
 dnl unique
-PKG_CHECK_MODULES(UNIQUE, unique-1.0 >= 1.0.0,
-                  have_unique=true, have_unique=false)
-AM_CONDITIONAL(BUILD_UNIQUE, $have_unique)
+GIR_CHECK(Unique, unique-1.0 >= 1.0.0)
 
 dnl gmenu
-PKG_CHECK_MODULES(GMENU, libgnome-menu,
-		  have_gmenu=true, have_gmenu=false)
-AM_CONDITIONAL(BUILD_GMENU, $have_gmenu)
+GIR_CHECK(GMenu, libgnome-menu)
 
 dnl wnck
-PKG_CHECK_MODULES(WNCK, libwnck-1.0,
-		  have_wnck=true, have_wnck=false)
-AM_CONDITIONAL(BUILD_WNCK, $have_wnck)
+GIR_CHECK(Wnck, libwnck-1.0)
 
 AC_CONFIG_FILES([Makefile
                  gir/Makefile])
diff --git a/gir/AvahiCore-0.6.gir b/gir/AvahiCore-0.6.gir
index 8b25fc1..4799273 100644
--- a/gir/AvahiCore-0.6.gir
+++ b/gir/AvahiCore-0.6.gir
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<repository version="1.0"
+<repository version="1.1"
             xmlns="http://www.gtk.org/introspection/core/1.0"
             xmlns:c="http://www.gtk.org/introspection/c/1.0"
             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
diff --git a/gir/Clutter-custom.c b/gir/Clutter-custom.c
deleted file mode 100644
index 10b0c7f..0000000
--- a/gir/Clutter-custom.c
+++ /dev/null
@@ -1,222 +0,0 @@
-/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
-/* Copyright 2008 LiTL, LLC. All Rights Reserved. */
-
-/* This file should be considered to be under the same terms as the
- * main upstream source code.
- */
-
-#include <config.h>
-
-#include "Clutter-custom.h"
-
-ClutterColor*
-clutter_color_new (void)
-{
-    return g_slice_new0(ClutterColor);
-}
-
-/**
- * clutter_color_get_components:
- * @color: A #ClutterColor
- *
- * Return value: (element-type int) (transfer container): A list
- * with the color components. Must be freed with g_list_free.
- */
-GList *
-clutter_color_get_components(ClutterColor *color)
-{
-    GList *list;
-
-    list = NULL;
-    list = g_list_prepend(list, GINT_TO_POINTER((gint)color->alpha));
-    list = g_list_prepend(list, GINT_TO_POINTER((gint)color->blue));
-    list = g_list_prepend(list, GINT_TO_POINTER((gint)color->green));
-    list = g_list_prepend(list, GINT_TO_POINTER((gint)color->red));
-
-    return list;
-}
-
-/**
- * clutter_color_set_components:
- * @color: A #ClutterColor
- * @components: (element-type int) (transfer none): A list of compoents
- */
-void
-clutter_color_set_components(ClutterColor *color,
-                             GList *components)
-{
-    g_return_if_fail(g_list_length(components) == 4);
-
-    color->red = GPOINTER_TO_INT(components->data);
-    components = g_list_next(components);
-    color->green = GPOINTER_TO_INT(components->data);
-    components = g_list_next(components);
-    color->blue = GPOINTER_TO_INT(components->data);
-    components = g_list_next(components);
-    color->alpha = GPOINTER_TO_INT(components->data);
-}
-
-#ifdef HAVE_CLUTTER_GDKPIXBUF
-/**
- * clutter_texture_set_from_pixbuf:
- * @texture: A #ClutterTexture
- * @pixbuf: (transfer none): A #GdkPixbuf
- */
-gboolean
-clutter_texture_set_from_pixbuf (ClutterTexture *texture,
-                                 GdkPixbuf      *pixbuf)
-{
-    return clutter_texture_set_from_rgb_data (texture,
-                                              gdk_pixbuf_get_pixels (pixbuf),
-                                              gdk_pixbuf_get_has_alpha (pixbuf),
-                                              gdk_pixbuf_get_width (pixbuf),
-                                              gdk_pixbuf_get_height (pixbuf),
-                                              gdk_pixbuf_get_rowstride (pixbuf),
-                                              gdk_pixbuf_get_has_alpha (pixbuf)
-                                              ? 4 : 3,
-                                              0, NULL);
-}
-#endif
-
-ClutterGeometry *
-clutter_geometry_new(void)
-{
-    return g_slice_new0(ClutterGeometry);
-}
-
-gint
-clutter_geometry_get_x(ClutterGeometry *geometry)
-{
-    return geometry->x;
-}
-
-gint
-clutter_geometry_get_y(ClutterGeometry *geometry)
-{
-    return geometry->y;
-}
-
-guint
-clutter_geometry_get_width(ClutterGeometry *geometry)
-{
-    return geometry->width;
-}
-
-guint
-clutter_geometry_get_height(ClutterGeometry *geometry)
-{
-    return geometry->height;
-}
-
-ClutterActorBox *
-clutter_actor_box_new(void)
-{
-    return g_slice_new0(ClutterActorBox);
-}
-
-/* return is ClutterUnit, but gint32 in gidl, so we want a warning here if that's ever wrong */
-gint32
-clutter_actor_box_get_x1(ClutterActorBox *actor_box)
-{
-    return actor_box->x1;
-}
-
-gint32
-clutter_actor_box_get_y1(ClutterActorBox *actor_box)
-{
-    return actor_box->y1;
-}
-
-gint32
-clutter_actor_box_get_x2(ClutterActorBox *actor_box)
-{
-    return actor_box->x2;
-}
-
-gint32
-clutter_actor_box_get_y2(ClutterActorBox *actor_box)
-{
-    return actor_box->y2;
-}
-
-/* we assume in the IDL that ClutterUnit is gint32, so use gint32 here to warn
- * if that ever breaks
- */
-gint
-clutter_units_to_device(gint32 units)
-{
-    return CLUTTER_UNITS_TO_DEVICE(units);
-}
-
-gint32
-clutter_device_to_units(gint device)
-{
-    return CLUTTER_UNITS_FROM_DEVICE(device);
-}
-
-gint
-clutter_event_get_x(ClutterEvent *event)
-{
-    int x;
-
-    clutter_event_get_coords(event, &x, NULL);
-
-    return x;
-}
-
-gint
-clutter_event_get_y(ClutterEvent *event)
-{
-    int y;
-
-    clutter_event_get_coords(event, NULL, &y);
-
-    return y;
-}
-
-guint16
-clutter_event_get_code(ClutterEvent *event)
-{
-    g_return_val_if_fail(event->type == CLUTTER_KEY_PRESS ||
-                         event->type == CLUTTER_KEY_RELEASE,
-                         0);
-
-    return event->key.hardware_keycode;
-}
-
-guint
-clutter_event_get_symbol(ClutterEvent *event)
-{
-    g_return_val_if_fail(event->type == CLUTTER_KEY_PRESS ||
-                         event->type == CLUTTER_KEY_RELEASE,
-                         0);
-
-    return event->key.keyval;
-}
-
-guint32
-clutter_event_get_unicode(ClutterEvent *event)
-{
-    g_return_val_if_fail(event->type == CLUTTER_KEY_PRESS ||
-                         event->type == CLUTTER_KEY_RELEASE,
-                         0);
-
-    return clutter_key_event_unicode((ClutterKeyEvent *)event);
-}
-
-ClutterVertex*
-clutter_vertex_new(void)
-{
-    return g_slice_new0(ClutterVertex);
-}
-
-void
-clutter_vertex_set_values(ClutterVertex *vertex,
-                          int            x,
-                          int            y,
-                          int            z)
-{
-    vertex->x = x;
-    vertex->y = y;
-    vertex->z = z;
-}
diff --git a/gir/Clutter-custom.h b/gir/Clutter-custom.h
deleted file mode 100644
index 6d6290c..0000000
--- a/gir/Clutter-custom.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
-/* Copyright 2008 LiTL, LLC. All Rights Reserved. */
-
-#ifndef __GIREPO_CLUTTER_CUSTOM_H__
-#define __GIREPO_CLUTTER_CUSTOM_H__
-
-#include <glib.h>
-#include <clutter/clutter.h>
-#ifdef HAVE_CLUTTER_GDKPIXBUF
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#endif
-
-G_BEGIN_DECLS
-
-ClutterColor *   clutter_color_new               (void) G_GNUC_MALLOC;
-
-void             clutter_color_set_components    (ClutterColor    *color,
-                                                  GList           *components);
-GList *          clutter_color_get_components    (ClutterColor    *color);
-
-#ifdef HAVE_CLUTTER_GDKPIXBUF
-gboolean         clutter_texture_set_from_pixbuf (ClutterTexture  *texture,
-                                                  GdkPixbuf       *pixbuf);
-#endif
-ClutterGeometry *clutter_geometry_new            (void);
-gint             clutter_geometry_get_x          (ClutterGeometry *geometry);
-gint             clutter_geometry_get_y          (ClutterGeometry *geometry);
-guint            clutter_geometry_get_width      (ClutterGeometry *geometry);
-guint            clutter_geometry_get_height     (ClutterGeometry *geometry);
-ClutterActorBox *clutter_actor_box_new           (void);
-gint32           clutter_actor_box_get_x1        (ClutterActorBox *actor_box);
-gint32           clutter_actor_box_get_y1        (ClutterActorBox *actor_box);
-gint32           clutter_actor_box_get_x2        (ClutterActorBox *actor_box);
-gint32           clutter_actor_box_get_y2        (ClutterActorBox *actor_box);
-gint             clutter_units_to_device         (gint32           units);
-gint32           clutter_device_to_units         (gint             device);
-gint             clutter_event_get_x             (ClutterEvent    *event);
-gint             clutter_event_get_y             (ClutterEvent    *event);
-guint16          clutter_event_get_code          (ClutterEvent    *event);
-guint            clutter_event_get_symbol        (ClutterEvent    *event);
-guint32          clutter_event_get_unicode       (ClutterEvent    *event);
-ClutterVertex*   clutter_vertex_new              (void) G_GNUC_MALLOC;
-void             clutter_vertex_set_values       (ClutterVertex   *vertex,
-                                                  int              x,
-                                                  int              y,
-                                                  int              z);
-
-G_END_DECLS
-
-#endif  /* __GIREPO_CLUTTER_CUSTOM_H__ */
diff --git a/gir/DBusGLib-1.0.gir b/gir/DBusGLib-1.0.gir
deleted file mode 100644
index d79a018..0000000
--- a/gir/DBusGLib-1.0.gir
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<repository version="1.0"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0"
-	    xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-  <include name="GObject"/>
-  <namespace name="DBusGLib" version="1.0" shared-library="dbus-glib-1">
-    <record name="Connection" c:type="DBusGConnection"/>
-    <record name="MethodInvocation" c:type="DBusGMethodInvocation"/>
-    <class name="Proxy" c:type="DBusGProxy" parent="GObject.Object"
-      glib:type-name="DBusGProxy" glib:get-type="dbus_g_proxy_get_type">
-    </class>
-    <record name="ProxyClass" c:type="DBusGProxyClass"/>
-
-    <function name="connection_open" c:identifier="dbus_g_connection_open"
-     throws="1">
-      <return-value transfer-ownership="full">
-        <type name="Connection" c:type="DBusGConnection*"/>
-      </return-value>
-      <parameters>
-        <parameter name="address">
-	  <type name="utf8" c:type="char*"/>
-	</parameter>
-      </parameters>
-    </function>
-  </namespace>
-</repository>
diff --git a/gir/GConf-custom.c b/gir/GConf-custom.c
new file mode 100644
index 0000000..df75d19
--- /dev/null
+++ b/gir/GConf-custom.c
@@ -0,0 +1,11 @@
+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+
+/**
+ * gconf_client_notify_add:
+ * @client:
+ * @namespace_section
+ * @func: (scope notified) (closure user_data) (destroy destroy_notify):
+ * @user_data:
+ * @destroy_notify:
+ * @err:
+ */
diff --git a/gir/Gdk-custom.c b/gir/Gdk-custom.c
index 9993609..d3f8d8a 100644
--- a/gir/Gdk-custom.c
+++ b/gir/Gdk-custom.c
@@ -182,6 +182,30 @@ gdk_event_get_symbol (GdkEvent *event)
  */
 
 /**
+ * gdk_screen_get_rgb_colormap:
+ *
+ * Return value: (transfer none):
+ */
+
+/**
+ * gdk_screen_get_rgb_visual:
+ *
+ * Return value: (transfer none):
+ */
+
+/**
+ * gdk_screen_get_rgba_colormap:
+ *
+ * Return value: (transfer none):
+ */
+
+/**
+ * gdk_screen_get_rgba_visual:
+ *
+ * Return value: (transfer none):
+ */
+
+/**
  * gdk_screen_get_root_window:
  *
  * Return value: (transfer none):
diff --git a/gir/GdkPixbuf-custom.c b/gir/GdkPixbuf-custom.c
index e5f8a87..f67ff04 100644
--- a/gir/GdkPixbuf-custom.c
+++ b/gir/GdkPixbuf-custom.c
@@ -1,5 +1,47 @@
 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
 
+
+#define GDK_PIXBUF_ENABLE_BACKEND /* just to get the GdkPixbufFormat struct */
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#undef GDK_PIXBUF_ENABLE_BACKEND
+
+static GdkPixbufFormat*
+gdk_pixbuf_format_copy (const GdkPixbufFormat *format)
+{
+  GdkPixbufFormat *new_format;
+
+  g_return_val_if_fail (format != NULL, NULL);
+
+  new_format = g_slice_new (GdkPixbufFormat);
+  *new_format = *format;
+  return new_format;
+}
+
+static void
+gdk_pixbuf_format_free (GdkPixbufFormat *format)
+{
+  g_return_if_fail (format != NULL);
+
+  g_slice_free (GdkPixbufFormat, format);
+}
+
+GType
+gdk_pixbuf_format_get_type (void)
+{
+  static GType our_type = 0;
+
+  if (our_type == 0)
+    our_type = g_boxed_type_register_static (g_intern_static_string ("GdkPixbufFormat"),
+                         (GBoxedCopyFunc)gdk_pixbuf_format_copy,
+                         (GBoxedFreeFunc)gdk_pixbuf_format_free);
+  return our_type;
+}
+
+/**
+ * gdk_pixbuf_get_formats:
+ * Returns: (element-type PixbufFormat) (transfer container)
+ */
+
 /**
  * gdk_pixbuf_format_get_extensions:
  * Returns: (array zero-terminated=1) (transfer full):
diff --git a/gir/GdkPixbuf-custom.h b/gir/GdkPixbuf-custom.h
new file mode 100644
index 0000000..6f09770
--- /dev/null
+++ b/gir/GdkPixbuf-custom.h
@@ -0,0 +1,15 @@
+/* Copyright 2010 litl, LLC. All Rights Reserved. */
+
+#ifndef __GIREPO_GDKPIXBUF_CUSTOM_H__
+#define __GIREPO_GDKPIXBUF_CUSTOM_H__
+
+#include <glib.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+G_BEGIN_DECLS
+
+GType gdk_pixbuf_format_get_type (void);
+
+G_END_DECLS
+
+#endif  /* __GIREPO_GDKPIXBUF_CUSTOM_H__ */
diff --git a/gir/Gst-custom.c b/gir/Gst-custom.c
deleted file mode 100644
index e0d17e9..0000000
--- a/gir/Gst-custom.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
-
-/**
- * gst_init:
- * @argc: (inout): argument count
- * @argv: (inout) (array length=argc) (allow-none): arguments
- **/
diff --git a/gir/Gst-custom.h b/gir/Gst-custom.h
new file mode 100644
index 0000000..97f7145
--- /dev/null
+++ b/gir/Gst-custom.h
@@ -0,0 +1,41 @@
+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+
+/**
+ * gst_init:
+ * @argc: (inout): argument count
+ * @argv: (inout) (array length=argc) (allow-none): arguments
+ **/
+
+/**
+ * gst_element_query_position:
+ * @element:
+ * @format: (inout)
+ * @cur: (out)
+ */
+
+/**
+ * gst_element_query_duration:
+ * @element:
+ * @format: (inout)
+ * @duration: (out)
+ */
+
+/* https://bugzilla.gnome.org/show_bug.cgi?id=605189 */
+/**
+ * gst_element_get_state:
+ * @element:
+ * @state: (out):
+ * @pending: (out):
+ * @timeout:
+ */
+
+/* https://bugzilla.gnome.org/show_bug.cgi?id=622025 */
+
+/**
+ * GstPadIntLinkFunction:
+ * @pad: The #GstPad to query.
+ *
+ * The signature of the internal pad link function.
+ *
+ * Returns: (element-type GstPad): (transfer none): returns
+ */
diff --git a/gir/Gtk-custom.c b/gir/Gtk-custom.c
index 0b28d2e..f74314c 100644
--- a/gir/Gtk-custom.c
+++ b/gir/Gtk-custom.c
@@ -194,6 +194,12 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_action_create_icon:
+ *
+ * @icon_size: (type int):
+ */
+
+/**
  * gtk_action_group_add_action_with_accel:
  *
  * @accelerator: (allow-none): 
@@ -252,6 +258,17 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_box_pack_start: 
+ * @child: (transfer full): 
+ */
+
+/**
+ * gtk_builder_get_object:
+ *
+ * Return value: (transfer none):
+ */
+
+/**
  * gtk_builder_get_objects:
  *
  * Return value: (element-type GObject) (transfer container):
@@ -339,6 +356,11 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_container_add: 
+ * @widget: (transfer full): 
+ */
+
+/**
  * gtk_ctree_insert_node: 
  * @pixmap_closed: (allow-none): 
  * @mask_closed: (allow-none): 
@@ -488,23 +510,82 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_icon_info_get_attach_points:
+ * @points: (array length=n_points) (out):
+ * @n_points:
+ *
+ * Return value: boolean:
+ */
+
+/**
+ * gtk_icon_theme_get_search_path:
+ * @path: (array length=n_elements) (out):
+ * @n_elements:
+ */
+
+/**
  * gtk_icon_set_get_sizes:
- * @sizes: (array length=n_sizes) (out):
+ * @sizes: (array length=n_sizes) (out) (type int):
  * @n_sizes:
+ *
+ * FIXME. the (type int) annotation does not work
  */
 
 /**
  * gtk_icon_set_render_icon: 
+ * @size: (type int):
  * @widget: (allow-none): 
  * @detail: (allow-none): 
  */
 
 /**
+ * gtk_icon_size_from_name:
+ *
+ * Return value: (type int):
+ */
+
+/**
+ * gtk_icon_size_get_name:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_icon_size_lookup:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_icon_size_lookup_for_settings:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_icon_size_register:
+ *
+ * Return value: (type int):
+ */
+
+/**
+ * gtk_icon_size_register_alias:
+ * @target: (type int):
+ */
+
+/**
+ * gtk_icon_source_get_size:
+ * Return value: (type int):
+ */
+
+/**
  * gtk_icon_source_set_icon_name: 
  * @icon_name: (allow-none): 
  */
 
 /**
+ * gtk_icon_source_set_size:
+ * @size: (type int):
+ */
+
+/**
  * gtk_icon_theme_get_default:
  *
  * Return value: (transfer none):
@@ -557,7 +638,58 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
 
 /**
  * gtk_image_menu_item_set_image: 
- * @image: (allow-none): 
+ * @image: (allow-none): (transfer full):
+ */
+
+/**
+ * gtk_image_get_animation:
+ *
+ * Return value: (transfer none):
+ */
+
+/**
+ * gtk_image_get_gicon:
+ * @gicon: (out) (transfer none):
+ * @size: (out) (type int):
+ */
+
+/**
+ * gtk_image_get_icon_name:
+ * @icon_name: (out) (transfer none):
+ * @size: (out) (type int):
+ */
+
+/**
+ * gtk_image_get_icon_set:
+ * @icon_set: (out) (transfer none):
+ * @size: (out) (type int):
+ */
+
+/**
+ * gtk_image_get_pixbuf:
+ *
+ * Return value: (transfer none):
+ */
+
+/**
+ * gtk_image_get_stock:
+ * @stock_id: (out) (transfer none):
+ * @size: (out) (type int):
+ */
+
+/**
+ * gtk_image_new_from_gicon:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_image_new_from_icon_name:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_image_new_from_icon_set:
+ * @size: (type int):
  */
 
 /**
@@ -578,11 +710,31 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_image_new_from_stock:
+ * @size: (type int):
+ */
+
+/**
  * gtk_image_set_from_file: 
  * @filename: (allow-none): 
  */
 
 /**
+ * gtk_image_set_from_gicon:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_image_set_from_icon_name:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_image_set_from_icon_set:
+ * @size: (type int):
+ */
+
+/**
  * gtk_image_set_from_image: 
  * @gdk_image: (allow-none): 
  * @mask: (allow-none): 
@@ -599,6 +751,11 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_image_set_from_stock:
+ * @size: (type int):
+ */
+
+/**
  * gtk_init:
  * @argc: (inout):
  * @argv: (array length=argc) (inout) (allow-none):
@@ -679,6 +836,11 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_list_store_append:
+ * @position: (allow-none):
+ */
+
+/**
  * gtk_menu_get_for_attach_widget: 
  *
  * Return value: (element-type GtkWidget) (transfer none):
@@ -1018,7 +1180,7 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
 /**
  * gtk_radio_menu_item_get_group:
  *
- * Return value: (element-type RadioMenuItem) (transfer none):
+ * Return value: (element-type GtkRadioMenuItem) (transfer none):
  */
 
 /**
@@ -1089,6 +1251,11 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_scale_button_new:
+ * @size: (type int):
+ */
+
+/**
  * gtk_scrolled_window_new: 
  * @hadjustment: (allow-none): 
  * @vadjustment: (allow-none): 
@@ -1154,6 +1321,7 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
 
 /**
  * gtk_style_render_icon: 
+ * @size: (type int):
  * @widget: (allow-none): 
  * @detail: (allow-none): 
  */
@@ -1319,7 +1487,7 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
 
 /**
  * gtk_tool_button_set_icon_widget: 
- * @icon_widget: (allow-none): 
+ * @icon_widget: (allow-none): (transfer full):
  */
 
 /**
@@ -1338,6 +1506,12 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_tool_item_get_icon_size:
+ *
+ * Return value: (type int):
+ */
+
+/**
  * gtk_tool_item_set_proxy_menu_item: 
  * @menu_item: (allow-none): 
  */
@@ -1349,6 +1523,12 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_tool_shell_get_icon_size:
+ *
+ * Return value: (type int):
+ */
+
+/**
  * gtk_toolbar_append_item: 
  * @user_data: (allow-none): 
  */
@@ -1360,6 +1540,12 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_toolbar_get_icon_size:
+ *
+ * Return value: (type int):
+ */
+
+/**
  * gtk_toolbar_insert_widget: 
  * @tooltip_text: (allow-none): 
  * @tooltip_private_text: (allow-none): 
@@ -1377,6 +1563,26 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_toolbar_insert: 
+ * @item: (transfer full): 
+ */
+
+/**
+ * gtk_toolbar_set_icon_size:
+ * @icon_size: (type int):
+ */
+
+/**
+ * gtk_tooltip_set_icon_from_icon_name:
+ * @size: (type int):
+ */
+
+/**
+ * gtk_tooltip_set_icon_from_stock:
+ * @size: (type int):
+ */
+
+/**
  * gtk_tooltips_set_tip: 
  * @tip_text: (allow-none): 
  * @tip_private: (allow-none): 
@@ -1434,11 +1640,21 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
  */
 
 /**
+ * gtk_tree_view_append_column: 
+ * @column: (transfer full): 
+ */
+
+/**
  * gtk_tree_view_column_set_widget: 
  * @widget: (allow-none): 
  */
 
 /**
+ * gtk_tree_view_column_pack_start: 
+ * @cell: (transfer full): 
+ */
+
+/**
  * gtk_tree_view_get_cell_area: 
  * @column: (allow-none): 
  */
@@ -1708,6 +1924,7 @@ gtk_dialog_get_vbox(GtkDialog *dialog)
 
 /**
  * gtk_widget_render_icon: 
+ * @size: (type int):
  * @detail: (allow-none): 
  */
 
diff --git a/gir/GtkClutter-custom.c b/gir/GtkClutter-custom.c
deleted file mode 100644
index 15aced6..0000000
--- a/gir/GtkClutter-custom.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
-
-#include <config.h>
-
-/**
- * gtk_clutter_init:
- * @argc: (inout): argument count
- * @argv: (inout) (array length=argc): arguments
- **/
diff --git a/gir/JSCore-1.0.gir b/gir/JSCore-1.0.gir
deleted file mode 100644
index 2fb4d46..0000000
--- a/gir/JSCore-1.0.gir
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<repository version="1.0"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0">
-  <namespace name="JSCore" version="1.0" shared-library="webkit-1.0">
-    <alias name="GlobalContextRef"
-           target="none"
-           c:type="JSGlobalContextRef"/>
-    <alias name="ObjectRef" target="none" c:type="JSObjectRef"/>
-    <function name="EvaluateScript" c:identifier="JSEvaluateScript">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-      </parameters>
-    </function>
-  </namespace>
-</repository>
diff --git a/gir/LibTelepathy.gir b/gir/LibTelepathy.gir
index c2a3207..7579246 100644
--- a/gir/LibTelepathy.gir
+++ b/gir/LibTelepathy.gir
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<repository version="1.0"
+<repository version="1.1"
             xmlns="http://www.gtk.org/introspection/core/1.0"
             xmlns:c="http://www.gtk.org/introspection/c/1.0"
 	    xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
diff --git a/gir/Makefile.am b/gir/Makefile.am
index 10983c8..de40c00 100644
--- a/gir/Makefile.am
+++ b/gir/Makefile.am
@@ -1,19 +1,30 @@
 CLEANFILES =
-EXTRA_DIST = 
+EXTRA_DIST =
 lib_LTLIBRARIES =
 BUILT_GIRSOURCES =
 CUSTOM_GIRSOURCES =
-XPATH_TESTS =
 COMMON_CUSTOM_LDFLAGS= -avoid-version -rdynamic
 
+POPPLER_GIR_DEPS =
+GDK_GIR_DEPS =
+GTK_GIR_DEPS =
+NOTIFY_GIR_DEPS =
+GTKSOURCE_GIR_DEPS =
+VTE_GIR_DEPS =
+GOOCANVAS_GIR_DEPS =
+UNIQUE_GIR_DEPS =
+NAUTILUS_GIR_DEPS =
+WNCK_GIR_DEPS =
+GMENU_GIR_DEPS =
+
 AVAHI_GIRSOURCES = AvahiCore-0.6.gir
+
 if BUILD_AVAHI
 CUSTOM_GIRSOURCES += $(AVAHI_GIRSOURCES)
 endif
 EXTRA_DIST += $(AVAHI_GIRSOURCES)
 
-MISSIONCONTROL_GIRSOURCES = DBusGLib-1.0.gir \
-			    TelepathyGLib.gir \
+MISSIONCONTROL_GIRSOURCES = TelepathyGLib.gir \
 			    LibTelepathy.gir
 if BUILD_MISSIONCONTROL
 CUSTOM_GIRSOURCES += $(MISSIONCONTROL_GIRSOURCES)
@@ -23,12 +34,13 @@ EXTRA_DIST += $(MISSIONCONTROL_GIRSOURCES)
 libgirepo_DBus_custom_la_CPPFLAGS = $(DBUS_CFLAGS)
 libgirepo_DBus_custom_la_LIBADD = $(DBUS_LIBS)
 libgirepo_DBus_custom_la_LDFLAGS = $(COMMON_CUSTOM_LDFLAGS)
-libgirepo_DBus_custom_la_SOURCES = 	\
+libgirepo_DBus_custom_la_SOURCES = \
 	$(srcdir)/dbus.c		\
 	$(srcdir)/dbus.h
 EXTRA_DIST += $(srcdir)/dbus.c $(srcdir)/dbus.h
 
 if BUILD_DBUS
+
 DBus-1.0.gir: libgirepo-DBus-custom.la
 	$(INTROSPECTION_SCANNER) -v --namespace DBus --nsversion=1.0 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
@@ -47,8 +59,9 @@ lib_LTLIBRARIES += libgirepo-DBus-custom.la
 endif
 
 if BUILD_GCONF
+EXTRA_DIST += $(srcdir)/GConf-custom.c
 GCONF_INCLUDEDIR=`pkg-config --variable=includedir gconf-2.0`/gconf/2
-GConf-2.0.gir: $(INTROSPECTION_SCANNER)
+GConf-2.0.gir: $(INTROSPECTION_SCANNER) GConf-custom.c
 	$(INTROSPECTION_SCANNER) -v --namespace GConf --nsversion=2.0 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
             --include=GObject-2.0 \
@@ -56,6 +69,7 @@ GConf-2.0.gir: $(INTROSPECTION_SCANNER)
 	    --libtool="$(LIBTOOL)" \
             --output $@ \
             --pkg gconf-2.0 \
+            $(srcdir)/GConf-custom.c \
             $(GCONF_INCLUDEDIR)/gconf/*.h
 BUILT_GIRSOURCES += GConf-2.0.gir
 endif
@@ -160,27 +174,16 @@ PangoXft-1.0.gir: Pango-1.0.gir PangoFT2-1.0.gir $(INTROSPECTION_SCANNER)
             $(PANGO_INCLUDEDIR)/pango/pangoxft-render.h
 BUILT_GIRSOURCES += PangoXft-1.0.gir
 
-PangoX-1.0.gir: Pango-1.0.gir $(INTROSPECTION_SCANNER)
-	$(INTROSPECTION_SCANNER) -v --namespace PangoX --nsversion=1.0 \
-	    --add-include-path=$(srcdir) --add-include-path=. \
-            --include=GObject-2.0 \
-            --include=xlib-2.0 \
-            --include=Pango-1.0 \
-            --library=pangox-1.0 \
-	    --libtool="$(LIBTOOL)" \
-            --output $@ \
-            --pkg gobject-2.0 \
-            --pkg freetype2 \
-            --pkg pangox \
-            $(PANGO_INCLUDEDIR)/pango/pangox.h
-BUILT_GIRSOURCES += PangoX-1.0.gir
+POPPLER_GIR_DEPS += Pango-1.0.gir
+GDK_GIR_DEPS += Pango-1.0.gir
+GTK_GIR_DEPS += Pango-1.0.gir
 endif
 endif
 
 #poppler
 if BUILD_POPPLER
 POPPLER_INCLUDEDIR=`pkg-config --variable=includedir poppler-glib`/poppler
-Poppler-0.8.gir: Gdk-2.0.gir Pango-1.0.gir $(INTROSPECTION_SCANNER)
+Poppler-0.8.gir: $(POPPLER_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Poppler --nsversion=0.8 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=GObject-2.0 \
@@ -201,7 +204,7 @@ endif
 if BUILD_GNIO
 GNIO_INCLUDEDIR=`pkg-config --variable=includedir gnio`/gnio
 Gnio-1.0.gir: $(INTROSPECTION_SCANNER)
-	$(INTROSPECTION_SCANNER) -v --strip-prefix=G \
+	$(INTROSPECTION_SCANNER) -v \
 	--namespace=Gnio --nsversion=.1 \
 	--add-include-path=$(srcdir) --add-include-path=. \
 	--include=Gio-2.0 \
@@ -228,14 +231,23 @@ Atk-1.0.gir: $(INTROSPECTION_SCANNER)
              -I$(ATK_INCLUDEDIR) \
              $(ATK_INCLUDEDIR)/atk/*.h
 BUILT_GIRSOURCES += Atk-1.0.gir
+GTK_GIR_DEPS += Atk-1.0.gir
 endif
 
 # Gtk
 
+libgirepo_GdkPixbuf_custom_la_CPPFLAGS = $(GDKPIXBUF_CFLAGS)
+libgirepo_GdkPixbuf_custom_la_LIBADD = $(GDKPIXBUF_LIBS)
+libgirepo_GdkPixbuf_custom_la_LDFLAGS = $(COMMON_CUSTOM_LDFLAGS)
+libgirepo_GdkPixbuf_custom_la_SOURCES =	\
+	$(srcdir)/GdkPixbuf-custom.c		\
+	$(srcdir)/GdkPixbuf-custom.h		\
+	$(srcdir)/Gdk-custom.h
+
 libgirepo_Gdk_custom_la_CPPFLAGS = $(GDK_CFLAGS)
 libgirepo_Gdk_custom_la_LIBADD = $(GDK_LIBS)
 libgirepo_Gdk_custom_la_LDFLAGS = $(COMMON_CUSTOM_LDFLAGS)
-libgirepo_Gdk_custom_la_SOURCES = 	\
+libgirepo_Gdk_custom_la_SOURCES =	\
 	$(srcdir)/Gdk-custom.c		\
 	$(srcdir)/Gdk-custom.h
 
@@ -246,27 +258,32 @@ libgirepo_Gtk_custom_la_SOURCES =	\
 	$(srcdir)/Gtk-custom.c		\
 	$(srcdir)/Gtk-custom.h
 
-EXTRA_DIST += $(srcdir)/GdkPixbuf-custom.c
 if BUILD_GTK
+lib_LTLIBRARIES += libgirepo-GdkPixbuf-custom.la
 GDKPIXBUF_INCLUDEDIR=`pkg-config --variable=includedir gdk-pixbuf-2.0`/gtk-2.0
-GdkPixbuf-2.0.gir: $(INTROSPECTION_SCANNER) GdkPixbuf-custom.c
-	$(INTROSPECTION_SCANNER) -v --namespace GdkPixbuf --nsversion=2.0 --strip-prefix=Gdk\
+GdkPixbuf-2.0.gir: $(INTROSPECTION_SCANNER) libgirepo-GdkPixbuf-custom.la
+	$(INTROSPECTION_SCANNER) -v --namespace GdkPixbuf --nsversion=2.0 \
+	    --warn-all --identifier-prefix=Gdk --symbol-prefix=gdk \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gio-2.0 \
 	     --library=gdk_pixbuf-2.0 \
+	     --library=libgirepo-GdkPixbuf-custom.la \
 	     --libtool="$(LIBTOOL)" \
              --output $@ \
              --pkg gobject-2.0 \
              --pkg gio-2.0 \
              --pkg gdk-pixbuf-2.0 \
              $(srcdir)/GdkPixbuf-custom.c \
+             $(srcdir)/GdkPixbuf-custom.h \
              $(GDKPIXBUF_INCLUDEDIR)/gdk-pixbuf/*.h
 BUILT_GIRSOURCES += GdkPixbuf-2.0.gir
-XPATH_TESTS += GdkPixbuf-2.0.xpath
+
+GDK_GIR_DEPS += GdkPixbuf-2.0.gir libgirepo-Gdk-custom.la
+POPPLER_GIR_DEPS += Gdk-2.0.gir
 
 lib_LTLIBRARIES += libgirepo-Gdk-custom.la
 GDK_INCLUDEDIR=`pkg-config --variable=includedir gdk-$(GDK_TARGET)-2.0`/gtk-2.0
-Gdk-2.0.gir: Pango-1.0.gir GdkPixbuf-2.0.gir libgirepo-Gdk-custom.la $(INTROSPECTION_SCANNER)
+Gdk-2.0.gir: $(GDK_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Gdk --nsversion=2.0 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gio-2.0 \
@@ -289,11 +306,22 @@ Gdk-2.0.gir: Pango-1.0.gir GdkPixbuf-2.0.gir libgirepo-Gdk-custom.la $(INTROSPEC
              $(GDK_INCLUDEDIR)/gdk/*.h
 BUILT_GIRSOURCES += Gdk-2.0.gir
 
+GTK_GIR_DEPS += GdkPixbuf-2.0.gir Gdk-2.0.gir libgirepo-Gtk-custom.la
+NOTIFY_GIR_DEPS += Gtk-2.0.gir
+GTKSOURCE_GIR_DEPS += Gtk-2.0.gir
+VTE_GIR_DEPS += Gtk-2.0.gir
+GOOCANVAS_GIR_DEPS += Gtk-2.0.gir
+UNIQUE_GIR_DEPS += Gtk-2.0.gir
+NAUTILUS_GIR_DEPS += Gtk-2.0.gir
+WNCK_GIR_DEPS += Gtk-2.0.gir
+GMENU_GIR_DEPS += Gtk-2.0.gir
+
 lib_LTLIBRARIES += libgirepo-Gtk-custom.la
 GTK_INCLUDEDIR=`pkg-config --variable=includedir gtk+-$(GDK_TARGET)-2.0`/gtk-2.0
-Gtk-2.0.gir: Pango-1.0.gir Atk-1.0.gir GdkPixbuf-2.0.gir Gdk-2.0.gir libgirepo-Gtk-custom.la $(INTROSPECTION_SCANNER)
+Gtk-2.0.gir: $(GTK_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Gtk --nsversion=2.0 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
+             --include=GModule-2.0 \
              --include=Gio-2.0 \
              --include=cairo-1.0 \
              --include=Pango-1.0 \
@@ -323,42 +351,17 @@ Gtk-2.0.gir: Pango-1.0.gir Atk-1.0.gir GdkPixbuf-2.0.gir Gdk-2.0.gir libgirepo-G
              $(libgirepo_Gtk_custom_la_SOURCES) \
              $(GTK_INCLUDEDIR)/gtk/*.h
 BUILT_GIRSOURCES += Gtk-2.0.gir
-XPATH_TESTS += Gtk-2.0.xpath
 endif
-EXTRA_DIST += Gtk-2.0.xpath GdkPixbuf-2.0.xpath
+EXTRA_DIST += $(libgirepo_GdkPixbuf_custom_la_SOURCES)
 EXTRA_DIST += $(libgirepo_Gdk_custom_la_SOURCES)
 EXTRA_DIST += $(libgirepo_Gtk_custom_la_SOURCES)
 
-# webkit
-JSCORE_GIRSOURCES = JSCore-1.0.gir
-if BUILD_WEBKIT
-WEBKIT_INCLUDEDIR=`pkg-config --variable=includedir webkit-1.0`
-WebKit-1.0.gir: $(JSCORE_GIRSOURCES) Gtk-2.0.gir Soup-2.4.gir $(INTROSPECTION_SCANNER)
-	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace WebKit --nsversion=1.0 \
-	    --add-include-path=$(srcdir) --add-include-path=. \
-             --include=GObject-2.0 \
-             --include=Gtk-2.0 \
-             --include=JSCore-1.0 \
-             --include=Soup-2.4 \
-	     --library=webkit-1.0 \
-	     --libtool="$(LIBTOOL)" \
-             --pkg gobject-2.0 \
-             --pkg gtk+-2.0 \
-             --pkg webkit-1.0 \
-             --output $@ \
-             $(WEBKIT_INCLUDEDIR)/webkit-1.0/webkit/*.h
-BUILT_GIRSOURCES += WebKit-1.0.gir
-CUSTOM_GIRSOURCES += $(JSCORE_GIRSOURCES)
-XPATH_TESTS += WebKit-1.0.xpath
-endif BUILD_WEBKIT
-EXTRA_DIST += $(JSCORE_GIRSOURCES)
-EXTRA_DIST += WebKit-1.0.xpath
-
 # libnotify
 EXTRA_DIST += $(srcdir)/Notify-custom.c
 if BUILD_NOTIFY
+NOTIFY_GIR_DEPS += $(INTROSPECTION_SCANNER) Notify-custom.c
 NOTIFY_INCLUDEDIR=`pkg-config --variable=includedir libnotify`
-Notify-0.4.gir: $(INTROSPECTION_SCANNER) Gtk-2.0.gir Notify-custom.c
+Notify-0.4.gir: $(NOTIFY_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Notify --nsversion=0.4 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gtk-2.0 \
@@ -377,8 +380,8 @@ endif
 # gtksourceview
 if BUILD_GTKSOURCEVIEW
 GTKSOURCEVIEW_INCLUDEDIR=`pkg-config --variable=includedir gtksourceview-2.0`/gtksourceview-2.0
-GtkSource-2.2.gir: $(INTROSPECTION_SCANNER) Gtk-2.0.gir
-	$(INTROSPECTION_SCANNER) -v --namespace GtkSource --strip-prefix=Gtk --nsversion=2.2 \
+GtkSource-2.2.gir: $(GTKSOURCE_GIR_DEPS)
+	$(INTROSPECTION_SCANNER) -v --namespace GtkSource --nsversion=2.2 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gtk-2.0 \
 	     --library=gtksourceview-2.0 \
@@ -393,7 +396,7 @@ endif
 # vte
 if BUILD_VTE
 VTE_INCLUDEDIR=`pkg-config --variable=includedir vte`
-Vte-1.0.gir: $(INTROSPECTION_SCANNER) Gtk-2.0.gir
+Vte-1.0.gir: $(VTE_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Vte --nsversion=1.0 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gtk-2.0 \
@@ -402,106 +405,16 @@ Vte-1.0.gir: $(INTROSPECTION_SCANNER) Gtk-2.0.gir
              --pkg gtk+-2.0 \
              --pkg vte \
              --output $@ \
-             $(VTE_INCLUDEDIR)/vte/*.h
+             -DVTE_COMPILATION \
+	     $(VTE_INCLUDEDIR)/vte/*.h
 BUILT_GIRSOURCES += Vte-1.0.gir
 endif
 
-# clutter
-libgirepo_Clutter_custom_la_CPPFLAGS = $(CLUTTER_CFLAGS)
-libgirepo_Clutter_custom_la_LIBADD = $(CLUTTER_LIBS)
-libgirepo_Clutter_custom_la_LDFLAGS = $(COMMON_CUSTOM_LDFLAGS)
-libgirepo_Clutter_custom_la_SOURCES = 	\
-	$(srcdir)/Clutter-custom.c	\
-	$(srcdir)/Clutter-custom.h
-
-if BUILD_CLUTTER
-lib_LTLIBRARIES += libgirepo-Clutter-custom.la
-
-CLUTTER_INCLUDEDIR=`pkg-config --variable=includedir clutter-$(CLUTTER_BACKEND)-0.8`
-ClutterJson-0.8.gir: $(INTROSPECTION_SCANNER)
-	$(INTROSPECTION_SCANNER) -v --namespace ClutterJson --nsversion=0.8 \
-	    --add-include-path=$(srcdir) --add-include-path=. \
-             --include=GObject-2.0 \
-	     --library=clutter-$(CLUTTER_BACKEND)-0.8 \
-	     --libtool="$(LIBTOOL)" \
-             --pkg gobject-2.0 \
-             --pkg clutter-$(CLUTTER_BACKEND)-0.8 \
-             --output $@ \
-             $(CLUTTER_INCLUDEDIR)/clutter-0.8/clutter/json/*.h
-
-Clutter-0.8.gir: libgirepo-Clutter-custom.la ClutterJson-0.8.gir GdkPixbuf-2.0.gir Pango-1.0.gir PangoCairo-1.0.gir $(INTROSPECTION_SCANNER) clutter-0.8.c
-	$(INTROSPECTION_SCANNER) -v --namespace Clutter --nsversion=0.8 \
-	    --add-include-path=$(srcdir) --add-include-path=. \
-             --include=GL-1.0 \
-             --include=GObject-2.0 \
-	     $(CLUTTER_BACKEND_GIRS:%=--include=%) \
-             --include=Pango-1.0 \
-             --include=PangoCairo-1.0 \
-             --include=GdkPixbuf-2.0 \
-             --include=ClutterJson-0.8 \
-	     --library=clutter-$(CLUTTER_BACKEND)-0.8 \
-	     --library=libgirepo-Clutter-custom.la \
-	     --libtool="$(LIBTOOL)" \
-             --pkg gobject-2.0 \
-             --pkg clutter-$(CLUTTER_BACKEND)-0.8 \
-             --output $@ \
-	     $(srcdir)/clutter-0.8.c \
-	     $(srcdir)/Clutter-custom.c \
-	     $(srcdir)/Clutter-custom.h \
-             $(CLUTTER_INCLUDEDIR)/clutter-0.8/cogl/*.h \
-	     $(CLUTTER_INCLUDEDIR)/clutter-0.8/clutter/*.h
-BUILT_GIRSOURCES += Clutter-0.8.gir ClutterJson-0.8.gir
-XPATH_TESTS += Clutter-0.8.xpath
-endif BUILD_CLUTTER
-EXTRA_DIST += clutter-0.8.c
-EXTRA_DIST += Clutter-0.8.xpath
-
-if BUILD_CLUTTERGTK
-CLUTTERGTK_INCLUDEDIR=`pkg-config --variable=includedir clutter-gtk-0.8`
-# This one is called GtkClutter because it matches the C naming
-GtkClutter-0.8.gir: Clutter-0.8.gir Gtk-2.0.gir GtkClutter-custom.c $(INTROSPECTION_SCANNER)
-	$(INTROSPECTION_SCANNER) -v --namespace GtkClutter --nsversion=0.8 \
-	    --add-include-path=$(srcdir) --add-include-path=. \
-             --include=GL-1.0 \
-             --include=GObject-2.0 \
-             --include=Gtk-2.0 \
-             --include=Clutter-0.8 \
-	     --library=clutter-gtk-0.8 \
-	     --libtool="$(LIBTOOL)" \
-             --pkg gobject-2.0 \
-             --pkg gtk+-2.0 \
-             --pkg clutter-0.8 \
-             --pkg clutter-$(CLUTTER_BACKEND)-0.8 \
-             --output $@ \
-	     $(srcdir)/GtkClutter-custom.c \
-             $(CLUTTERGTK_INCLUDEDIR)/clutter-0.8/clutter-gtk/*.h
-BUILT_GIRSOURCES += GtkClutter-0.8.gir
-endif BUILD_CLUTTERGTK
-EXTRA_DIST += GtkClutter-custom.c
-
-if BUILD_CLUTTERCAIRO
-CLUTTERCAIRO_INCLUDEDIR=`pkg-config --variable=includedir clutter-cairo-0.8`
-ClutterCairo-0.8.gir: Clutter-0.8.gir $(INTROSPECTION_SCANNER)
-	$(INTROSPECTION_SCANNER) -v --namespace ClutterCairo --nsversion=0.8 \
-	    --add-include-path=$(srcdir) --add-include-path=. \
-             --include=cairo-1.0 \
-             --include=Clutter-0.8 \
-	     --library=clutter-cairo-0.8 \
-	     --libtool="$(LIBTOOL)" \
-             --pkg gobject-2.0 \
-             --pkg cairo \
-             --pkg clutter-cairo-0.8 \
-             --output $@ \
-             $(CLUTTERCAIRO_INCLUDEDIR)/clutter-0.8/clutter-cairo/*.h
-BUILT_GIRSOURCES += ClutterCairo-0.8.gir
-endif BUILD_CLUTTERCAIRO
-
 if BUILD_GOOCANVAS
 GOOCANVAS_INCLUDEDIR=`pkg-config --variable=includedir goocanvas`
-GooCanvas-0.10.gir: Gtk-2.0.gir $(INTROSPECTION_SCANNER)
+GooCanvas-0.10.gir: $(GOOCANVAS_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace GooCanvas --nsversion=0.10 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
-	     --strip-prefix=Goo \
              --include=Gtk-2.0 \
 	     --library=goocanvas \
 	     --libtool="$(LIBTOOL)" \
@@ -512,7 +425,7 @@ BUILT_GIRSOURCES += GooCanvas-0.10.gir
 endif BUILD_GOOCANVAS
 
 # GStreamer
-if BUILD_GSTREAMER
+if BUILD_GSTREAMER_PLUGINS_BASE
 GST_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-0.10`
 
 GST_HEADER_FILES = \
@@ -578,7 +491,7 @@ if HAVE_GSTTASKPOOL_H
 GST_HEADER_FILES += $(GST_INCLUDEDIR)/gst/gsttaskpool.h
 endif
 
-Gst-0.10.gir: $(INTROSPECTION_SCANNER) Gst-custom.c
+Gst-0.10.gir: $(INTROSPECTION_SCANNER) Gst-custom.h
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace Gst --nsversion=0.10 \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=GObject-2.0 \
@@ -590,8 +503,9 @@ Gst-0.10.gir: $(INTROSPECTION_SCANNER) Gst-custom.c
              --pkg gstreamer-0.10 \
              --pkg gstreamer-base-0.10 \
              --output $@ \
-	     $(srcdir)/Gst-custom.c \
-	     $(GST_HEADER_FILES)
+	     -DGST_USE_UNSTABLE_API \
+	     $(GST_HEADER_FILES) \
+	     $(srcdir)/Gst-custom.h
 BUILT_GIRSOURCES += Gst-0.10.gir
 
 GSTBASE_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-base-0.10`
@@ -605,12 +519,14 @@ GstBase-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-base-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTBASE_INCLUDEDIR)/gst/base/*.h
 BUILT_GIRSOURCES += GstBase-0.10.gir
 
 GSTCONTROLLER_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-controller-0.10`
 GstController-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstController --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstcontroller-0.10 \
@@ -619,12 +535,14 @@ GstController-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-controller-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTCONTROLLER_INCLUDEDIR)/gst/controller/*h
 BUILT_GIRSOURCES += GstController-0.10.gir
 
 GSTDATAPROTOCOL_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-dataprotocol-0.10`
 GstDataprotocol-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstDataprotocol --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstdataprotocol-0.10 \
@@ -633,6 +551,7 @@ GstDataprotocol-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-dataprotocol-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTDATAPROTOCOL_INCLUDEDIR)/gst/dataprotocol/*h
 # Bug in GstDPVersion enum name parsing
 #BUILT_GIRSOURCES += GstDataprotocol-0.10.gir
@@ -640,6 +559,7 @@ GstDataprotocol-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 GSTNET_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-net-0.10`
 GstNet-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstNet --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstnet-0.10 \
@@ -648,15 +568,14 @@ GstNet-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-net-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTNET_INCLUDEDIR)/gst/net/*h
 BUILT_GIRSOURCES += GstNet-0.10.gir
 
-endif BUILD_GSTREAMER
-
-if BUILD_GSTREAMER_PLUGINS_BASE
 GSTAUDIO_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-audio-0.10`
 GstAudio-0.10.gir: GstBase-0.10.gir GstInterfaces-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstAudio --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
              --include=GstBase-0.10 \
@@ -667,12 +586,14 @@ GstAudio-0.10.gir: GstBase-0.10.gir GstInterfaces-0.10.gir $(INTROSPECTION_SCANN
              --pkg gstreamer-0.10 \
              --pkg gstreamer-audio-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTAUDIO_INCLUDEDIR)/gst/audio/*h
 BUILT_GIRSOURCES += GstAudio-0.10.gir
 
 GSTFFT_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-fft-0.10`
 GstFft-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstFft --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstfft-0.10 \
@@ -681,12 +602,14 @@ GstFft-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-fft-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTFFT_INCLUDEDIR)/gst/fft/*h
 BUILT_GIRSOURCES += GstFft-0.10.gir
 
 GSTINTERFACES_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-interfaces-0.10`
 GstInterfaces-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstInterfaces --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstinterfaces-0.10 \
@@ -695,12 +618,14 @@ GstInterfaces-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-interfaces-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTINTERFACES_INCLUDEDIR)/gst/interfaces/{colorbalance,colorbalancechannel,interfaces-enumtypes,mixer,mixeroptions,mixertrack,navigation,propertyprobe,tuner,tunerchannel,tunernorm,videoorientation,xoverlay}*h
 BUILT_GIRSOURCES += GstInterfaces-0.10.gir
 
 GSTNETBUFFER_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-netbuffer-0.10`
 GstNetbuffer-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstNetbuffer --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstnetbuffer-0.10 \
@@ -709,12 +634,14 @@ GstNetbuffer-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-netbuffer-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTNETBUFFER_INCLUDEDIR)/gst/netbuffer/*h
 BUILT_GIRSOURCES += GstNetbuffer-0.10.gir
 
 GSTPBUTILS_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-pbutils-0.10`
 GstPbutils-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstPbutils --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstpbutils-0.10 \
@@ -723,12 +650,14 @@ GstPbutils-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-pbutils-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTPBUTILS_INCLUDEDIR)/gst/pbutils/*h
 BUILT_GIRSOURCES += GstPbutils-0.10.gir
 
 GSTRIFF_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-riff-0.10`
 GstRiff-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstRiff --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstriff-0.10 \
@@ -737,12 +666,14 @@ GstRiff-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-riff-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTRIFF_INCLUDEDIR)/gst/riff/*h
 BUILT_GIRSOURCES += GstRiff-0.10.gir
 
 GSTRTP_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-rtp-0.10`
 GstRtp-0.10.gir: GstBase-0.10.gir Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstRtp --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
              --include=GstBase-0.10 \
@@ -752,12 +683,14 @@ GstRtp-0.10.gir: GstBase-0.10.gir Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-rtp-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTRTP_INCLUDEDIR)/gst/rtp/*h
 BUILT_GIRSOURCES += GstRtp-0.10.gir
 
 GSTRTSP_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-rtsp-0.10`
 GstRtsp-0.10.gir: GstSdp-0.10.gir Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstRtsp --nsversion=0.10 \
+	    --identifier-prefix=GstRTSP --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
              --include=GstSdp-0.10 \
@@ -767,12 +700,14 @@ GstRtsp-0.10.gir: GstSdp-0.10.gir Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-rtsp-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTRTSP_INCLUDEDIR)/gst/rtsp/*h
 BUILT_GIRSOURCES += GstRtsp-0.10.gir
 
 GSTSDP_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-sdp-0.10`
 GstSdp-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstSdp --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gstsdp-0.10 \
@@ -781,12 +716,14 @@ GstSdp-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-sdp-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTSDP_INCLUDEDIR)/gst/sdp/*h
 BUILT_GIRSOURCES += GstSdp-0.10.gir
 
 GSTTAG_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-tag-0.10`
 GstTag-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstTag --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
 	     --library=gsttag-0.10 \
@@ -795,12 +732,14 @@ GstTag-0.10.gir: Gst-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-tag-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTTAG_INCLUDEDIR)/gst/tag/*h
 BUILT_GIRSOURCES += GstTag-0.10.gir
 
 GSTVIDEO_INCLUDEDIR=`pkg-config --variable=includedir gstreamer-video-0.10`
 GstVideo-0.10.gir: Gst-0.10.gir GstBase-0.10.gir $(INTROSPECTION_SCANNER)
 	$(DEBUG) $(INTROSPECTION_SCANNER) -v --namespace GstVideo --nsversion=0.10 \
+	    --identifier-prefix=Gst --symbol-prefix=gst \
 	    --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gst-0.10 \
              --include=GstBase-0.10 \
@@ -810,18 +749,18 @@ GstVideo-0.10.gir: Gst-0.10.gir GstBase-0.10.gir $(INTROSPECTION_SCANNER)
              --pkg gstreamer-0.10 \
              --pkg gstreamer-video-0.10 \
              --output $@ \
+	     -DGST_USE_UNSTABLE_API \
 	     $(GSTVIDEO_INCLUDEDIR)/gst/video/*h
 BUILT_GIRSOURCES += GstVideo-0.10.gir
 
 endif BUILD_GSTREAMER_PLUGINS_BASE
-EXTRA_DIST += Gst-custom.c
+EXTRA_DIST += Gst-custom.h
 
 if BUILD_MISSIONCONTROL
 MISSIONCONTROL_INCLUDEDIR=`pkg-config --variable=includedir libmissioncontrol`
 MissionControl.gir: $(INTROSPECTION_SCANNER)
 	$(INTROSPECTION_SCANNER) -v --namespace MissionControl \
 	    --add-include-path=$(srcdir) --add-include-path=. \
-	     --strip-prefix=mc \
              --include=LibTelepathy \
 	     --library=missioncontrol-client \
 	     --libtool="$(LIBTOOL)" \
@@ -868,7 +807,6 @@ if BUILD_AVAHI
 AVAHI_INCLUDEDIR=`pkg-config --variable=includedir avahi-gobject`/avahi-gobject
 Avahi-0.6.gir: AvahiCore-0.6.gir $(INTROSPECTION_SCANNER)
 	$(INTROSPECTION_SCANNER) -v --namespace Avahi --nsversion=0.6 \
-	     --strip-prefix=Ga \
 	     --add-include-path=$(srcdir) --add-include-path=. \
              --include=AvahiCore-0.6 \
              --include=GObject-2.0 \
@@ -881,22 +819,23 @@ BUILT_GIRSOURCES += Avahi-0.6.gir
 endif BUILD_AVAHI
 
 if BUILD_BABL
-BABL_INCLUDEDIR=`pkg-config --variable=includedir babl`/babl-0.0
-Babl-0.0.gir: $(INTROSPECTION_SCANNER)
-	$(INTROSPECTION_SCANNER) -v --namespace Babl --nsversion=0.0 \
+BABL_INCLUDEDIR=`pkg-config --variable=includedir babl`/babl-0.1
+Babl-0.1.gir: $(INTROSPECTION_SCANNER)
+	$(INTROSPECTION_SCANNER) -v --namespace Babl --nsversion=0.1 \
             --add-include-path=$(srcdir) --add-include-path=. \
 	    --include=GObject-2.0 \
-            --library=babl-0.0 \
+            --library=babl-0.1 \
 	    --libtool="$(LIBTOOL)" \
             --output $@ \
             --pkg babl \
-            $(BABL_INCLUDEDIR)/babl/*.h
-BUILT_GIRSOURCES += Babl-0.0.gir
+            -D_BABL_H \
+	    $(BABL_INCLUDEDIR)/babl/*.h
+BUILT_GIRSOURCES += Babl-0.1.gir
 endif BUILD_BABL
 
 if BUILD_UNIQUE
 UNIQUE_INCLUDEDIR=`pkg-config --variable=includedir unique-1.0`/unique-1.0/unique
-Unique-1.0.gir: Gtk-2.0.gir $(INTROSPECTION_SCANNER)
+Unique-1.0.gir: $(UNIQUE_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Unique --nsversion=1.0 \
 	     --add-include-path=$(srcdir) --add-include-path=. \
              --include=Gtk-2.0 \
@@ -910,7 +849,7 @@ endif BUILD_UNIQUE
 
 if BUILD_NAUTILUS
 NAUTILUS_INCLUDEDIR=`pkg-config --variable=includedir libnautilus-extension`/nautilus/libnautilus-extension
-Nautilus-1.0.gir: Gtk-2.0.gir $(INTROSPECTION_SCANNER)
+Nautilus-1.0.gir: $(NAUTILUS_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Nautilus --nsversion=1.0 \
             --add-include-path=$(srcdir) --add-include-path=\
             --include=Gtk-2.0 \
@@ -925,7 +864,7 @@ endif
 
 if BUILD_WNCK
 WNCK_INCLUDEDIR=`pkg-config --variable=includedir libwnck-1.0`/libwnck-1.0/libwnck
-Wnck-1.0.gir: Gtk-2.0.gir $(INTROSPECTION_SCANNER)
+Wnck-1.0.gir: $(WNCK_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace Wnck --nsversion=1.0 \
             --add-include-path=$(srcdir) --add-include-path=. \
             --include=Gtk-2.0 \
@@ -940,7 +879,7 @@ endif
 
 if BUILD_GMENU
 GMENU_INCLUDEDIR=`pkg-config --variable=includedir libgnome-menu`/gnome-menus
-GMenu-2.0.gir: Gtk-2.0.gir $(INTROSPECTION_SCANNER)
+GMenu-2.0.gir: $(GMENU_GIR_DEPS)
 	$(INTROSPECTION_SCANNER) -v --namespace GMenu --nsversion=2.0 \
             --add-include-path=$(srcdir) --add-include-path=. \
             --include=Gtk-2.0 \
@@ -953,11 +892,11 @@ GMenu-2.0.gir: Gtk-2.0.gir $(INTROSPECTION_SCANNER)
 BUILT_GIRSOURCES += GMenu-2.0.gir
 endif
 
-girdir = $(INTROSPECTION_GIRDIR)
+girdir = $(datadir)/gir-1.0
 dist_gir_DATA = $(CUSTOM_GIRSOURCES)
 gir_DATA = $(BUILT_GIRSOURCES)
 
-typelibsdir = $(INTROSPECTION_TYPELIBDIR)
+typelibsdir = $(libdir)/girepository-1.0
 typelibs_DATA = $(CUSTOM_GIRSOURCES:.gir=.typelib) $(BUILT_GIRSOURCES:.gir=.typelib)
 
 TGIRS = $(typelibs_DATA:.typelib=.tgir)
@@ -969,11 +908,6 @@ clean-gir:
 
 vpath %.gir $(srcdir)
 
-%.xpath: %.gir
-
-%.xpath.test: %.xpath
-	$(INTROSPECTION_SCANNER) --xpath-assertions=$(srcdir)/$*.xpath $*.gir
-
 %.typelib: %.gir $(INTROSPECTION_COMPILER)
 	$(INTROSPECTION_COMPILER) --includedir=$(srcdir) --includedir=. $(INTROSPECTION_COMPILER_OPTS) $< -o $@
 
@@ -985,4 +919,4 @@ vpath %.gir $(srcdir)
 
 CLEANFILES += $(BUILT_GIRSOURCES) $(TGIRS)
 
-check-local: $(TGIRS) $(XPATH_TESTS:.xpath=.xpath.test)
+check-local: $(TGIRS) 
diff --git a/gir/Soup-custom.c b/gir/Soup-custom.c
index adbf727..f7b33f6 100644
--- a/gir/Soup-custom.c
+++ b/gir/Soup-custom.c
@@ -177,7 +177,7 @@
 
 /**
  * soup_message_body_append:
- * @data: (array length=length) (element-type uint8):
+ * @data: (array length=length) (element-type guint8):
  * @length:
  *
  **/
diff --git a/gir/TelepathyGLib.gir b/gir/TelepathyGLib.gir
index a1c9274..fceee6f 100644
--- a/gir/TelepathyGLib.gir
+++ b/gir/TelepathyGLib.gir
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<repository version="1.0"
+<repository version="1.1"
             xmlns="http://www.gtk.org/introspection/core/1.0"
             xmlns:c="http://www.gtk.org/introspection/c/1.0"
 	    xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
diff --git a/gir/clutter-0.8.c b/gir/clutter-0.8.c
deleted file mode 100644
index 969caf2..0000000
--- a/gir/clutter-0.8.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/* This file should be considered to be under the same terms as the
- * main upstream source code.
- */
-
-/**
- * clutter_actor_lower:
- * @self: actor
- * @above: (allow-none): actor to lower below
- */
-
-/**
- * clutter_actor_get_parent:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_actor_get_preferred_size:
- * @min_width_p: (out) (allow-none):
- * @min_height_p: (out) (allow-none):
- * @natural_width_p: (out) (allow-none):
- * @natural_height_p: (out) (allow-none):
- */
-
-/**
- * clutter_actor_get_shader:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_actor_get_stage:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_actor_raise:
- * @self: actor
- * @below: (allow-none): actor to raise above
- */
-
-/**
- * clutter_actor_transform_stage_point:
- * @self: actor
- * @x: (in):
- * @y: (in):
- * @x_out: (out):
- * @y_out: (out):
- */
-
-/**
- * clutter_alpha_get_timeline:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_behavior_get_alpha:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_child_meta_get_actor:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_child_meta_get_container:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_clone_get_texture:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_color_from_hls:
- * @dest: (out):
- */
-
-/**
- * clutter_color_from_hlsx:
- * @dest: (out):
- */
-
-/**
- * clutter_color_from_pixel:
- * @dest: (out):
- */
-
-/**
- * clutter_color_add:
- * @dest: (out):
- */
-
-/**
- * clutter_color_substract:
- * @dest: (out):
- *
- */
-
-/**
- * clutter_color_lighten:
- * @dest: (out):
- *
- */
-
-/**
- * clutter_color_darken:
- * @dest: (out):
- *
- */
-
-/**
- * clutter_color_shade:
- * @dest: (out):
- *
- */
-
-/**
- * clutter_color_shadex:
- * @dest: (out):
- *
- */
-
-/**
- * clutter_container_get_children:
- *
- * Return value: (element-type Actor) (transfer container):
- */
-
-
-/**
- * clutter_effect_fade:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_effect_depth:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_effect_move:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_effect_path:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_effect_scale:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_effect_rotate:
- *
- * Return value: (transfer none):
- */
-
-
-/**
- * clutter_entry_get_layout:
- *
- * Return value: (transfer none):
- */
-
-/* Hack to make clutter_init(NULL, NULL) work the actual signature:
- *
- * ClutterInitError clutter_init (int          *argc,
- *                                char       ***argv);
- *
- * Is a a single inout array with length, which we can't represent
- * at the current time.
- */
-/**
- * clutter_init:
- * @argc: (inout):
- * @argv: (array length=argc) (inout):
- */
-
-/* parameter_string/translation_domain are char *, should be const char *
- * http://bugzilla.openedhand.com/show_bug.cgi?id=1197
- */
-/**
- * clutter_init_with_args:
- * @argc: (inout):
- * @argv: (inout):
- * @parameter_string: (transfer none):
- * @entries:
- * @translation_domain: (transfer none):
- * @error:
- */
-
-/**
- * clutter_group_lower:
- * @self: group
- * @actor: actor
- * @sibling: sibling
- *
- * Deprecated: 0.6: Use clutter_container_lower_child() instead.
- */
-
-/**
- * clutter_group_raise:
- * @self: group
- * @actor: actor
- * @sibling: sibling
- *
- * Deprecated: 0.6: Use clutter_container_raise_child() instead.
- */
-
-/**
- * clutter_group_get_nth_child:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_label_get_layout:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_model_appendv:
- * @model: model
- * @n_columns: column count
- * @columns: (array length=n_columns): column indicies
- * @values: (array length=n_columns): oElement types
- */
-
-/**
- * clutter_model_insertv:
- * @model: model
- * @row: row index
- * @n_columns: column count
- * @columns: (array length=n_columns): column indicies
- * @values: (array length=n_columns): oElement types
- */
-
-/**
- * clutter_model_iter_get_model:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_model_set_types:
- * @model: model
- * @n_columns: column count
- * @types: (array length=n_columns): Element types
- */
-
-/**
- * clutter_model_set_names:
- * @model: model
- * @n_columns: column count
- * @names: (array length=n_columns): Element types
- */
-
-/**
- * clutter_score_get_timeline:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_script_get_object:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_stage_get_default:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_stage_get_key_focus:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_stage_get_actor_at_pos:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_stage_manager_get_default_stage:
- *
- * Return value: (transfer none):
- */
-
-/**
- * clutter_timeline_clone:
- *
- * Return value: (transfer none):
- */
-
-/* Keep ordered please, do not add new things here without thinking! */
openSUSE Build Service is sponsored by