diff --git a/ibus-m17n-translit-layout.patch b/ibus-m17n-translit-layout.patch
new file mode 100644
index 0000000..87e236d
--- /dev/null
+++ b/ibus-m17n-translit-layout.patch
@@ -0,0 +1,16 @@
+Index: ibus-m17n-1.3.4/src/default.xml.in.in
+===================================================================
+--- ibus-m17n-1.3.4.orig/src/default.xml.in.in
++++ ibus-m17n-1.3.4/src/default.xml.in.in
+@@ -231,6 +231,11 @@
+ m17n:ja:anthy
+ TRUE
+
++
++
++ m17n:*:translit
++ default
++
+
+
+ m17n:as:*
diff --git a/ibus-m17n-virtkbd.patch b/ibus-m17n-virtkbd.patch
index 1a88d2a..ef9a04f 100644
--- a/ibus-m17n-virtkbd.patch
+++ b/ibus-m17n-virtkbd.patch
@@ -231,7 +231,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
};
/* functions prototype */
-@@ -101,13 +113,184 @@ static IBusEngineClass *parent_class = N
+@@ -101,13 +113,185 @@ static IBusEngineClass *parent_class = N
static IBusConfig *config = NULL;
@@ -391,6 +391,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
+ ibus_m17n_virtual_keyboard_implementation_type =
+ g_enum_register_static ("IBusM17NVirtualKeyboardImplementation",
+ evalues);
++ g_type_class_ref (ibus_m17n_virtual_keyboard_implementation_type);
+ values = ibus_config_get_values (config, "engine/M17N");
+ if (values != NULL) {
+ GVariant *value =
@@ -398,7 +399,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
+ "virtual_keyboard_implementation",
+ G_VARIANT_TYPE_STRING);
+ if (value != NULL) {
-+ GEnumClass *eclass = G_ENUM_CLASS (g_type_class_peek (ibus_m17n_virtual_keyboard_implementation_type));
++ GEnumClass *eclass = G_ENUM_CLASS (g_type_class_ref (ibus_m17n_virtual_keyboard_implementation_type));
+ GEnumValue *evalue = g_enum_get_value_by_nick (eclass, g_variant_get_string (value, NULL));
+ if (evalue != NULL) {
+ virtual_keyboard_implementation = evalue->value;
@@ -416,7 +417,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
}
static gboolean
-@@ -268,6 +451,7 @@ ibus_m17n_engine_class_init (IBusM17NEng
+@@ -268,6 +452,7 @@ ibus_m17n_engine_class_init (IBusM17NEng
IBUS_ENGINE_PREEDIT_COMMIT :
IBUS_ENGINE_PREEDIT_CLEAR;
klass->lookup_table_orientation = IBUS_ORIENTATION_SYSTEM;
@@ -424,7 +425,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
ibus_m17n_engine_config_free (engine_config);
-@@ -317,6 +501,11 @@ ibus_m17n_engine_class_init (IBusM17NEng
+@@ -317,6 +502,11 @@ ibus_m17n_engine_class_init (IBusM17NEng
klass);
klass->im = NULL;
@@ -436,7 +437,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
}
static void
-@@ -354,6 +543,7 @@ ibus_m17n_engine_init (IBusM17NEngine *m
+@@ -354,6 +544,7 @@ ibus_m17n_engine_init (IBusM17NEngine *m
{
IBusText* label;
IBusText* tooltip;
@@ -444,7 +445,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
m17n->prop_list = ibus_prop_list_new ();
g_object_ref_sink (m17n->prop_list);
-@@ -386,6 +576,36 @@ ibus_m17n_engine_init (IBusM17NEngine *m
+@@ -386,6 +577,36 @@ ibus_m17n_engine_init (IBusM17NEngine *m
ibus_prop_list_append (m17n->prop_list, m17n->setup_prop);
#endif /* HAVE_SETUP */
@@ -481,7 +482,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
m17n->table = ibus_lookup_table_new (9, 0, TRUE, TRUE);
g_object_ref_sink (m17n->table);
m17n->context = NULL;
-@@ -471,6 +691,11 @@ ibus_m17n_engine_destroy (IBusM17NEngine
+@@ -471,6 +692,11 @@ ibus_m17n_engine_destroy (IBusM17NEngine
}
#endif /* HAVE_SETUP */
@@ -493,7 +494,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
if (m17n->table) {
g_object_unref (m17n->table);
m17n->table = NULL;
-@@ -716,6 +941,14 @@ ibus_m17n_engine_enable (IBusEngine *eng
+@@ -716,6 +942,14 @@ ibus_m17n_engine_enable (IBusEngine *eng
/* Issue a dummy ibus_engine_get_surrounding_text() call to tell
input context that we will use surrounding-text. */
ibus_engine_get_surrounding_text (engine, NULL, NULL, NULL);
@@ -508,7 +509,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
}
static void
-@@ -725,6 +958,14 @@ ibus_m17n_engine_disable (IBusEngine *en
+@@ -725,6 +959,14 @@ ibus_m17n_engine_disable (IBusEngine *en
ibus_m17n_engine_focus_out (engine);
parent_class->disable (engine);
@@ -523,7 +524,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
}
static void
-@@ -772,6 +1013,7 @@ ibus_m17n_engine_property_activate (IBus
+@@ -772,6 +1014,7 @@ ibus_m17n_engine_property_activate (IBus
guint prop_state)
{
IBusM17NEngine *m17n = (IBusM17NEngine *) engine;
@@ -531,7 +532,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
#ifdef HAVE_SETUP
if (g_strcmp0 (prop_name, "setup") == 0) {
-@@ -787,6 +1029,53 @@ ibus_m17n_engine_property_activate (IBus
+@@ -787,6 +1030,53 @@ ibus_m17n_engine_property_activate (IBus
}
#endif /* HAVE_SETUP */
diff --git a/ibus-m17n.spec b/ibus-m17n.spec
index 7e0cfa1..6d35123 100644
--- a/ibus-m17n.spec
+++ b/ibus-m17n.spec
@@ -19,7 +19,7 @@
Name: ibus-m17n
Version: 1.3.4
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: The M17N engine for IBus platform
License: GPLv2+
Group: System Environment/Libraries
@@ -32,6 +32,7 @@ Patch2: ibus-m17n-hide-title-status.patch
Patch3: ibus-m17n-blacklist-engines.patch
Patch4: ibus-m17n-virtkbd.patch
Patch5: ibus-m17n-fix-mtext-config.patch
+Patch6: ibus-m17n-translit-layout.patch
# The following BR is for autogen and not necessary when packging
# released tarballs.
@@ -50,7 +51,7 @@ BuildRequires: eekboard-devel >= %{require_eekboard_version}
Requires: ibus >= %{require_ibus_version}
Requires: m17n-lib
-Requires: eekboard >= %{require_eekboard_version}
+Requires: eekboard-service >= %{require_eekboard_version}
Requires: iok
%description
@@ -66,6 +67,7 @@ the input table maps from m17n-db.
%patch3 -p1 -b .blacklist-engines
%patch4 -p1 -b .virtkbd
%patch5 -p1 -b .fix-mtext-config
+%patch6 -p1 -b .translit-layout
NOCONFIGURE=1 ./autogen.sh
@@ -87,6 +89,14 @@ make DESTDIR=${RPM_BUILD_ROOT} install
%{_datadir}/ibus/component/*
%changelog
+* Wed Aug 15 2012 Daiki Ueno - 1.3.4-4
+- Add ibus-m17n-translit-layout.patch
+- Fix bug 847495 - For non-US keyboard layout Ibus-m17n adds English
+ (US) to the list of input methods and other input methods use US
+ layout
+- Require eekboard-service instead of eekboard
+- Fix bug 847500 - Don't install Eekboard by default in the desktop spin
+
* Thu Aug 2 2012 Daiki Ueno - 1.3.4-3
- Add ibus-m17n-fix-mtext-config.patch
- Fix bug 836397 - [abrt] ibus-m17n-1.3.3-11.fc17: mtext_data: Process