[ibus-panel-extensions] Update to 1.4.99.20111207-4.

Daiki Ueno ueno at fedoraproject.org
Wed Apr 25 02:45:01 UTC 2012


commit b3338961887c9b2960335eabf104d3b2c0cf8088
Author: Daiki Ueno <ueno at unixuser.org>
Date:   Wed Apr 25 11:44:39 2012 +0900

    Update to 1.4.99.20111207-4.

 ibus-panel-extensions-workaround-abi-break.patch |   83 ++++++++++++++++++++++
 ibus-panel-extensions.spec                       |   13 +++-
 2 files changed, 93 insertions(+), 3 deletions(-)
---
diff --git a/ibus-panel-extensions-workaround-abi-break.patch b/ibus-panel-extensions-workaround-abi-break.patch
new file mode 100644
index 0000000..132887c
--- /dev/null
+++ b/ibus-panel-extensions-workaround-abi-break.patch
@@ -0,0 +1,83 @@
+From e5ad76afe7c75d09d9f94622016eae54e0d68793 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <ueno at unixuser.org>
+Date: Wed, 25 Apr 2012 11:27:16 +0900
+Subject: [PATCH] Follow eekboard ABI change.
+
+---
+ vapi/config.vapi                   |    1 -
+ virtkbd/service/Makefile.am        |    1 -
+ virtkbd/service/virtkbd-panel.vala |   31 +++++++------------------------
+ 3 files changed, 7 insertions(+), 26 deletions(-)
+
+diff --git a/vapi/config.vapi b/vapi/config.vapi
+index b842416..abe4de5 100644
+--- a/vapi/config.vapi
++++ b/vapi/config.vapi
+@@ -10,5 +10,4 @@ namespace Config
+   public const string LOCALEDIR;
+   public const string SETUPDIR;
+   public const string LIBEXECDIR;
+-  public const string KEYBOARDDIR;
+ }
+diff --git a/virtkbd/service/Makefile.am b/virtkbd/service/Makefile.am
+index 69464cc..ee1e661 100644
+--- a/virtkbd/service/Makefile.am
++++ b/virtkbd/service/Makefile.am
+@@ -30,7 +30,6 @@ ibus_ui_virtkbd_gtk_CFLAGS =				\
+ 	$(IBUS_CFLAGS)					\
+ 	-DPACKAGE_DATADIR=\"$(pkgdatadir)\"		\
+ 	-DLOCALEDIR=\"$(datadir)/locale\"		\
+-	-DKEYBOARDDIR=\"$(datadir)/eekboard/keyboards\"	\
+ 	-DLIBEXECDIR=\"$(libexecdir)\"
+ 
+ ibus_ui_virtkbd_gtk_LDADD =			\
+diff --git a/virtkbd/service/virtkbd-panel.vala b/virtkbd/service/virtkbd-panel.vala
+index 0d802fa..9183f5a 100644
+--- a/virtkbd/service/virtkbd-panel.vala
++++ b/virtkbd/service/virtkbd-panel.vala
+@@ -46,35 +46,18 @@ namespace IBusVirtkbd {
+         }
+ 
+         string[] list_keyboards () {
+-            File dir = File.new_for_path (Config.KEYBOARDDIR);
+-            FileEnumerator enumerator =
+-                dir.enumerate_children ("standard::*",
+-                                        FileQueryInfoFlags.NONE);
+-            Gee.ArrayList<string> keyboards = new Gee.ArrayList<string> ();
+-            try {
+-                FileInfo info;
+-                while ((info = enumerator.next_file ()) != null) {
+-                    string name = info.get_name ();
+-                    if (name.has_suffix (".xml")) {
+-                        keyboards.add (name.substring (0, name.length - 4));
+-                    }
+-                }
+-            } catch (Error e) {
+-                stderr.printf ("Can't enumerate files under %s: %s",
+-                               Config.KEYBOARDDIR,
+-                               e.message);
+-            }
+-            return keyboards.to_array ();
++            var keyboards = Eek.xml_list_keyboards ();
++            Gee.ArrayList<string> result = new Gee.ArrayList<string> ();
++            foreach (var keyboard in keyboards)
++                result.add (keyboard);
++            return result.to_array ();
+         }
+ 
+         void set_keyboard_widget (string name) {
+-            var path = "%s/%s.xml".printf (Config.KEYBOARDDIR, name);
+-            var file = File.new_for_path (path);
+             Eek.Layout layout;
+             try {
+-                var input = file.read ();
+-                layout = new Eek.XmlLayout (input);
+-            } catch (IOError e) {
++                layout = new Eek.XmlLayout (name);
++            } catch (Error e) {
+                 stderr.printf ("Can't load keyboard %s: %s\n",
+                                name,
+                                e.message);
+-- 
+1.7.7.6
+
diff --git a/ibus-panel-extensions.spec b/ibus-panel-extensions.spec
index daec36f..29b96a1 100644
--- a/ibus-panel-extensions.spec
+++ b/ibus-panel-extensions.spec
@@ -1,8 +1,9 @@
 %define require_ibus_version 1.4.0
+%define require_eekboard_version 1.0.7
 
 Name:		ibus-panel-extensions
 Version:	1.4.99.20111207
-Release:	3%{?dist}
+Release:	4%{?dist}
 Summary:	Additional UI service components for IBus
 
 # libraries are LGPLv2+ and programs are GPLv2+
@@ -10,17 +11,18 @@ License:	LGPLv2+ and GPLv2+
 Group:		System Environment/Libraries
 URL:		http://github.com/ueno/ibus-panel-extensions/
 Source0:	https://github.com/downloads/ueno/%{name}/%{name}-%{version}.tar.gz
+Patch0:		ibus-panel-extensions-workaround-abi-break.patch
 
 BuildRequires:	vala
 BuildRequires:	gucharmap-devel
 BuildRequires:	sqlite-devel
-BuildRequires:	eekboard-devel
+BuildRequires:	eekboard-devel >= %{require_eekboard_version}
 # FIXME switch to libgee-0.8 once this package is ready for the new libgee API
 BuildRequires:	pkgconfig(gee-1.0)
 BuildRequires:	ibus-devel >= %{require_ibus_version}
 BuildRequires:	intltool
 # for regenerating configure script
-# BuildRequires:	libtool, gnome-common
+BuildRequires:	libtool, gnome-common
 Requires:	ibus >= %{require_ibus_version}
 
 %description
@@ -54,8 +56,10 @@ Python language binding for %{name}
 
 %prep
 %setup -q
+%patch0 -p1 -b .workaround-abi-break
 
 %build
+NOCONFIGURE=1 ./autogen.sh
 %configure
 make %{?_smp_mflags}
 
@@ -103,6 +107,9 @@ fi
 
 
 %changelog
+* Wed Apr 25 2012 Daiki Ueno <dueno at redhat.com> - 1.4.99.20111207-4
+- add workaround for new eekboard >= 1.0.6
+
 * Thu Apr 12 2012 Daiki Ueno <dueno at redhat.com> - 1.4.99.20111207-3
 - remove workaround for new gucharmap (solved in gucharmap 3.4.0.1)
 


More information about the scm-commits mailing list