r32398 - in /desktop/unstable/libxklavier/debian: changelog control control.in gir1.2-xkl-1.0.install libxklavier-dev.install patches/00git_introspection.patch patches/series rules

mpitt at users.alioth.debian.org mpitt at users.alioth.debian.org
Mon Jan 16 14:47:44 UTC 2012


Author: mpitt
Date: Mon Jan 16 14:47:44 2012
New Revision: 32398

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=32398
Log:
* Add gobject-introspection support: (LP: #800561)
  - Add 00git_introspection.patch: Already accepted upstream, backported
    to 5.1.
  - debian/control.in: Add gir1.2-xkl-1.0 binary package and GI build
    dependencies. Also add dh-autoreconf build dependency.
  - debian/rules: Use dh-autoreconf cdbs module.
  - debian/rules: Bump shlibs to this version, as the patch adds a few new
    methods and the library bumped minor version.
  - Add debian/gir1.2-xkl-1.0.install: Install typelib.
  - debian/libxklavier-dev.install: Install .gir.

Added:
    desktop/unstable/libxklavier/debian/gir1.2-xkl-1.0.install
    desktop/unstable/libxklavier/debian/patches/00git_introspection.patch
Modified:
    desktop/unstable/libxklavier/debian/changelog
    desktop/unstable/libxklavier/debian/control
    desktop/unstable/libxklavier/debian/control.in
    desktop/unstable/libxklavier/debian/libxklavier-dev.install
    desktop/unstable/libxklavier/debian/patches/series
    desktop/unstable/libxklavier/debian/rules

Modified: desktop/unstable/libxklavier/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/changelog?rev=32398&op=diff
==============================================================================
--- desktop/unstable/libxklavier/debian/changelog [utf-8] (original)
+++ desktop/unstable/libxklavier/debian/changelog [utf-8] Mon Jan 16 14:47:44 2012
@@ -1,6 +1,19 @@
 libxklavier (5.1-3) UNRELEASED; urgency=low
 
+  [ Josselin Mouette ]
   * Update repository URL.
+
+  [ Martin Pitt ]
+  * Add gobject-introspection support: (LP: #800561)
+    - Add 00git_introspection.patch: Already accepted upstream, backported
+      to 5.1.
+    - debian/control.in: Add gir1.2-xkl-1.0 binary package and GI build
+      dependencies. Also add dh-autoreconf build dependency.
+    - debian/rules: Use dh-autoreconf cdbs module.
+    - debian/rules: Bump shlibs to this version, as the patch adds a few new
+      methods and the library bumped minor version.
+    - Add debian/gir1.2-xkl-1.0.install: Install typelib.
+    - debian/libxklavier-dev.install: Install .gir.
 
  -- Josselin Mouette <joss at debian.org>  Sat, 31 Dec 2011 13:59:01 +0100
 

Modified: desktop/unstable/libxklavier/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/control?rev=32398&op=diff
==============================================================================
--- desktop/unstable/libxklavier/debian/control [utf-8] (original)
+++ desktop/unstable/libxklavier/debian/control [utf-8] Mon Jan 16 14:47:44 2012
@@ -10,6 +10,7 @@
 Uploaders: Emilio Pozuelo Monfort <pochu at debian.org>, Frederic Peters <fpeters at debian.org>, Josselin Mouette <joss at debian.org>, Loic Minier <lool at dooz.org>, Michael Biebl <biebl at debian.org>, Sebastian Dröge <slomo at debian.org>
 Build-Depends: cdbs,
                debhelper (>= 8),
+               dh-autoreconf,
                gtk-doc-tools (>= 1.0),
                libglib2.0-dev (>= 2.16.0),
                libxml2-dev (>= 2.0.0),
@@ -17,6 +18,8 @@
                libxkbfile-dev,
                libxt-dev,
                libxi-dev (>= 2:1.1.3),
+               gobject-introspection (>= 1.30),
+               libgirepository1.0-dev (>= 1.30),
                gnome-pkg-tools (>= 0.12.3),
                iso-codes,
                libglib2.0-doc
@@ -44,6 +47,20 @@
          libxklavier16 (= ${binary:Version}),
          libglib2.0-dev (>= 2.16.0),
          libxml2-dev (>= 2.0.0),
-         libx11-dev
+         libx11-dev,
+         gir1.2-xkl-1.0 (= ${binary:Version})
 Description: Development files for libxklavier
  These are headers and other files needed to develop with libxklavier.
+
+Package: gir1.2-xkl-1.0
+Section: introspection
+Architecture: any
+Depends: ${gir:Depends},
+         ${misc:Depends},
+         ${shlibs:Depends}
+Description: X Keyboard Extension high-level API - introspection data 
+ Libxklavier provides programmers an API for high(er) level access to the
+ X Keyboard Extension, to ease creating XKB related applications.
+ .
+ This package provides introspection data for libxklavier. It can be used
+ by packages using the GIRepository format to generate dynamic bindings.

Modified: desktop/unstable/libxklavier/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/control.in?rev=32398&op=diff
==============================================================================
--- desktop/unstable/libxklavier/debian/control.in [utf-8] (original)
+++ desktop/unstable/libxklavier/debian/control.in [utf-8] Mon Jan 16 14:47:44 2012
@@ -5,6 +5,7 @@
 Uploaders: @GNOME_TEAM@
 Build-Depends: cdbs,
                debhelper (>= 8),
+               dh-autoreconf,
                gtk-doc-tools (>= 1.0),
                libglib2.0-dev (>= 2.16.0),
                libxml2-dev (>= 2.0.0),
@@ -12,6 +13,8 @@
                libxkbfile-dev,
                libxt-dev,
                libxi-dev (>= 2:1.1.3),
+               gobject-introspection (>= 1.30),
+               libgirepository1.0-dev (>= 1.30),
                gnome-pkg-tools (>= 0.12.3),
                iso-codes,
                libglib2.0-doc
@@ -39,6 +42,20 @@
          libxklavier16 (= ${binary:Version}),
          libglib2.0-dev (>= 2.16.0),
          libxml2-dev (>= 2.0.0),
-         libx11-dev
+         libx11-dev,
+         gir1.2-xkl-1.0 (= ${binary:Version})
 Description: Development files for libxklavier
  These are headers and other files needed to develop with libxklavier.
+
+Package: gir1.2-xkl-1.0
+Section: introspection
+Architecture: any
+Depends: ${gir:Depends},
+         ${misc:Depends},
+         ${shlibs:Depends}
+Description: X Keyboard Extension high-level API - introspection data 
+ Libxklavier provides programmers an API for high(er) level access to the
+ X Keyboard Extension, to ease creating XKB related applications.
+ .
+ This package provides introspection data for libxklavier. It can be used
+ by packages using the GIRepository format to generate dynamic bindings.

Added: desktop/unstable/libxklavier/debian/gir1.2-xkl-1.0.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/gir1.2-xkl-1.0.install?rev=32398&op=file
==============================================================================
--- desktop/unstable/libxklavier/debian/gir1.2-xkl-1.0.install (added)
+++ desktop/unstable/libxklavier/debian/gir1.2-xkl-1.0.install [utf-8] Mon Jan 16 14:47:44 2012
@@ -1,0 +1,1 @@
+usr/lib/girepository*/

Modified: desktop/unstable/libxklavier/debian/libxklavier-dev.install
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/libxklavier-dev.install?rev=32398&op=diff
==============================================================================
--- desktop/unstable/libxklavier/debian/libxklavier-dev.install [utf-8] (original)
+++ desktop/unstable/libxklavier/debian/libxklavier-dev.install [utf-8] Mon Jan 16 14:47:44 2012
@@ -3,3 +3,4 @@
 usr/lib/libxklavier.a
 usr/lib/pkgconfig/
 usr/share/gtk-doc/
+usr/share/gir*/

Added: desktop/unstable/libxklavier/debian/patches/00git_introspection.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/patches/00git_introspection.patch?rev=32398&op=file
==============================================================================
--- desktop/unstable/libxklavier/debian/patches/00git_introspection.patch (added)
+++ desktop/unstable/libxklavier/debian/patches/00git_introspection.patch [utf-8] Mon Jan 16 14:47:44 2012
@@ -1,0 +1,1040 @@
+Description: Add gobject-introspection support
+Author: Martin Pitt <martin.pitt at ubuntu.com>
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=44581
+Bug-Ubuntu: https://launchpad.net/bugs/800561
+
+Index: libxklavier/Makefile.am
+===================================================================
+--- libxklavier.orig/Makefile.am	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/Makefile.am	2012-01-16 15:20:27.560052597 +0100
+@@ -4,9 +4,10 @@
+ EXTRA_DIST = libxklavier.spec libxklavier.spec.in \
+              autogen.sh \
+              CREDITS libxklavier.pc.in \
++             m4/introspection.m4 \
+              $(config_xml_DATA)
+ 
+-DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
++DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection
+ 
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libxklavier.pc
+Index: libxklavier/configure.in
+===================================================================
+--- libxklavier.orig/configure.in	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/configure.in	2012-01-16 15:20:43.500053370 +0100
+@@ -2,14 +2,14 @@
+ 
+ AC_INIT([libxklavier], [5.1])
+ AC_CONFIG_SRCDIR([libxklavier/xklavier.c])
+-AM_INIT_AUTOMAKE([1.10 dist-bzip2])
++AM_INIT_AUTOMAKE([1.10 dist-bzip2 -Wno-portability])
+ 
+ AM_CONFIG_HEADER(config.h)
+ AC_CONFIG_MACRO_DIR(m4)
+ 
+ dnl for DLL
+ dnl http://sources.redhat.com/autobook/autobook/autobook_91.html
+-VERSION_INFO=17:0:1
++VERSION_INFO=18:0:2
+ AC_SUBST(VERSION_INFO)
+ 
+ AM_MAINTAINER_MODE
+@@ -20,6 +20,9 @@
+ AM_PROG_LIBTOOL
+ AM_ICONV
+ 
++# Introspection
++GOBJECT_INTROSPECTION_CHECK([1.30.0])
++
+ m4_ifset([GTK_DOC_CHECK], [
+ GTK_DOC_CHECK(1.0)
+ ], [
+Index: libxklavier/doc/reference/libxklavier-sections.txt
+===================================================================
+--- libxklavier.orig/doc/reference/libxklavier-sections.txt	2011-02-13 13:32:31.000000000 +0100
++++ libxklavier/doc/reference/libxklavier-sections.txt	2012-01-16 15:20:27.560052597 +0100
+@@ -115,8 +115,8 @@
+ XklConfigRegistryPrivate
+ XklConfigRegistry
+ xkl_config_registry_load
+-ConfigItemProcessFunc
+-TwoConfigItemsProcessFunc
++XklConfigItemProcessFunc
++XklTwoConfigItemsProcessFunc
+ xkl_config_registry_foreach_model
+ xkl_config_registry_foreach_layout
+ xkl_config_registry_foreach_layout_variant
+Index: libxklavier/libxklavier/Makefile.am
+===================================================================
+--- libxklavier.orig/libxklavier/Makefile.am	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/Makefile.am	2012-01-16 15:20:27.560052597 +0100
+@@ -24,8 +24,8 @@
+ 
+ lib_LTLIBRARIES = libxklavier.la
+ noinst_HEADERS = xklavier_private.h xklavier_private_xkb.h xklavier_private_xmm.h
+-xklavier_headers = xklavier.h xkl_config_registry.h xkl_engine.h \
+-	xkl_config_rec.h xkl_config_item.h xkl_engine_marshal.h
++xklavier_headers = xkl_engine.h xkl_config_item.h xkl_config_registry.h \
++	xkl_config_rec.h xkl_engine_marshal.h xklavier.h
+ 
+ xklavier_built_headers = xkl-enum-types.h
+ xklavier_built_cfiles = xkl-enum-types.c
+@@ -80,4 +80,30 @@
+ 	&& rm -f new-xkl-enum-types.c
+ 
+ DISTCLEANFILES=$(xklavier_built_headers) $(xklavier_built_cfiles) stamp-xkl-enum-types.h
++CLEANFILES=
+ 
++# build intospection typelib
++-include $(INTROSPECTION_MAKEFILE)
++INTROSPECTION_GIRS =
++INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all
++INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
++
++if HAVE_INTROSPECTION
++# avoid introspecting private headers
++introspection_sources = $(xklavier_headers) $(filter %.c, $(libxklavier_la_SOURCES))
++
++Xkl-1.0.gir: libxklavier.la
++Xkl_1_0_gir_INCLUDES = GObject-2.0 xlib-2.0
++Xkl_1_0_gir_CFLAGS = $(INCLUDES) $(X_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS) $(XINPUT_CFLAGS)
++Xkl_1_0_gir_LIBS = libxklavier.la
++Xkl_1_0_gir_FILES = $(xklavier_headers) $(introspection_sources)
++INTROSPECTION_GIRS += Xkl-1.0.gir
++
++girdir = $(datadir)/gir-1.0
++gir_DATA = $(INTROSPECTION_GIRS)
++
++typelibdir = $(libdir)/girepository-1.0
++typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
++
++CLEANFILES += $(gir_DATA) $(typelib_DATA)
++endif
+Index: libxklavier/libxklavier/xkl_config_item.h
+===================================================================
+--- libxklavier.orig/libxklavier/xkl_config_item.h	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xkl_config_item.h	2012-01-16 15:20:27.560052597 +0100
+@@ -133,6 +133,43 @@
+ 	extern XklConfigItem *xkl_config_item_new(void);
+ 
+ /**
++ * xkl_config_item_set_name:
++ *
++ * @item: the XklConfigItem object to be changed
++ * @name: (transfer none) (allow-none): Name (max. 32 characters); can be NULL.
++ *
++ * Change the @name field of a XklConfigItem. This is mostly useful for
++ * language bindings, in C you can manipulate the member directly.
++ */
++	extern void xkl_config_item_set_name(XklConfigItem * item,
++					     const gchar * name);
++
++/**
++ * xkl_config_item_set_short_description:
++ *
++ * @item: the XklConfigItem object to be changed
++ * @short_description: (transfer none) (allow-none): Short Description (max. 10
++ *        characters); can be NULL.
++ *
++ * Change the @short_description field of a XklConfigItem. This is mostly useful for
++ * language bindings, in C you can manipulate the member directly.
++ */
++	extern void xkl_config_item_set_short_description(XklConfigItem * item,
++							  const gchar * short_description);
++/**
++ * xkl_config_item_set_description:
++ *
++ * @item: the XklConfigItem object to be changed
++ * @description: (transfer none) (allow-none): Description (max. 192
++ *        characters); can be NULL.
++ *
++ * Change the @description field of a XklConfigItem. This is mostly useful for
++ * language bindings, in C you can manipulate the member directly.
++ */
++	extern void xkl_config_item_set_description(XklConfigItem * item,
++						    const gchar * description);
++
++/**
+  * xkl_get_country_name:
+  * @code: ISO 3166 Alpha 2 code: 2 chars, uppercase (US, RU, FR, ...)
+  *
+Index: libxklavier/libxklavier/xkl_config_rec.h
+===================================================================
+--- libxklavier.orig/libxklavier/xkl_config_rec.h	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xkl_config_rec.h	2012-01-16 15:20:27.564052598 +0100
+@@ -27,6 +27,12 @@
+ extern "C" {
+ #endif				/* __cplusplus */
+ 
++        /**
++         * XklConfigRec:
++         * @layouts: (array zero-terminated=1):
++         * @variants: (array zero-terminated=1):
++         * @options: (array zero-terminated=1):
++         */
+ 	typedef struct _XklConfigRec XklConfigRec;
+ 	typedef struct _XklConfigRecClass XklConfigRecClass;
+ 
+@@ -233,6 +239,48 @@
+ 	extern gboolean xkl_config_rec_equals(XklConfigRec * data1,
+ 					      XklConfigRec * data2);
+ 
++/**
++ * xkl_config_rec_set_layouts:
++ * @data: record to change
++ * @new_layouts: (array zero-terminated=1) (transfer none): zero terminated
++ * list of new layout names.
++ *
++ * Sets a new layout list. 
++ *
++ * Frees the previous layout list. This is primarily useful for bindings, in C
++ * you can manipulate the @layouts record member directly.
++ */
++	extern void xkl_config_rec_set_layouts(XklConfigRec * data,
++					       const gchar ** new_layouts);
++
++/**
++ * xkl_config_rec_set_variants:
++ * @data: record to change
++ * @new_variants: (transfer none) (array zero-terminated=1): zero terminated
++ * list of new variant names.
++ *
++ * Sets a new variant list. 
++ *
++ * Frees the previous variant list. This is primarily useful for bindings, in C
++ * you can manipulate the @variants record member directly.
++ */
++	extern void xkl_config_rec_set_variants(XklConfigRec * data,
++						const gchar ** new_variants);
++
++/**
++ * xkl_config_rec_set_options:
++ * @data: record to change
++ * @new_options: (transfer none) (array zero-terminated=1): zero terminated
++ * list of new option names.
++ *
++ * Sets a new option list. 
++ *
++ * Frees the previous option list. This is primarily useful for bindings, in C
++ * you can manipulate the @options record member directly.
++ */
++	extern void xkl_config_rec_set_options(XklConfigRec * data,
++					       const gchar ** new_options);
++
+ #ifdef __cplusplus
+ }
+ #endif				/* __cplusplus */
+Index: libxklavier/libxklavier/xkl_config_registry.h
+===================================================================
+--- libxklavier.orig/libxklavier/xkl_config_registry.h	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xkl_config_registry.h	2012-01-16 15:20:27.564052598 +0100
+@@ -79,7 +79,7 @@
+  *
+  * Create new XklConfig
+  *
+- * Returns: new instance
++ * Returns: (transfer none): new instance
+  */
+ 	extern XklConfigRegistry
+ 	    * xkl_config_registry_get_instance(XklEngine * engine);
+@@ -101,19 +101,19 @@
+ 						 if_extras_needed);
+ 
+ /**
+- * ConfigItemProcessFunc:
++ * XklConfigItemProcessFunc:
+  * @config: the config registry
+  * @item: the item from registry
+  * @data: anything which can be stored into the pointer
+  *
+  * Callback type used for enumerating keyboard models, layouts, variants, options
+  */
+-	typedef void (*ConfigItemProcessFunc) (XklConfigRegistry * config,
+-					       const XklConfigItem * item,
+-					       gpointer data);
++	typedef void (*XklConfigItemProcessFunc) (XklConfigRegistry * config,
++						  const XklConfigItem * item,
++						  gpointer data);
+ 
+ /**
+- * TwoConfigItemsProcessFunc:
++ * XklTwoConfigItemsProcessFunc:
+  * @config: the config registry
+  * @item: the item from registry
+  * @subitem: the item from registry
+@@ -121,37 +121,41 @@
+  *
+  * Callback type used for enumerating layouts/variants for countries/languages
+  */
+-	typedef void (*TwoConfigItemsProcessFunc) (XklConfigRegistry *
+-						   config,
+-						   const XklConfigItem *
+-						   item,
+-						   const XklConfigItem *
+-						   subitem, gpointer data);
++	typedef void (*XklTwoConfigItemsProcessFunc) (XklConfigRegistry *
++					      config,
++						      const XklConfigItem *
++						      item,
++						      const XklConfigItem *
++						      subitem, gpointer data);
++
++/* provide the old names for backwards compatibility */
++	typedef XklConfigItemProcessFunc ConfigItemProcessFunc;
++	typedef XklTwoConfigItemsProcessFunc TwoConfigItemsProcessFunc;
+ 
+ /**
+  * xkl_config_registry_foreach_model:
+  * @config: the config registry
+- * @func: callback to call for every model
++ * @func: (scope call): callback to call for every model
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard models from the XML configuration registry
+  */
+ 	extern void xkl_config_registry_foreach_model(XklConfigRegistry *
+ 						      config,
+-						      ConfigItemProcessFunc
++						      XklConfigItemProcessFunc
+ 						      func, gpointer data);
+ 
+ /**
+  * xkl_config_registry_foreach_layout:
+  * @config: the config registry
+- * @func: callback to call for every layout
++ * @func: (scope call): callback to call for every layout
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard layouts from the XML configuration registry
+  */
+ 	extern void xkl_config_registry_foreach_layout(XklConfigRegistry *
+ 						       config,
+-						       ConfigItemProcessFunc
++						       XklConfigItemProcessFunc
+ 						       func,
+ 						       gpointer data);
+ 
+@@ -159,7 +163,7 @@
+  * xkl_config_registry_foreach_layout_variant:
+  * @config: the config registry
+  * @layout_name: layout name for which variants will be listed
+- * @func: callback to call for every layout variant
++ * @func: (scope call): callback to call for every layout variant
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard layout variants from the XML configuration registry
+@@ -169,13 +173,13 @@
+ 						    config,
+ 						    const gchar *
+ 						    layout_name,
+-						    ConfigItemProcessFunc
++						    XklConfigItemProcessFunc
+ 						    func, gpointer data);
+ 
+ /**
+  * xkl_config_registry_foreach_option_group:
+  * @config: the config registry
+- * @func: callback to call for every option group
++ * @func: (scope call): callback to call for every option group
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard option groups from the XML configuration registry
+@@ -183,7 +187,7 @@
+ 	extern void
+ 	 xkl_config_registry_foreach_option_group(XklConfigRegistry *
+ 						  config,
+-						  ConfigItemProcessFunc
++						  XklConfigItemProcessFunc
+ 						  func, gpointer data);
+ 
+ /**
+@@ -191,7 +195,7 @@
+  * @config: the config registry
+  * @option_group_name: option group name for which variants 
+  * will be listed
+- * @func: callback to call for every option
++ * @func: (scope call): callback to call for every option
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard options from the XML configuration registry
+@@ -200,7 +204,7 @@
+ 						       config,
+ 						       const gchar *
+ 						       option_group_name,
+-						       ConfigItemProcessFunc
++						       XklConfigItemProcessFunc
+ 						       func,
+ 						       gpointer data);
+ 
+@@ -291,7 +295,7 @@
+ /**
+  * xkl_config_registry_foreach_country:
+  * @config: the config registry
+- * @func: callback to call for every ISO 3166 country code
++ * @func: (scope call): callback to call for every ISO 3166 country code
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates countries for which layouts are available,
+@@ -299,7 +303,7 @@
+  */
+ 	extern void xkl_config_registry_foreach_country(XklConfigRegistry *
+ 							config,
+-							ConfigItemProcessFunc
++							XklConfigItemProcessFunc
+ 							func,
+ 							gpointer data);
+ 
+@@ -307,7 +311,7 @@
+  * xkl_config_registry_foreach_country_variant:
+  * @config: the config registry
+  * @country_code: country ISO code for which variants will be listed
+- * @func: callback to call for every country variant
++ * @func: (scope call): callback to call for every country variant
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard layout variants for the country,
+@@ -318,13 +322,13 @@
+ 						     config,
+ 						     const gchar *
+ 						     country_code,
+-						     TwoConfigItemsProcessFunc
++						     XklTwoConfigItemsProcessFunc
+ 						     func, gpointer data);
+ 
+ /**
+  * xkl_config_registry_foreach_language:
+  * @config: the config registry
+- * @func: callback to call for every ISO 639-2 country code
++ * @func: (scope call): callback to call for every ISO 639-2 country code
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates languages for which layouts are available,
+@@ -332,7 +336,7 @@
+  */
+ 	extern void xkl_config_registry_foreach_language(XklConfigRegistry
+ 							 * config,
+-							 ConfigItemProcessFunc
++							 XklConfigItemProcessFunc
+ 							 func,
+ 							 gpointer data);
+ 
+@@ -340,7 +344,7 @@
+  * xkl_config_registry_foreach_language_variant:
+  * @config: the config registry
+  * @language_code: language ISO code for which variants will be listed
+- * @func: callback to call for every country variant
++ * @func: (scope call): callback to call for every country variant
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard layout variants for the language,
+@@ -351,7 +355,7 @@
+ 						      config,
+ 						      const gchar *
+ 						      language_code,
+-						      TwoConfigItemsProcessFunc
++						      XklTwoConfigItemsProcessFunc
+ 						      func, gpointer data);
+ 
+ 
+@@ -359,7 +363,7 @@
+  * xkl_config_registry_search_by_pattern:
+  * @config: the config registry
+  * @pattern: pattern to search for (NULL means "all")
+- * @func: callback to call for every matching layout/variant
++ * @func: (scope call): callback to call for every matching layout/variant
+  * @data: anything which can be stored into the pointer
+  *
+  * Enumerates keyboard layout/variants that match the pattern.
+@@ -371,7 +375,7 @@
+ 	extern void
+ 	 xkl_config_registry_search_by_pattern(XklConfigRegistry * config,
+ 					       const gchar * pattern,
+-					       TwoConfigItemsProcessFunc
++					       XklTwoConfigItemsProcessFunc
+ 					       func, gpointer data);
+ 
+ #ifdef __cplusplus
+Index: libxklavier/libxklavier/xkl_engine.h
+===================================================================
+--- libxklavier.orig/libxklavier/xkl_engine.h	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xkl_engine.h	2012-01-16 15:20:27.564052598 +0100
+@@ -82,6 +82,10 @@
+ 		guint32 indicators;
+ 	} XklState;
+ 
++#define XKL_TYPE_STATE (xkl_state_get_type())
++
++        GType xkl_state_get_type (void) G_GNUC_CONST;
++
+ /**
+  *	The main Xklavier engine class
+  */
+@@ -167,7 +171,7 @@
+  *
+  * Get the instance of the XklEngine. Within a process, there is always once instance.
+  *
+- * Returns: the singleton instance
++ * Returns: (transfer none): the singleton instance
+  */
+ 	extern XklEngine *xkl_engine_get_instance(Display * display);
+ 
+@@ -326,7 +330,7 @@
+  * xkl_engine_get_current_state:
+  * @engine: the engine
+  *
+- * Returns: current state of the keyboard.
++ * Returns: (transfer none): current state of the keyboard.
+  * Returned value is a statically allocated buffer, should not be freed.
+  */
+ 	extern XklState *xkl_engine_get_current_state(XklEngine * engine);
+@@ -433,8 +437,8 @@
+  * xkl_engine_get_groups_names:
+  * @engine: the engine
+  *
+- * Returns: the array of group names for the current XKB configuration 
+- * (keyboard).
++ * Returns: (transfer none): the array of group names for the current XKB
++ * configuration (keyboard).
+  * This array is static, should not be freed
+  */
+ 	extern const gchar **xkl_engine_get_groups_names(XklEngine *
+@@ -444,8 +448,8 @@
+  * xkl_engine_get_indicators_names:
+  * @engine: the engine
+  *
+- * Returns: the array of indicator names for the current XKB configuration 
+- * (keyboard).
++ * Returns: (transfer none): the array of indicator names for the current XKB
++ * configuration (keyboard).
+  * This array is static, should not be freed
+  */
+ 	extern const gchar **xkl_engine_get_indicators_names(XklEngine *
+Index: libxklavier/libxklavier/xklavier.h
+===================================================================
+--- libxklavier.orig/libxklavier/xklavier.h	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xklavier.h	2012-01-16 15:20:27.564052598 +0100
+@@ -77,7 +77,7 @@
+ 					va_list args);
+ 
+ /**
+- * xkl_default_log_appender:
++ * xkl_default_log_appender: (skip):
+  * @file: name of the source file. 
+  * Preprocessor symbol__FILE__ should be used here
+  * @function: name of the function
+@@ -95,7 +95,7 @@
+ 					     va_list args);
+ 
+ /**
+- * xkl_set_log_appender:
++ * xkl_set_log_appender: (skip):
+  * @fun: new log appender
+  *
+  * Installs the custom log appender.function
+Index: libxklavier/libxklavier/xklavier_config.c
+===================================================================
+--- libxklavier.orig/libxklavier/xklavier_config.c	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xklavier_config.c	2012-01-16 15:20:27.568052598 +0100
+@@ -50,7 +50,7 @@
+ 
+ typedef struct {
+ 	gchar **patterns;
+-	TwoConfigItemsProcessFunc func;
++	XklTwoConfigItemsProcessFunc func;
+ 	gpointer data;
+ 	gboolean country_matched;
+ 	gboolean language_matched;
+@@ -265,7 +265,7 @@
+ xkl_config_registry_foreach_in_nodeset(XklConfigRegistry * config,
+ 				       GSList ** processed_ids,
+ 				       gint doc_index, xmlNodeSetPtr nodes,
+-				       ConfigItemProcessFunc func,
++				       XklConfigItemProcessFunc func,
+ 				       gpointer data)
+ {
+ 	gint i;
+@@ -297,7 +297,7 @@
+ xkl_config_registry_foreach_in_xpath(XklConfigRegistry * config,
+ 				     xmlXPathCompExprPtr
+ 				     xpath_comp_expr,
+-				     ConfigItemProcessFunc func,
++				     XklConfigItemProcessFunc func,
+ 				     gpointer data)
+ {
+ 	xmlXPathObjectPtr xpath_obj;
+@@ -335,7 +335,7 @@
+ 						format,
+ 						const gchar *
+ 						value,
+-						ConfigItemProcessFunc
++						XklConfigItemProcessFunc
+ 						func, gpointer data)
+ {
+ 	char xpath_expr[1024];
+@@ -667,7 +667,7 @@
+ 
+ void
+ xkl_config_registry_foreach_model(XklConfigRegistry * config,
+-				  ConfigItemProcessFunc func,
++				  XklConfigItemProcessFunc func,
+ 				  gpointer data)
+ {
+ 	xkl_config_registry_foreach_in_xpath(config, models_xpath,
+@@ -676,7 +676,7 @@
+ 
+ void
+ xkl_config_registry_foreach_layout(XklConfigRegistry * config,
+-				   ConfigItemProcessFunc func,
++				   XklConfigItemProcessFunc func,
+ 				   gpointer data)
+ {
+ 	xkl_config_registry_foreach_in_xpath(config, layouts_xpath,
+@@ -688,7 +688,7 @@
+ 					   config,
+ 					   const gchar *
+ 					   layout_name,
+-					   ConfigItemProcessFunc
++					   XklConfigItemProcessFunc
+ 					   func, gpointer data)
+ {
+ 	xkl_config_registry_foreach_in_xpath_with_param(config,
+@@ -701,7 +701,7 @@
+ void
+ xkl_config_registry_foreach_option_group(XklConfigRegistry *
+ 					 config,
+-					 ConfigItemProcessFunc
++					 XklConfigItemProcessFunc
+ 					 func, gpointer data)
+ {
+ 	xmlXPathObjectPtr xpath_obj;
+@@ -775,7 +775,7 @@
+ xkl_config_registry_foreach_option(XklConfigRegistry * config,
+ 				   const gchar *
+ 				   option_group_name,
+-				   ConfigItemProcessFunc func,
++				   XklConfigItemProcessFunc func,
+ 				   gpointer data)
+ {
+ 	xkl_config_registry_foreach_in_xpath_with_param(config,
+@@ -945,7 +945,7 @@
+ 	search_param->layout_item = item;
+ 
+ 	xkl_config_registry_foreach_layout_variant(config, item->name,
+-						   (ConfigItemProcessFunc)
++						   (XklConfigItemProcessFunc)
+ 						   xkl_config_registry_search_by_pattern_in_variant,
+ 						   search_param);
+ 
+@@ -957,7 +957,7 @@
+ 				      * config,
+ 				      const gchar *
+ 				      pattern,
+-				      TwoConfigItemsProcessFunc
++				      XklTwoConfigItemsProcessFunc
+ 				      func, gpointer data)
+ {
+ 	xkl_debug(200, "Searching by pattern: [%s]\n", pattern);
+@@ -966,7 +966,7 @@
+ 	SearchParamType search_param = {
+ 		patterns, func, data
+ 	};
+-	xkl_config_registry_foreach_layout(config, (ConfigItemProcessFunc)
++	xkl_config_registry_foreach_layout(config, (XklConfigItemProcessFunc)
+ 					   xkl_config_registry_search_by_pattern_in_layout,
+ 					   &search_param);
+ 	g_strfreev(patterns);
+Index: libxklavier/libxklavier/xklavier_config_iso.c
+===================================================================
+--- libxklavier.orig/libxklavier/xklavier_config_iso.c	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xklavier_config_iso.c	2012-01-16 15:20:27.568052598 +0100
+@@ -200,7 +200,7 @@
+ 
+ static void
+ xkl_config_registry_foreach_iso_code(XklConfigRegistry * config,
+-				     ConfigItemProcessFunc func,
++				     XklConfigItemProcessFunc func,
+ 				     const gchar * xpath_exprs[],
+ 				     DescriptionGetterFunc dgf,
+ 				     gboolean to_upper, gpointer data)
+@@ -282,7 +282,7 @@
+ void
+ xkl_config_registry_foreach_country(XklConfigRegistry *
+ 				    config,
+-				    ConfigItemProcessFunc
++				    XklConfigItemProcessFunc
+ 				    func, gpointer data)
+ {
+ 	const gchar *xpath_exprs[] = {
+@@ -299,7 +299,7 @@
+ void
+ xkl_config_registry_foreach_language(XklConfigRegistry *
+ 				     config,
+-				     ConfigItemProcessFunc
++				     XklConfigItemProcessFunc
+ 				     func, gpointer data)
+ {
+ 	const gchar *xpath_exprs[] = {
+@@ -318,7 +318,7 @@
+ 					config,
+ 					const gchar *
+ 					iso_code,
+-					TwoConfigItemsProcessFunc
++					XklTwoConfigItemsProcessFunc
+ 					func, gpointer data,
+ 					const gchar * layout_xpath_exprs[],
+ 					const gboolean
+@@ -440,7 +440,7 @@
+ 					    config,
+ 					    const gchar *
+ 					    country_code,
+-					    TwoConfigItemsProcessFunc
++					    XklTwoConfigItemsProcessFunc
+ 					    func, gpointer data)
+ {
+ 	const gchar *layout_xpath_exprs[] = {
+@@ -477,7 +477,7 @@
+ 					     config,
+ 					     const gchar *
+ 					     language_code,
+-					     TwoConfigItemsProcessFunc
++					     XklTwoConfigItemsProcessFunc
+ 					     func, gpointer data)
+ {
+ 	const gchar *layout_xpath_exprs[] = {
+Index: libxklavier/libxklavier/xklavier_private.h
+===================================================================
+--- libxklavier.orig/libxklavier/xklavier_private.h	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xklavier_private.h	2012-01-16 15:20:27.568052598 +0100
+@@ -466,14 +466,14 @@
+ xkl_config_registry_foreach_in_xpath_with_param(XklConfigRegistry * config,
+ 						const gchar * format,
+ 						const gchar * value,
+-						ConfigItemProcessFunc func,
++						XklConfigItemProcessFunc func,
+ 						gpointer data);
+ 
+ extern void xkl_config_registry_foreach_in_xpath(XklConfigRegistry *
+ 						 config,
+ 						 xmlXPathCompExprPtr
+ 						 xpath_comp_expr,
+-						 ConfigItemProcessFunc
++						 XklConfigItemProcessFunc
+ 						 func, gpointer data);
+ 
+ extern gboolean xkl_read_config_item(XklConfigRegistry * config,
+Index: libxklavier/libxklavier/xklavier_props.c
+===================================================================
+--- libxklavier.orig/libxklavier/xklavier_props.c	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xklavier_props.c	2012-01-16 15:20:27.568052598 +0100
+@@ -54,6 +54,36 @@
+ 			    (xkl_config_item_get_type(), NULL));
+ }
+ 
++void
++xkl_config_item_set_name(XklConfigItem * item,
++			 const gchar * name)
++{
++	if (name != NULL)
++		strncpy (item->name, name, XKL_MAX_CI_SHORT_DESC_LENGTH-1);
++	else
++		item->name[0] = '\0';
++}
++
++void
++xkl_config_item_set_short_description(XklConfigItem * item,
++				      const gchar * short_description)
++{
++	if (short_description != NULL)
++		strncpy (item->short_description, short_description, XKL_MAX_CI_DESC_LENGTH-1);
++	else
++		item->short_description[0] = '\0';
++}
++
++void
++xkl_config_item_set_description(XklConfigItem * item,
++				const gchar * description)
++{
++	if (description != NULL)
++		strncpy (item->description, description, XKL_MAX_CI_NAME_LENGTH-1);
++	else
++		item->description[0] = '\0';
++}
++
+ G_DEFINE_TYPE(XklConfigRec, xkl_config_rec, G_TYPE_OBJECT)
+ 
+ static void
+@@ -161,6 +191,30 @@
+ }
+ 
+ void
++xkl_config_rec_set_layouts(XklConfigRec * data,
++			   const gchar ** new_layouts)
++{
++        g_strfreev (data->layouts);
++	data->layouts = g_strdupv ((gchar**) new_layouts);
++}
++
++void
++xkl_config_rec_set_variants(XklConfigRec * data,
++			   const gchar ** new_variants)
++{
++        g_strfreev (data->variants);
++	data->variants = g_strdupv ((gchar**) new_variants);
++}
++
++void
++xkl_config_rec_set_options(XklConfigRec * data,
++			   const gchar ** new_options)
++{
++        g_strfreev (data->options);
++	data->options = g_strdupv ((gchar**) new_options);
++}
++
++void
+ xkl_config_rec_init(XklConfigRec * data)
+ {
+ 	/* clear the structure VarDefsPtr... */
+Index: libxklavier/libxklavier/xklavier_util.c
+===================================================================
+--- libxklavier.orig/libxklavier/xklavier_util.c	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/libxklavier/xklavier_util.c	2012-01-16 15:20:27.572052596 +0100
+@@ -27,6 +27,20 @@
+ #include "xklavier_private.h"
+ 
+ XklState *
++_xkl_state_copy(XklState * state)
++{
++	XklState * copy;
++
++	copy = g_new(XklState, 1);
++	copy->group = state->group;
++	copy->indicators = state->indicators;
++
++	return copy;
++}
++
++G_DEFINE_BOXED_TYPE (XklState, xkl_state, _xkl_state_copy, g_free);
++
++XklState *
+ xkl_engine_get_current_state(XklEngine * engine)
+ {
+ 	return &xkl_engine_priv(engine, curr_state);
+Index: libxklavier/m4/introspection.m4
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ libxklavier/m4/introspection.m4	2012-01-16 15:20:27.572052596 +0100
+@@ -0,0 +1,94 @@
++dnl -*- mode: autoconf -*-
++dnl Copyright 2009 Johan Dahlin
++dnl
++dnl This file is free software; the author(s) gives unlimited
++dnl permission to copy and/or distribute it, with or without
++dnl modifications, as long as this notice is preserved.
++dnl
++
++# serial 1
++
++m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
++[
++    AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
++    AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
++    AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
++
++    dnl enable/disable introspection
++    m4_if([$2], [require],
++    [dnl
++        enable_introspection=yes
++    ],[dnl
++        AC_ARG_ENABLE(introspection,
++                  AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
++                                 [Enable introspection for this build]),, 
++                                 [enable_introspection=auto])
++    ])dnl
++
++    AC_MSG_CHECKING([for gobject-introspection])
++
++    dnl presence/version checking
++    AS_CASE([$enable_introspection],
++    [no], [dnl
++        found_introspection="no (disabled, use --enable-introspection to enable)"
++    ],dnl
++    [yes],[dnl
++        PKG_CHECK_EXISTS([gobject-introspection-1.0],,
++                         AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
++        PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
++                         found_introspection=yes,
++                         AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
++    ],dnl
++    [auto],[dnl
++        PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
++    ],dnl
++    [dnl	
++        AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
++    ])dnl
++
++    AC_MSG_RESULT([$found_introspection])
++
++    INTROSPECTION_SCANNER=
++    INTROSPECTION_COMPILER=
++    INTROSPECTION_GENERATE=
++    INTROSPECTION_GIRDIR=
++    INTROSPECTION_TYPELIBDIR=
++    if test "x$found_introspection" = "xyes"; then
++       INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
++       INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
++       INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
++       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
++       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
++       INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
++       INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
++    fi
++    AC_SUBST(INTROSPECTION_SCANNER)
++    AC_SUBST(INTROSPECTION_COMPILER)
++    AC_SUBST(INTROSPECTION_GENERATE)
++    AC_SUBST(INTROSPECTION_GIRDIR)
++    AC_SUBST(INTROSPECTION_TYPELIBDIR)
++    AC_SUBST(INTROSPECTION_CFLAGS)
++    AC_SUBST(INTROSPECTION_LIBS)
++    AC_SUBST(INTROSPECTION_MAKEFILE)
++
++    AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
++])
++
++
++dnl Usage:
++dnl   GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
++
++AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
++[
++  _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
++])
++
++dnl Usage:
++dnl   GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
++
++
++AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
++[
++  _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
++])
+Index: libxklavier/tests/Makefile.am
+===================================================================
+--- libxklavier.orig/tests/Makefile.am	2011-02-13 01:05:34.000000000 +0100
++++ libxklavier/tests/Makefile.am	2012-01-16 15:20:27.572052596 +0100
+@@ -8,3 +8,4 @@
+ 
+ LDADD=$(top_builddir)/libxklavier/libxklavier.la $(X_LIBS) $(GLIB_LIBS)
+ 
++EXTRA_DIST=test_gi.py
+Index: libxklavier/tests/test_gi.py
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ libxklavier/tests/test_gi.py	2012-01-16 15:20:27.572052596 +0100
+@@ -0,0 +1,105 @@
++#!/usr/bin/python3
++#
++# Test GI binding of libxklavier
++# Copyright (C) 2011 Martin Pitt <martin.pitt at ubuntu.com>
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License as published by the Free Software Foundation; either
++# version 2 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# Lesser General Public License for more details.
++
++import sys
++import os
++
++# use source tree typelib
++os.environ['GI_TYPELIB_PATH'] = 'libxklavier:' + os.environ.get('GI_TYPELIB_PATH', '')
++
++from gi.repository import Xkl, Gdk, GdkX11
++
++def item_str(s):
++    '''Convert a zero-terminated byte array to a proper str'''
++
++    i = s.find(b'\x00')
++    return s[:i].decode()
++
++display = GdkX11.x11_get_default_xdisplay()
++
++print('== Engine ==')
++engine = Xkl.Engine.get_instance(display)
++
++print('indicator names:', engine.get_indicators_names())
++print('group names:', engine.get_groups_names())
++print('default layout:', engine.get_groups_names()[engine.get_default_group()])
++print('features: %X' % engine.get_features())
++st = engine.get_current_state()
++print('current state: group: %i, indicators: %u' % (st.group, st.indicators))
++
++# check ConfigItem ctor with data
++i = Xkl.ConfigItem()
++assert item_str(i.name) == ''
++i.set_name('fr')
++assert item_str(i.name) == 'fr'
++
++# load registry
++registry = Xkl.ConfigRegistry.get_instance(engine)
++
++if not registry.load(False):
++    print('Failed to load registry')
++    sys.exit(1)
++
++print('\n== Available Layouts ==')
++def layout_iter(registry, item, data):
++    print('[%s] %s, ' % (item_str(item.name), item_str(item.description)), end='')
++
++registry.foreach_layout(layout_iter, None)
++print()
++
++print('\n== ConfigRec ==')
++rec = Xkl.ConfigRec()
++if not rec.get_from_server(engine):
++    print('Failed to get configuration from server')
++    sys.exit(1)
++
++print('Curent configuration:')
++print('  Model:', rec.model)
++print('  Layouts:', rec.layouts)
++print('  Variants:', rec.variants)
++print('  Options:', rec.options)
++
++print('Adding Danish layout...')
++rec.set_layouts(rec.layouts + ['dk'])
++rec.set_variants(rec.variants + [''])
++if not rec.activate(engine):
++    print('Failed to activate new configuration')
++
++print('Curent configuration:')
++rec = Xkl.ConfigRec()
++if not rec.get_from_server(engine):
++    print('Failed to get configuration from server')
++    sys.exit(1)
++print('  Model:', rec.model)
++print('  Layouts:', rec.layouts)
++print('  Variants:', rec.variants)
++print('  Options:', rec.options)
++
++print('Removing Danish layout...')
++rec.set_layouts(rec.layouts[:-1])
++rec.set_variants(rec.variants[:-1])
++if not rec.activate(engine):
++    print('Failed to activate new configuration')
++
++print('Curent configuration:')
++rec = Xkl.ConfigRec()
++if not rec.get_from_server(engine):
++    print('Failed to get configuration from server')
++    sys.exit(1)
++print('  Model:', rec.model)
++print('  Layouts:', rec.layouts)
++print('  Variants:', rec.variants)
++print('  Options:', rec.options)
++

Modified: desktop/unstable/libxklavier/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/patches/series?rev=32398&op=diff
==============================================================================
--- desktop/unstable/libxklavier/debian/patches/series [utf-8] (original)
+++ desktop/unstable/libxklavier/debian/patches/series [utf-8] Mon Jan 16 14:47:44 2012
@@ -1,1 +1,2 @@
+00git_introspection.patch
 use-pkgconfig-properly.patch

Modified: desktop/unstable/libxklavier/debian/rules
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/libxklavier/debian/rules?rev=32398&op=diff
==============================================================================
--- desktop/unstable/libxklavier/debian/rules [utf-8] (original)
+++ desktop/unstable/libxklavier/debian/rules [utf-8] Mon Jan 16 14:47:44 2012
@@ -1,6 +1,7 @@
 #!/usr/bin/make -f
 
 include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/autoreconf.mk
 include /usr/share/cdbs/1/rules/utils.mk
 include /usr/share/cdbs/1/class/gnome.mk
 include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
@@ -11,4 +12,4 @@
 DEB_CONFIGURE_EXTRA_FLAGS += --with-xkb-base=/usr/share/X11/xkb \
 	--with-xkb-bin-base=/usr/bin
 
-DEB_DH_MAKESHLIBS_ARGS_ALL += -V '$(libxklavierN) (>= 5.1)'
+DEB_DH_MAKESHLIBS_ARGS_ALL += -V '$(libxklavierN) (>= 5.1-3~)'




More information about the pkg-gnome-commits mailing list