From b8e6431332a149a1291278e13bc4cc24367cf403 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: May 15 2013 03:57:25 +0000 Subject: import ibus-m17n-1.3.4-10.el7.src.rpm --- diff --git a/.ibus-m17n.metadata b/.ibus-m17n.metadata new file mode 100644 index 0000000..9ae415f --- /dev/null +++ b/.ibus-m17n.metadata @@ -0,0 +1 @@ +068de56caa87c002adeae0de9e908f47e3f9fde9 SOURCES/ibus-m17n-1.3.4.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/ibus-m17n-HEAD.patch b/SOURCES/ibus-m17n-HEAD.patch new file mode 100644 index 0000000..cbfb685 --- /dev/null +++ b/SOURCES/ibus-m17n-HEAD.patch @@ -0,0 +1,1928 @@ +diff --git a/autogen.sh b/autogen.sh +index 99be006..f8bf2b0 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -18,10 +18,10 @@ which gnome-autogen.sh || { + exit 1 + } + +-export CFLAGS="-g -O0" +-export CXXFLAGS="$CFLAGS" ++export CFLAGS=${CFLAGS-"-Wall"} ++export CXXFLAGS=${CXXFLAGS-"$CFLAGS"} + + ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4" + REQUIRED_AUTOMAKE_VERSION=1.10 + +-. gnome-autogen.sh ++. gnome-autogen.sh "$@" +diff --git a/configure.ac b/configure.ac +index 0548537..30d44ff 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -48,6 +48,7 @@ AM_PROG_CC_C_O + AC_PROG_CXX + AC_ISC_POSIX + AC_HEADER_STDC ++IT_PROG_INTLTOOL([0.35.0]) + AM_PROG_LIBTOOL + + # check ibus +@@ -111,8 +112,6 @@ AC_CONFIG_FILES([ po/Makefile.in + Makefile + ibus-m17n.spec + src/Makefile +-src/m17n.xml.in +-src/default.xml.in + icons/Makefile + m4/Makefile + ]) +diff --git a/po/POTFILES.in b/po/POTFILES.in +index a426e33..bb3bd6e 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -1,3 +1,5 @@ + src/engine.c + src/m17nutil.c + src/main.c ++[type: gettext/glade]src/ibus-m17n-preferences.ui ++src/ibus-setup-m17n.desktop.in.in +diff --git a/po/POTFILES.skip b/po/POTFILES.skip +new file mode 100644 +index 0000000..3667f37 +--- /dev/null ++++ b/po/POTFILES.skip +@@ -0,0 +1 @@ ++src/ibus-setup-m17n.desktop.in +diff --git a/src/Makefile.am b/src/Makefile.am +index 39d6523..68ec953 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -19,15 +19,14 @@ + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + AM_CFLAGS = \ +- @IBUS_CFLAGS@ \ +- @M17N_CFLAGS@ \ ++ $(IBUS_CFLAGS) \ ++ $(M17N_CFLAGS) \ + -DPKGDATADIR=\"$(pkgdatadir)\" \ + -DLIBEXECDIR=\"$(libexecdir)\" \ +- -DSETUPDIR=\"$(setupdir)\" \ + $(NULL) + AM_LDADD = \ +- @IBUS_LIBS@ \ +- @M17N_LIBS@ \ ++ $(IBUS_LIBS) \ ++ $(M17N_LIBS) \ + $(NULL) + + check_PROGRAMS = \ +@@ -38,6 +37,7 @@ TESTS = \ + $(check_PROGRAMS) \ + $(NULL) + ++TESTS_ENVIRONMENT = IBUS_M17N_PKGDATADIR=$(builddir) + + test_m17n_SOURCES = \ + test.c \ +@@ -46,10 +46,13 @@ test_m17n_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) + test_m17n_LDADD = \ +- libm17ncommon.a \ ++ libm17ncommon.la \ + $(AM_LDADD) \ + $(NULL) + ++test: ibus-engine-m17n ++ $(builddir)/ibus-engine-m17n ++ + libexec_PROGRAMS = ibus-engine-m17n + + noinst_LTLIBRARIES = libm17ncommon.la +@@ -67,8 +70,8 @@ ibus_engine_m17n_SOURCES = \ + $(NULL) + ibus_engine_m17n_LDADD = \ + libm17ncommon.la \ +- @IBUS_LIBS@ \ +- @M17N_LIBS@ \ ++ $(IBUS_LIBS) \ ++ $(M17N_LIBS) \ + $(NULL) + + if HAVE_GTK +@@ -78,58 +81,61 @@ ibus_setup_m17n_SOURCES = \ + setup.c \ + $(NULL) + ibus_setup_m17n_CFLAGS = \ +- @GTK_CFLAGS@ \ ++ $(GTK_CFLAGS) \ + $(AM_CFLAGS) \ + $(NULL) + ibus_setup_m17n_LDADD = \ + libm17ncommon.la \ +- @IBUS_LIBS@ \ +- @M17N_LIBS@ \ +- @GTK_LIBS@ \ ++ $(IBUS_LIBS) \ ++ $(M17N_LIBS) \ ++ $(GTK_LIBS) \ + $(NULL) ++ ++setupdir = $(pkgdatadir)/setup + dist_setup_DATA = \ + ibus-m17n-preferences.ui \ + $(NULL) + endif + +-setup_DATA = \ ++pkgdata_DATA = \ + default.xml \ + $(NULL) +-setupdir = $(pkgdatadir)/setup + + component_DATA = \ + m17n.xml \ + $(NULL) +-componentdir = @datadir@/ibus/component ++componentdir = $(datadir)/ibus/component + + EXTRA_DIST = \ +- m17n.xml.in.in \ +- default.xml.in \ ++ m17n.xml.in \ ++ $(desktop_in_in_files) \ + $(NULL) + + DISTCLEANFILES = \ + m17n.xml.in \ +- default.xml.in \ + $(NULL) + + CLEANFILES = \ + m17n.xml \ +- default.xml \ ++ $(desktop_DATA) \ ++ $(desktop_in_files) \ + $(NULL) + ++edit = sed \ ++ -e 's|@VERSION[@]|$(VERSION)|g' \ ++ -e 's|@libexecdir[@]|$(libexecdir)|g' \ ++ -e 's|@pkgdatadir[@]|$(pkgdatadir)|g' ++ + m17n.xml: m17n.xml.in +-default.xml: default.xml.in +- +-SUFFIXES = .xml.in .xml +-.xml.in.xml: +- $(AM_V_GEN) \ +- ( \ +- libexecdir=${libexecdir}; \ +- pkgdatadir=${pkgdatadir}; \ +- setupdir=${setupdir}; \ +- s=`cat $<`; \ +- eval "echo \"$${s}\""; \ +- ) > $@ ++ $(AM_V_GEN) $(edit) $< > $@.tmp && mv $@.tmp $@ + +-test: ibus-engine-m17n +- $(builddir)/ibus-engine-m17n ++desktop_in_in_files = ibus-setup-m17n.desktop.in.in ++desktop_in_files = $(desktop_in_in_files:.in.in=.in) ++ ++$(desktop_in_files): %.desktop.in: %.desktop.in.in Makefile ++ $(AM_V_GEN) $(edit) $< > $@.tmp && mv $@.tmp $@ ++ ++desktopdir=$(datadir)/applications ++desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) ++ ++@INTLTOOL_DESKTOP_RULE@ +diff --git a/src/default.xml b/src/default.xml +new file mode 100644 +index 0000000..ffd733a +--- /dev/null ++++ b/src/default.xml +@@ -0,0 +1,434 @@ ++ ++ ++ ++ ++ ++ m17n:* ++ 0 ++ FALSE ++ ++ ++ ++ ++ ++ m17n:*:kbd ++ -1 ++ ++ ++ ++ m17n:zh:py ++ -1 ++ ++ ++ ++ m17n:ja:anthy ++ -1 ++ ++ ++ ++ m17n:ko:han2 ++ -1 ++ ++ ++ ++ m17n:ko:romaja ++ -1 ++ ++ ++ ++ m17n:as:* ++ 1 ++ ++ ++ m17n:bn:* ++ 1 ++ ++ ++ m17n:gu:* ++ 1 ++ ++ ++ m17n:hi:* ++ 1 ++ ++ ++ m17n:kn:* ++ 1 ++ ++ ++ m17n:ks:* ++ 1 ++ ++ ++ m17n:mai:* ++ 1 ++ ++ ++ m17n:ml:* ++ 1 ++ ++ ++ m17n:mr:* ++ 1 ++ ++ ++ m17n:ne:* ++ 1 ++ ++ ++ m17n:or:* ++ 1 ++ ++ ++ m17n:pa:* ++ 1 ++ ++ ++ m17n:sa:* ++ 1 ++ ++ ++ m17n:sd:* ++ 1 ++ ++ ++ m17n:si:* ++ 1 ++ ++ ++ m17n:ta:* ++ 1 ++ ++ ++ m17n:te:* ++ 1 ++ ++ ++ ++ m17n:as:phonetic ++ 2 ++ ++ ++ m17n:bn:inscript ++ 2 ++ ++ ++ m17n:gu:inscript ++ 2 ++ ++ ++ m17n:hi:inscript ++ 2 ++ ++ ++ m17n:kn:kgp ++ 2 ++ ++ ++ m17n:ks:kbd ++ 2 ++ ++ ++ m17n:mai:inscript ++ 2 ++ ++ ++ m17n:ml:inscript ++ 2 ++ ++ ++ m17n:mr:inscript ++ 2 ++ ++ ++ m17n:ne:rom ++ 2 ++ ++ ++ m17n:or:inscript ++ 2 ++ ++ ++ m17n:pa:inscript ++ 2 ++ ++ ++ m17n:sa:harvard-kyoto ++ 2 ++ ++ ++ m17n:sd:inscript ++ 2 ++ ++ ++ m17n:si:wijesekera ++ 2 ++ ++ ++ m17n:ta:tamil99 ++ 2 ++ ++ ++ m17n:te:inscript ++ 2 ++ ++ ++ ++ m17n:si:samanala ++ 0 ++ ++ ++ ++ m17n:zh:cangjie ++ TRUE ++ ++ ++ m17n:zh:py-b5 ++ TRUE ++ ++ ++ m17n:zh:py-gb ++ TRUE ++ ++ ++ m17n:zh:py ++ TRUE ++ ++ ++ m17n:zh:quick ++ TRUE ++ ++ ++ m17n:zh:tonepy-b5 ++ TRUE ++ ++ ++ m17n:zh:tonepy-gb ++ TRUE ++ ++ ++ m17n:zh:tonepy ++ TRUE ++ ++ ++ m17n:ja:anthy ++ TRUE ++ ++ ++ ++ m17n:as:* ++ ++ ++ ++ m17n:bn:* ++ বা ++ ++ ++ m17n:gu:* ++ ગુ ++ ++ ++ m17n:hi:* ++ हिं ++ ++ ++ m17n:kn:* ++ ++ ++ ++ m17n:ks:* ++ ++ ++ ++ m17n:mai:* ++ मै ++ ++ ++ m17n:ml:* ++ ++ ++ ++ m17n:mr:* ++ ++ ++ ++ m17n:ne:* ++ ने ++ ++ ++ m17n:or:* ++ ++ ++ ++ m17n:pa:* ++ ਪੰ ++ ++ ++ m17n:sa:* ++ सं ++ ++ ++ m17n:sd:* ++ सिं ++ ++ ++ m17n:si:* ++ සි ++ ++ ++ m17n:ta:* ++ ++ ++ ++ m17n:te:* ++ తె ++ ++ ++ m17n:*:kbd ++ ++ ++ ++ m17n:*:pre ++ ++ ++ ++ m17n:*:post ++ ++ ++ ++ m17n:am:sera ++ ++ ++ ++ m17n:bo:* ++ ++ ++ ++ m17n:cr:* ++ ++ ++ ++ m17n:dv:* ++ ++ ++ ++ m17n:eo:* ++ ++ ++ ++ m17n:fa:* ++ ف ++ ++ ++ m17n:fr:* ++ ++ ++ ++ m17n:ii:* ++ ++ ++ ++ m17n:iu:* ++ ++ ++ ++ m17n:ja:anthy ++ ++ ++ ++ m17n:kk:* ++ قا ++ ++ ++ m17n:km:* ++ ++ ++ ++ m17n:lo:* ++ ++ ++ ++ m17n:nsk:* ++ ++ ++ ++ m17n:oj:* ++ ++ ++ ++ m17n:ps:* ++ ++ ++ ++ m17n:ru:* ++ Я ++ ++ ++ m17n:sv:* ++ ++ ++ ++ m17n:syrc:* ++ ++ ++ ++ m17n:tai:* ++ ++ ++ ++ m17n:th:* ++ ++ ++ ++ m17n:ur:* ++ خ ++ ++ ++ m17n:vi:han ++ ++ ++ ++ m17n:vi:nom* ++ ++ ++ ++ m17n:vi:* ++ ++ ++ ++ m17n:yi:* ++ ++ ++ ++ m17n:zh:bopomofo ++ ++ ++ ++ m17n:zh:cangjie ++ ++ ++ ++ m17n:zh:pinyin ++ PY ++ hanyu pinyin (m17n) ++ ++ ++ m17n:zh:py* ++ ++ ++ ++ m17n:zh:quick ++ ++ ++ ++ m17n:zh:tonepy* ++ ++ ++ +diff --git a/src/default.xml.in.in b/src/default.xml.in.in +deleted file mode 100644 +index 9f5a01e..0000000 +--- a/src/default.xml.in.in ++++ /dev/null +@@ -1,408 +0,0 @@ +- +- +- +- +- +- m17n:* +- 0 +- FALSE +- +- +- +- +- m17n:as:* +- 1 +- +- +- m17n:bn:* +- 1 +- +- +- m17n:gu:* +- 1 +- +- +- m17n:hi:* +- 1 +- +- +- m17n:kn:* +- 1 +- +- +- m17n:ks:* +- 1 +- +- +- m17n:mai:* +- 1 +- +- +- m17n:ml:* +- 1 +- +- +- m17n:mr:* +- 1 +- +- +- m17n:ne:* +- 1 +- +- +- m17n:or:* +- 1 +- +- +- m17n:pa:* +- 1 +- +- +- m17n:sa:* +- 1 +- +- +- m17n:sd:* +- 1 +- +- +- m17n:si:* +- 1 +- +- +- m17n:ta:* +- 1 +- +- +- m17n:te:* +- 1 +- +- +- +- m17n:as:phonetic +- 2 +- +- +- m17n:bn:inscript +- 2 +- +- +- m17n:gu:inscript +- 2 +- +- +- m17n:hi:inscript +- 2 +- +- +- m17n:kn:kgp +- 2 +- +- +- m17n:ks:kbd +- 2 +- +- +- m17n:mai:inscript +- 2 +- +- +- m17n:ml:inscript +- 2 +- +- +- m17n:mr:inscript +- 2 +- +- +- m17n:ne:rom +- 2 +- +- +- m17n:or:inscript +- 2 +- +- +- m17n:pa:inscript +- 2 +- +- +- m17n:sa:harvard-kyoto +- 2 +- +- +- m17n:sd:inscript +- 2 +- +- +- m17n:si:wijesekera +- 2 +- +- +- m17n:ta:tamil99 +- 2 +- +- +- m17n:te:inscript +- 2 +- +- +- +- m17n:si:samanala +- 0 +- +- +- +- m17n:zh:cangjie +- TRUE +- +- +- m17n:zh:py-b5 +- TRUE +- +- +- m17n:zh:py-gb +- TRUE +- +- +- m17n:zh:py +- TRUE +- +- +- m17n:zh:quick +- TRUE +- +- +- m17n:zh:tonepy-b5 +- TRUE +- +- +- m17n:zh:tonepy-gb +- TRUE +- +- +- m17n:zh:tonepy +- TRUE +- +- +- m17n:ja:anthy +- TRUE +- +- +- +- m17n:as:* +- +- +- +- m17n:bn:* +- বা +- +- +- m17n:gu:* +- ગુ +- +- +- m17n:hi:* +- हिं +- +- +- m17n:kn:* +- +- +- +- m17n:ks:* +- +- +- +- m17n:mai:* +- मै +- +- +- m17n:ml:* +- +- +- +- m17n:mr:* +- +- +- +- m17n:ne:* +- ने +- +- +- m17n:or:* +- +- +- +- m17n:pa:* +- ਪੰ +- +- +- m17n:sa:* +- सं +- +- +- m17n:sd:* +- सिं +- +- +- m17n:si:* +- සි +- +- +- m17n:ta:* +- +- +- +- m17n:te:* +- తె +- +- +- m17n:*:kbd +- +- +- +- m17n:*:pre +- +- +- +- m17n:*:post +- +- +- +- m17n:am:sera +- +- +- +- m17n:bo:* +- +- +- +- m17n:cr:* +- +- +- +- m17n:dv:* +- +- +- +- m17n:eo:* +- +- +- +- m17n:fa:* +- ف +- +- +- m17n:fr:* +- +- +- +- m17n:ii:* +- +- +- +- m17n:iu:* +- +- +- +- m17n:ja:anthy +- +- +- +- m17n:kk:* +- قا +- +- +- m17n:km:* +- +- +- +- m17n:lo:* +- +- +- +- m17n:nsk:* +- +- +- +- m17n:oj:* +- +- +- +- m17n:ps:* +- +- +- +- m17n:ru:* +- Я +- +- +- m17n:sv:* +- +- +- +- m17n:syrc:* +- +- +- +- m17n:tai:* +- +- +- +- m17n:th:* +- +- +- +- m17n:ur:* +- خ +- +- +- m17n:vi:han +- +- +- +- m17n:vi:nom* +- +- +- +- m17n:vi:* +- +- +- +- m17n:yi:* +- +- +- +- m17n:zh:bopomofo +- +- +- +- m17n:zh:cangjie +- +- +- +- m17n:zh:pinyin +- PY +- hanyu pinyin (m17n) +- +- +- m17n:zh:py* +- +- +- +- m17n:zh:quick +- +- +- +- m17n:zh:tonepy* +- +- +- +diff --git a/src/engine.c b/src/engine.c +index bd7ea0f..bcc1a71 100644 +--- a/src/engine.c ++++ b/src/engine.c +@@ -23,6 +23,7 @@ struct _IBusM17NEngine { + IBusProperty *setup_prop; + #endif /* HAVE_SETUP */ + IBusPropList *prop_list; ++ IBusKeymap *us_keymap; + }; + + struct _IBusM17NEngineClass { +@@ -35,6 +36,7 @@ struct _IBusM17NEngineClass { + gint preedit_underline; + IBusPreeditFocusMode preedit_focus_mode; + gint lookup_table_orientation; ++ gboolean use_us_layout; + + MInputMethod *im; + }; +@@ -64,14 +66,6 @@ static void ibus_m17n_engine_focus_out (IBusEngine *engine); + static void ibus_m17n_engine_reset (IBusEngine *engine); + static void ibus_m17n_engine_enable (IBusEngine *engine); + static void ibus_m17n_engine_disable (IBusEngine *engine); +-static void ibus_engine_set_cursor_location (IBusEngine *engine, +- gint x, +- gint y, +- gint w, +- gint h); +-static void ibus_m17n_engine_set_capabilities +- (IBusEngine *engine, +- guint caps); + static void ibus_m17n_engine_page_up (IBusEngine *engine); + static void ibus_m17n_engine_page_down (IBusEngine *engine); + static void ibus_m17n_engine_cursor_up (IBusEngine *engine); +@@ -80,12 +74,6 @@ static void ibus_m17n_engine_property_activate + (IBusEngine *engine, + const gchar *prop_name, + guint prop_state); +-static void ibus_m17n_engine_property_show +- (IBusEngine *engine, +- const gchar *prop_name); +-static void ibus_m17n_engine_property_hide +- (IBusEngine *engine, +- const gchar *prop_name); + + static void ibus_m17n_engine_commit_string + (IBusM17NEngine *m17n, +@@ -263,6 +251,7 @@ ibus_m17n_engine_class_init (IBusM17NEngineClass *klass) + IBUS_ENGINE_PREEDIT_COMMIT : + IBUS_ENGINE_PREEDIT_CLEAR; + klass->lookup_table_orientation = IBUS_ORIENTATION_SYSTEM; ++ klass->use_us_layout = FALSE; + + ibus_m17n_engine_config_free (engine_config); + +@@ -304,6 +293,14 @@ ibus_m17n_engine_class_init (IBusM17NEngineClass *klass) + klass->lookup_table_orientation = g_variant_get_int32 (value); + g_variant_unref (value); + } ++ ++ value = g_variant_lookup_value (values, ++ "use_us_layout", ++ G_VARIANT_TYPE_BOOLEAN); ++ if (value != NULL) { ++ klass->use_us_layout = g_variant_get_boolean (value); ++ g_variant_unref (value); ++ } + g_variant_unref (values); + } + +@@ -340,6 +337,8 @@ ibus_m17n_config_value_changed (IBusConfig *config, + klass->preedit_underline = g_variant_get_int32 (value); + } else if (g_strcmp0 (name, "lookup_table_orientation") == 0) { + klass->lookup_table_orientation = g_variant_get_int32 (value); ++ } else if (g_strcmp0 (name, "use_us_layout") == 0) { ++ klass->use_us_layout = g_variant_get_boolean (value); + } + } + } +@@ -384,6 +383,7 @@ ibus_m17n_engine_init (IBusM17NEngine *m17n) + m17n->table = ibus_lookup_table_new (9, 0, TRUE, TRUE); + g_object_ref_sink (m17n->table); + m17n->context = NULL; ++ m17n->us_keymap = ibus_keymap_get ("us"); + } + + static GObject* +@@ -476,6 +476,11 @@ ibus_m17n_engine_destroy (IBusM17NEngine *m17n) + m17n->context = NULL; + } + ++ if (m17n->us_keymap) { ++ g_object_unref (m17n->us_keymap); ++ m17n->us_keymap = NULL; ++ } ++ + IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)m17n); + } + +@@ -531,28 +536,25 @@ ibus_m17n_engine_commit_string (IBusM17NEngine *m17n, + Since IBus engines are supposed to be cross-platform, the code + should go into IBus core, instead of ibus-m17n. */ + static MSymbol +-ibus_m17n_key_event_to_symbol (guint keycode, +- guint keyval, +- guint modifiers) ++ibus_m17n_key_event_to_symbol (IBusM17NEngine *m17n, ++ guint keycode, ++ guint keyval, ++ guint modifiers) + { + GString *keysym; + MSymbol mkeysym = Mnil; + guint mask = 0; +- IBusKeymap *keymap; + + if (keyval >= IBUS_Shift_L && keyval <= IBUS_Hyper_R) { + return Mnil; + } + +- /* Here, keyval is already translated by IBUS_MOD5_MASK. Obtain +- the untranslated keyval from the underlying keymap and +- represent the translated keyval as the form "G-", which m17n-lib accepts. */ ++ /* If keyval is already translated by IBUS_MOD5_MASK. Try to ++ obtain the untranslated keyval from the US keymap. */ + if (modifiers & IBUS_MOD5_MASK) { +- keymap = ibus_keymap_get ("us"); +- keyval = ibus_keymap_lookup_keysym (keymap, keycode, ++ keyval = ibus_keymap_lookup_keysym (m17n->us_keymap, ++ keycode, + modifiers & ~IBUS_MOD5_MASK); +- g_object_unref (keymap); + } + + keysym = g_string_new (""); +@@ -656,15 +658,38 @@ ibus_m17n_engine_process_key_event (IBusEngine *engine, + guint modifiers) + { + IBusM17NEngine *m17n = (IBusM17NEngine *) engine; ++ IBusM17NEngineClass *klass = ++ (IBusM17NEngineClass *) G_OBJECT_GET_CLASS (m17n); ++ guint original_keyval = keyval; + + if (modifiers & IBUS_RELEASE_MASK) + return FALSE; +- MSymbol m17n_key = ibus_m17n_key_event_to_symbol (keycode, keyval, modifiers); + +- if (m17n_key == Mnil) +- return FALSE; ++ if (klass->use_us_layout) { ++ keyval = ibus_keymap_lookup_keysym (m17n->us_keymap, ++ keycode, ++ modifiers); ++ } + +- return ibus_m17n_engine_process_key (m17n, m17n_key); ++ MSymbol m17n_key = ibus_m17n_key_event_to_symbol (m17n, ++ keycode, ++ keyval, ++ modifiers); ++ if (m17n_key != Mnil && ibus_m17n_engine_process_key (m17n, m17n_key)) { ++ return TRUE; ++ } ++ ++ /* If keyval is translated in US layout, send the new keyval and ++ notify that the event is handled. */ ++ if (keyval != original_keyval && 0x20 <= keyval && keyval < 0x7F) { ++ gchar buf[2]; ++ buf[0] = keyval; ++ buf[1] = '\0'; ++ ibus_m17n_engine_commit_string (m17n, buf); ++ return TRUE; ++ } ++ ++ return FALSE; + } + + static void +@@ -704,8 +729,6 @@ ibus_m17n_engine_reset (IBusEngine *engine) + static void + ibus_m17n_engine_enable (IBusEngine *engine) + { +- IBusM17NEngine *m17n = (IBusM17NEngine *) engine; +- + parent_class->enable (engine); + + /* Issue a dummy ibus_engine_get_surrounding_text() call to tell +@@ -716,8 +739,6 @@ ibus_m17n_engine_enable (IBusEngine *engine) + static void + ibus_m17n_engine_disable (IBusEngine *engine) + { +- IBusM17NEngine *m17n = (IBusM17NEngine *) engine; +- + ibus_m17n_engine_focus_out (engine); + parent_class->disable (engine); + } +@@ -951,7 +972,9 @@ ibus_m17n_engine_callback (MInputContext *context, + &anchor_pos); + nchars = ibus_text_get_length (text); + nbytes = g_utf8_offset_to_pointer (text->text, nchars) - text->text; +- mt = mconv_decode_buffer (Mcoding_utf_8, text->text, nbytes); ++ mt = mconv_decode_buffer (Mcoding_utf_8, ++ (const unsigned char *) text->text, ++ nbytes); + g_object_unref (text); + + len = (long) mplist_value (m17n->context->plist); +diff --git a/src/ibus-m17n-preferences.ui b/src/ibus-m17n-preferences.ui +index a46ab49..e85fb15 100644 +--- a/src/ibus-m17n-preferences.ui ++++ b/src/ibus-m17n-preferences.ui +@@ -1,8 +1,8 @@ +- ++ + + + +- ++ + + + +@@ -11,24 +11,20 @@ + + + +- Single +- 1 +- +- +- Double ++ System + 2 + + +- Low +- 3 ++ Vertical ++ 1 + + +- None ++ Horizontal + 0 + + + +- ++ + + + +@@ -37,32 +33,67 @@ + + + +- System ++ Single ++ 1 ++ ++ ++ Double + 2 + + +- Vertical +- 1 ++ Low ++ 3 + + +- Horizontal ++ None + 0 + + + + + 400 ++ False + 5 + Preferences + center-always + gtk-preferences + normal +- False + + + True +- vertical ++ False + 2 ++ ++ ++ True ++ False ++ end ++ ++ ++ gtk-close ++ True ++ True ++ True ++ True ++ True ++ True ++ True ++ True ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ False ++ True ++ end ++ 0 ++ ++ + + + True +@@ -71,6 +102,7 @@ + + + True ++ False + 12 + 12 + 12 +@@ -78,20 +110,23 @@ + + + True +- vertical ++ False + + + True ++ False + 0 + none + + + True ++ False + 6 + 12 + + + True ++ False + 3 + 2 + +@@ -123,6 +158,7 @@ + + + True ++ False + liststore_underline + + +@@ -157,6 +193,7 @@ + + + True ++ False + Underline: + + +@@ -171,31 +208,39 @@ + + + True ++ False + <b>Pre-edit Appearance</b> + True + + + + ++ True ++ True + 0 + + + + + True ++ False + 0 + none + + + True ++ False + 12 + + + True ++ False ++ 2 + 2 + + + True ++ False + 0.46000000834465027 + Lookup Table Orientation: + +@@ -203,6 +248,7 @@ + + + True ++ False + liststore_orientation + + +@@ -210,6 +256,20 @@ + 2 + + ++ ++ ++ Use US keyboard layout ++ True ++ True ++ False ++ True ++ ++ ++ 2 ++ 1 ++ 2 ++ ++ + + + +@@ -217,12 +277,15 @@ + + + True ++ False + <b>Other</b> + True + + + + ++ True ++ True + 1 + + +@@ -233,6 +296,7 @@ + + + True ++ False + General + + +@@ -242,6 +306,7 @@ + + + True ++ False + 12 + 12 + 12 +@@ -249,11 +314,13 @@ + + + True ++ False + 0 + none + + + True ++ False + 6 + 12 + +@@ -277,6 +344,7 @@ + + + True ++ False + <b>m17n-lib Configuration</b> + True + +@@ -291,6 +359,7 @@ + + + True ++ False + Advanced + + +@@ -300,38 +369,11 @@ + + + ++ True ++ True + 1 + + +- +- +- True +- end +- +- +- gtk-close +- True +- True +- True +- True +- True +- True +- True +- True +- +- +- False +- False +- 0 +- +- +- +- +- False +- end +- 0 +- +- + + + +diff --git a/src/ibus-setup-m17n.desktop.in.in b/src/ibus-setup-m17n.desktop.in.in +new file mode 100644 +index 0000000..a380cb3 +--- /dev/null ++++ b/src/ibus-setup-m17n.desktop.in.in +@@ -0,0 +1,7 @@ ++[Desktop Entry] ++_Name=IBus M17N Setup ++_Comment=Set up IBus M17N engine ++Exec=@libexecdir@/ibus-setup-m17n ++NoDisplay=true ++Type=Application ++StartupNotify=true +diff --git a/src/m17n.xml.in b/src/m17n.xml.in +new file mode 100644 +index 0000000..fc215ab +--- /dev/null ++++ b/src/m17n.xml.in +@@ -0,0 +1,18 @@ ++ ++ ++ ++ org.freedesktop.IBus.M17N ++ M17N Component ++ @libexecdir@/ibus-engine-m17n --ibus ++ @VERSION@ ++ Peng Huang <shawn.p.huang@gmail.com> ++ GPL ++ http://code.google.com/p/ibus ++ ibus-m17n ++ ++ /usr/share/m17n/ ++ @pkgdatadir@/default.xml ++ ~/.m17n.d/ ++ ++ ++ +diff --git a/src/m17n.xml.in.in b/src/m17n.xml.in.in +deleted file mode 100644 +index 2f18ad5..0000000 +--- a/src/m17n.xml.in.in ++++ /dev/null +@@ -1,18 +0,0 @@ +- +- +- +- org.freedesktop.IBus.M17N +- M17N Component +- ${libexecdir}/ibus-engine-m17n --ibus +- @VERSION@ +- Peng Huang <shawn.p.huang@gmail.com> +- GPL +- http://code.google.com/p/ibus +- ibus-m17n +- +- /usr/share/m17n/ +- ${setupdir}/default.xml +- ~/.m17n.d/ +- +- +- +diff --git a/src/m17nutil.c b/src/m17nutil.c +index 51026b2..d82b855 100644 +--- a/src/m17nutil.c ++++ b/src/m17nutil.c +@@ -11,7 +11,7 @@ + + static MConverter *utf8_converter = NULL; + +-#define DEFAULT_XML (SETUPDIR "/default.xml") ++#define DEFAULT_XML (PKGDATADIR "/default.xml") + + typedef enum { + ENGINE_CONFIG_RANK_MASK = 1 << 0, +@@ -53,7 +53,9 @@ ibus_m17n_mtext_to_utf8 (MText *text) + bufsize = (mtext_len (text) + 1) * 6; + buf = (gchar *) g_malloc (bufsize); + +- mconv_rebind_buffer (utf8_converter, buf, bufsize); ++ mconv_rebind_buffer (utf8_converter, ++ (const unsigned char *) buf, ++ bufsize); + mconv_encode (utf8_converter, text); + + buf [utf8_converter->nbytes] = 0; +@@ -76,7 +78,9 @@ ibus_m17n_mtext_to_ucs4 (MText *text, glong *nchars) + bufsize = (mtext_len (text) + 1) * 6; + buf = (gchar *) g_malloc (bufsize); + +- mconv_rebind_buffer (utf8_converter, buf, bufsize); ++ mconv_rebind_buffer (utf8_converter, ++ (const unsigned char *) buf, ++ bufsize); + if (mconv_encode (utf8_converter, text) < 0) { + g_free (buf); + return NULL; +@@ -133,7 +137,7 @@ ibus_m17n_engine_new (MSymbol lang, + "language", msymbol_name (lang), + "license", "GPL", + "icon", engine_icon ? engine_icon : "", +- "layout", "us", ++ "layout", "default", + "rank", config->rank, + "symbol", config->symbol ? config->symbol : "", + "setup", engine_setup, +@@ -202,17 +206,12 @@ ibus_m17n_list_engines (void) + if (l) { + /* check candidates encoding */ + MPlist *sl; +- MSymbol varname; +- MText *vardesc; +- MSymbol varunknown; + MSymbol varcharset; + + sl = mplist_value (l); +- varname = mplist_value (sl); ++ /* L = (VAR-NAME DESCRIPTION 'nil' VALUE) */ + sl = mplist_next (sl); +- vardesc = mplist_value (sl); + sl = mplist_next (sl); +- varunknown = mplist_value (sl); + sl = mplist_next (sl); + varcharset = mplist_value (sl); + +@@ -336,17 +335,24 @@ ibus_m17n_get_component (void) + GList *engines, *p; + IBusComponent *component; + XMLNode *node; ++ const gchar *pkgdatadir; ++ gchar *default_xml; + + component = ibus_component_new ("org.freedesktop.IBus.M17n", + N_("M17N"), +- "0.1.0", ++ PACKAGE_VERSION, + "GPL", + "Peng Huang ", + "http://code.google.com/p/ibus/", + "", +- "ibus-m17n"); ++ PACKAGE_NAME); + +- node = ibus_xml_parse_file (DEFAULT_XML); ++ pkgdatadir = g_getenv ("IBUS_M17N_PKGDATADIR"); ++ if (pkgdatadir == NULL) ++ pkgdatadir = PKGDATADIR; ++ default_xml = g_build_filename (pkgdatadir, "default.xml", NULL); ++ ++ node = ibus_xml_parse_file (default_xml); + if (node && g_strcmp0 (node->name, "engines") == 0) { + for (p = node->sub_nodes; p != NULL; p = p->next) { + XMLNode *sub_node = p->data; +@@ -367,10 +373,12 @@ ibus_m17n_get_component (void) + } + config_list = g_slist_reverse (config_list); + } else +- g_warning ("failed to parse %s", DEFAULT_XML); ++ g_warning ("failed to parse %s", default_xml); + if (node) + ibus_xml_free (node); + ++ g_free (default_xml); ++ + engines = ibus_m17n_list_engines (); + + for (p = engines; p != NULL; p = p->next) +diff --git a/src/setup.c b/src/setup.c +index cc5cb09..513fabf 100644 +--- a/src/setup.c ++++ b/src/setup.c +@@ -25,6 +25,7 @@ struct _SetupDialog { + GtkWidget *colorbutton_foreground; + GtkWidget *checkbutton_background; + GtkWidget *colorbutton_background; ++ GtkWidget *checkbutton_use_us_layout; + GtkWidget *treeview; + GtkListStore *store; + +@@ -73,7 +74,9 @@ parse_m17n_value (MPlist *plist, gchar *text) + if (mplist_key (plist) == Mtext) { + MText *mtext; + +- mtext = mtext_from_data (text, strlen (text), MTEXT_FORMAT_UTF_8); ++ mtext = mconv_decode_buffer (Mcoding_utf_8, ++ (const unsigned char *) text, ++ strlen (text)); + value = mplist (); + mplist_add (value, Mtext, mtext); + return value; +@@ -288,6 +291,25 @@ load_choice (GVariant *values, + } + + static void ++load_toggle (GVariant *values, ++ GtkToggleButton *togglebutton, ++ const gchar *name, ++ gboolean defval) ++{ ++ GVariant *value; ++ gboolean bvalue; ++ ++ bvalue = defval; ++ value = g_variant_lookup_value (values, name, G_VARIANT_TYPE_BOOLEAN); ++ if (value != NULL) { ++ bvalue = g_variant_get_boolean (value); ++ g_variant_unref (value); ++ } ++ ++ gtk_toggle_button_set_active (togglebutton, bvalue); ++} ++ ++static void + setup_dialog_load_config (SetupDialog *dialog) + { + GVariant *values; +@@ -336,6 +358,12 @@ setup_dialog_load_config (SetupDialog *dialog) + "lookup_table_orientation", + IBUS_ORIENTATION_SYSTEM); + ++ /* Use US keyboard layout */ ++ load_toggle (values, ++ GTK_TOGGLE_BUTTON (dialog->checkbutton_use_us_layout), ++ "use_us_layout", ++ FALSE); ++ + /* Advanced -> m17n-lib configuration */ + dialog->store = gtk_list_store_new (NUM_COLS, + G_TYPE_STRING, +@@ -372,10 +400,10 @@ setup_dialog_load_config (SetupDialog *dialog) + static gchar * + _gdk_color_to_string (GdkColor *color) + { +- g_strdup_printf ("#%02X%02X%02X", +- (color->red & 0xFF00) >> 8, +- (color->green & 0xFF00) >> 8, +- (color->blue & 0xFF00) >> 8); ++ return g_strdup_printf ("#%02X%02X%02X", ++ (color->red & 0xFF00) >> 8, ++ (color->green & 0xFF00) >> 8, ++ (color->blue & 0xFF00) >> 8); + } + + static void +@@ -418,6 +446,20 @@ save_choice (SetupDialog *dialog, + ibus_config_set_value (dialog->config, dialog->section, name, value); + } + ++static void ++save_toggle (SetupDialog *dialog, ++ GtkToggleButton *togglebutton, ++ const gchar *name) ++{ ++ GVariant *value; ++ ++ value = g_variant_new_boolean (gtk_toggle_button_get_active (togglebutton)); ++ ibus_config_set_value (dialog->config, ++ dialog->section, ++ name, ++ value); ++} ++ + static gboolean + save_m17n_options (SetupDialog *dialog) + { +@@ -428,7 +470,7 @@ save_m17n_options (SetupDialog *dialog) + gboolean retval = TRUE; + + if (!gtk_tree_model_get_iter_first (model, &iter)) +- return; ++ return FALSE; + + do { + gtk_tree_model_get (model, &iter, +@@ -499,6 +541,9 @@ setup_dialog_save_config (SetupDialog *dialog) + save_choice (dialog, + GTK_COMBO_BOX (dialog->combobox_orientation), + "lookup_table_orientation"); ++ save_toggle (dialog, ++ GTK_TOGGLE_BUTTON (dialog->checkbutton_use_us_layout), ++ "use_us_layout"); + save_m17n_options (dialog); + } + +@@ -525,7 +570,7 @@ setup_dialog_new (IBusConfig *config, + + error = NULL; + if (gtk_builder_add_from_file (builder, +- SETUPDIR "/ibus-m17n-preferences.ui", ++ PKGDATADIR "setup/ibus-m17n-preferences.ui", + &error) == 0) { + g_warning ("can't read ibus-m17n-preferences.ui: %s", + error->message); +@@ -547,6 +592,8 @@ setup_dialog_new (IBusConfig *config, + dialog->combobox_underline = GTK_WIDGET (object); + object = gtk_builder_get_object (builder, "combobox_orientation"); + dialog->combobox_orientation = GTK_WIDGET (object); ++ object = gtk_builder_get_object (builder, "checkbutton_use_us_layout"); ++ dialog->checkbutton_use_us_layout = GTK_WIDGET (object); + object = gtk_builder_get_object (builder, "treeview_mim_config"); + dialog->treeview = GTK_WIDGET (object); + +@@ -567,9 +614,8 @@ start (const gchar *engine_name) + { + IBusBus *bus; + IBusConfig *config; +- gchar **strv, *section; ++ gchar **strv; + SetupDialog *dialog; +- GObject *object; + + ibus_init (); + ibus_m17n_init_common (); +@@ -610,6 +656,11 @@ main (gint argc, gchar **argv) + g_option_context_free (context); + + gtk_init (&argc, &argv); ++ ++ if (!opt_name) { ++ opt_name = (gchar *) g_getenv ("IBUS_ENGINE_NAME"); ++ } ++ + if (!opt_name) { + fprintf (stderr, "can't determine IBus engine name; use --name\n"); + exit (1); diff --git a/SOURCES/ibus-m17n-fix-data-location.patch b/SOURCES/ibus-m17n-fix-data-location.patch new file mode 100644 index 0000000..b99bfaf --- /dev/null +++ b/SOURCES/ibus-m17n-fix-data-location.patch @@ -0,0 +1,25 @@ +From b0e03bac1f3b420ac1b7ac76d6008dd4ed942cbf Mon Sep 17 00:00:00 2001 +From: Daiki Ueno +Date: Mon, 13 May 2013 15:45:33 +0900 +Subject: [PATCH] Fix ibus-m17n-preferences.ui location + +--- + src/setup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/setup.c b/src/setup.c +index 513fabf..4de8fb1 100644 +--- a/src/setup.c ++++ b/src/setup.c +@@ -570,7 +570,7 @@ setup_dialog_new (IBusConfig *config, + + error = NULL; + if (gtk_builder_add_from_file (builder, +- PKGDATADIR "setup/ibus-m17n-preferences.ui", ++ PKGDATADIR "/setup/ibus-m17n-preferences.ui", + &error) == 0) { + g_warning ("can't read ibus-m17n-preferences.ui: %s", + error->message); +-- +1.8.1.4 + diff --git a/SOURCES/ibus-m17n-hide-title-status.patch b/SOURCES/ibus-m17n-hide-title-status.patch new file mode 100644 index 0000000..b373882 --- /dev/null +++ b/SOURCES/ibus-m17n-hide-title-status.patch @@ -0,0 +1,43 @@ +From 02022c17212357afb5cec727edd8f095aa40d98d Mon Sep 17 00:00:00 2001 +From: Daiki Ueno +Date: Thu, 29 Sep 2011 10:17:28 +0900 +Subject: [PATCH 2/4] Hide status from the panel if status == title. + +--- + src/engine.c | 8 +++++++- + 1 files changed, 7 insertions(+), 1 deletions(-) + +Index: ibus-m17n-1.3.4/src/engine.c +=================================================================== +--- ibus-m17n-1.3.4.orig/src/engine.c ++++ ibus-m17n-1.3.4/src/engine.c +@@ -38,6 +38,7 @@ struct _IBusM17NEngineClass { + gint lookup_table_orientation; + gboolean use_us_layout; + ++ gchar *title; + MInputMethod *im; + }; + +@@ -233,6 +234,10 @@ ibus_m17n_engine_class_init (IBusM17NEng + } + engine_name = g_strdup_printf ("m17n:%s:%s", lang, name); + klass->config_section = g_strdup_printf ("engine/M17N/%s/%s", lang, name); ++ MPlist *l = minput_get_title_icon (msymbol (lang), msymbol (name)); ++ if (l && mplist_key (l) == Mtext) { ++ klass->title = ibus_m17n_mtext_to_utf8 (mplist_value (l)); ++ } + g_free (lang); + g_free (name); + +@@ -924,8 +929,9 @@ ibus_m17n_engine_callback (MInputContext + else if (command == Minput_status_draw) { + gchar *status; + status = ibus_m17n_mtext_to_utf8 (m17n->context->status); ++ IBusM17NEngineClass *klass = (IBusM17NEngineClass *) G_OBJECT_GET_CLASS (m17n); + +- if (status && strlen (status)) { ++ if (status && strlen (status) && g_strcmp0 (status, klass->title)) { + IBusText *text; + text = ibus_text_new_from_string (status); + ibus_property_set_label (m17n->status_prop, text); diff --git a/SOURCES/ibus-m17n-xkb-options.patch b/SOURCES/ibus-m17n-xkb-options.patch new file mode 100644 index 0000000..5e39e44 --- /dev/null +++ b/SOURCES/ibus-m17n-xkb-options.patch @@ -0,0 +1,79 @@ +Index: ibus-m17n-1.3.4/src/default.xml +=================================================================== +--- ibus-m17n-1.3.4.orig/src/default.xml ++++ ibus-m17n-1.3.4/src/default.xml +@@ -184,6 +184,15 @@ + m17n:si:samanala + 0 + ++ ++ ++ m17n:*:inscript* ++ default[lv3:ralt_switch] ++ ++ ++ m17n:si:* ++ default[lv3:ralt_switch] ++ + + + m17n:zh:cangjie +Index: ibus-m17n-1.3.4/src/m17nutil.c +=================================================================== +--- ibus-m17n-1.3.4.orig/src/m17nutil.c ++++ ibus-m17n-1.3.4/src/m17nutil.c +@@ -17,7 +17,8 @@ typedef enum { + ENGINE_CONFIG_RANK_MASK = 1 << 0, + ENGINE_CONFIG_SYMBOL_MASK = 1 << 1, + ENGINE_CONFIG_LONGNAME_MASK = 1 << 2, +- ENGINE_CONFIG_PREEDIT_HIGHLIGHT_MASK = 1 << 3 ++ ENGINE_CONFIG_LAYOUT_MASK = 1 << 3, ++ ENGINE_CONFIG_PREEDIT_HIGHLIGHT_MASK = 1 << 4 + } EngineConfigMask; + + struct _EngineConfigNode { +@@ -137,7 +138,7 @@ ibus_m17n_engine_new (MSymbol lang, + "language", msymbol_name (lang), + "license", "GPL", + "icon", engine_icon ? engine_icon : "", +- "layout", "default", ++ "layout", config->layout ? config->layout : "default", + "rank", config->rank, + "symbol", config->symbol ? config->symbol : "", + "setup", engine_setup, +@@ -272,6 +273,8 @@ ibus_m17n_get_engine_config (const gchar + config->symbol = cnode->config.symbol; + if (cnode->mask & ENGINE_CONFIG_LONGNAME_MASK) + config->longname = cnode->config.longname; ++ if (cnode->mask & ENGINE_CONFIG_LAYOUT_MASK) ++ config->layout = cnode->config.layout; + if (cnode->mask & ENGINE_CONFIG_PREEDIT_HIGHLIGHT_MASK) + config->preedit_highlight = cnode->config.preedit_highlight; + } +@@ -314,6 +317,12 @@ ibus_m17n_engine_config_parse_xml_node ( + cnode->mask |= ENGINE_CONFIG_LONGNAME_MASK; + continue; + } ++ if (g_strcmp0 (sub_node->name , "layout") == 0) { ++ g_free (cnode->config.layout); ++ cnode->config.layout = g_strdup (sub_node->text); ++ cnode->mask |= ENGINE_CONFIG_LAYOUT_MASK; ++ continue; ++ } + if (g_strcmp0 (sub_node->name , "preedit-highlight") == 0) { + if (g_ascii_strcasecmp ("TRUE", sub_node->text) == 0) + cnode->config.preedit_highlight = TRUE; +Index: ibus-m17n-1.3.4/src/m17nutil.h +=================================================================== +--- ibus-m17n-1.3.4.orig/src/m17nutil.h ++++ ibus-m17n-1.3.4/src/m17nutil.h +@@ -20,6 +20,9 @@ struct _IBusM17NEngineConfig { + /* overridding longname shown on panel */ + gchar *longname; + ++ /* keyboard layout */ ++ gchar *layout; ++ + /* whether to highlight preedit */ + gboolean preedit_highlight; + }; diff --git a/SPECS/ibus-m17n.spec b/SPECS/ibus-m17n.spec new file mode 100644 index 0000000..fff5363 --- /dev/null +++ b/SPECS/ibus-m17n.spec @@ -0,0 +1,363 @@ +%global require_ibus_version 1.4.0 +Name: ibus-m17n +Version: 1.3.4 +Release: 10%{?dist} +Summary: The M17N engine for IBus platform +License: GPLv2+ +Group: System Environment/Libraries +URL: http://code.google.com/p/ibus/ +Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz + +# Upstreamed patches: +Patch0: ibus-m17n-HEAD.patch +Patch1: ibus-m17n-fix-data-location.patch + +# Fedora specific patches: +# Enable lv3:ralt_switch option for some Indic engines in default.xml. +Patch100: ibus-m17n-xkb-options.patch +# Don't make the status button clickable (maybe obsolete). +Patch101: ibus-m17n-hide-title-status.patch + +# The following BR is for autogen and not necessary when packging +# released tarballs. +BuildRequires: gettext-devel +BuildRequires: intltool +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: gnome-common +BuildRequires: m17n-lib-devel +BuildRequires: gtk3-devel +BuildRequires: ibus-devel >= %{require_ibus_version} +BuildRequires: desktop-file-utils + +Requires: ibus >= %{require_ibus_version} +Requires: m17n-lib + +%description +M17N engine for IBus input platform. It allows input of many languages using +the input table maps from m17n-db. + +%prep +%setup -q + +%patch0 -p1 -b .HEAD +%patch1 -p1 -b .fix-data-location +%patch100 -p1 -b .xkb-options +%patch101 -p1 -b .hide-title-status + +NOCONFIGURE=1 ./autogen.sh + +%build +%configure --disable-static --with-gtk=3.0 +# make -C po update-gmo +make %{?_smp_mflags} + +%install +make DESTDIR=${RPM_BUILD_ROOT} install + +desktop-file-validate ${RPM_BUILD_ROOT}%{_datadir}/applications/ibus-setup-m17n.desktop + +%find_lang %{name} + +%files -f %{name}.lang +%doc AUTHORS COPYING README +%{_datadir}/ibus-m17n +%{_libexecdir}/ibus-engine-m17n +%{_libexecdir}/ibus-setup-m17n +%{_datadir}/ibus/component/* +%{_datadir}/applications/ibus-setup-m17n.desktop + +%changelog +* Mon May 13 2013 Daiki Ueno - 1.3.4-10 +- Add ibus-m17n-fix-data-location.patch +- Fix bug 962144 [abrt] ibus-m17n-1.3.4-9.fc19: + setup_dialog_load_config: Process /usr/libexec/ibus-setup-m17n was + killed by signal 11 (SIGSEGV) + +* Wed May 1 2013 Daiki Ueno - 1.3.4-9 +- Update ibus-m17n-xkb-options.patch to set XKB option for Inscript2 +- Fix bug 957993 - ibus-m17n doesn't automatically map Alt_R to AltGr + when Inscript2 maps are used + +* Fri Apr 26 2013 Daiki Ueno - 1.3.4-8 +- Update ibus-m17n-HEAD.patch to the latest upstream master +- Remove unnecessary and not upstreamable patches +- Use gtk3 always +- Fix bug 912592 - ibus-m17n should use default keyboard in most cases + +* Thu Feb 14 2013 Fedora Release Engineering - 1.3.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Oct 8 2012 Daiki Ueno - 1.3.4-6 +- Add ibus-m17n-desktop-file.patch + Fix bug 860955 - ibus-m17n setup is not enabled in + gnome-control-center region, .desktop file is missing + +* Wed Sep 26 2012 Daiki Ueno - 1.3.4-5 +- Add ibus-m17n-honor-user-cflags.patch + +* 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 + /usr/libexec/ibus-setup-m17n was killed by signal 11 (SIGSEGV) + +* Thu Jul 19 2012 Fedora Release Engineering - 1.3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri May 11 2012 Daiki Ueno - 1.3.4-1 +- New upstream release. + +* Tue Apr 3 2012 Daiki Ueno - 1.3.3-12 +- Check %%{rhel} version in addition to %%{fedora} +- Remove unnecessary %%defattr(-,root,root,-) from %%files +- Drop libxklavier-devel from BR + +* Fri Mar 30 2012 Daiki Ueno - 1.3.3-11 +- Revive m17n:zh:pinyin with a different label ("hanyu pinyin (m17n)") +- Rebase ibus-m17n-virtkbd.patch + +* Tue Mar 6 2012 Takao Fujiwara - 1.3.3-9 +- Rebuild for ibus 1.4.99.20120304 + +* Fri Jan 13 2012 Fedora Release Engineering - 1.3.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 6 2011 Daiki Ueno - 1.3.3-7 +- Add ibus-m17n-custom-setup-element.patch +- Fix bug 760427 - engine preferences button in ibus-setup doesn't + work for ibus-m17n + +* Fri Nov 18 2011 Daiki Ueno - 1.3.3-6 +- Add ibus-m17n-blacklist-engines.patch + https://lists.fedoraproject.org/pipermail/i18n/2011-October/001194.html + +* Thu Sep 29 2011 Daiki Ueno - 1.3.3-5 +- Add ibus-m17n-hide-title-status.patch. +- Fix bug 741157 - ibus-m17n: m17n "title" variable appears as a + dormant button on the language panel + +* Fri Sep 16 2011 Daiki Ueno - 1.3.3-4 +- Fix Indic IME symbols (thanks to pravins). + +* Fri Sep 9 2011 Takao Fujiwara - 1.3.3-3 +- Rebuild with the latest ibus 1.3.99.20110817-4 and eekboard 1.0.3 + +* Fri Sep 2 2011 Daiki Ueno - 1.3.3-2 +- Revive iok patch. + +* Thu Sep 1 2011 Daiki Ueno - 1.3.3-1 +- New upstream release. +- Add ibus-m17n-default-xml-override.patch. +- Add ibus-m17n-virtkbd.patch, instead of ibus-m17n-iok.patch. + +* Tue Aug 9 2011 Daiki Ueno - 1.3.2-10 +- Set symbol for m17n:ne:rom. + +* Mon Aug 8 2011 Daiki Ueno - 1.3.2-9 +- Update ibus-m17n-xkb-options.patch. +- Don't set XKB options directly from engine but via ibus-xkb + +* Fri Aug 5 2011 Daiki Ueno - 1.3.2-8 +- Update ibus-m17n-xx-icon-symbol.patch. +- Fix bug 727024 - ibus compose file needs a symbol tag for gnome-shell +- Update ibus-m17n-xkb-options.patch. + +* Thu Jul 7 2011 Daiki Ueno - 1.3.2-7 +- don't specify --with-hotkey. + +* Mon Jul 4 2011 Daiki Ueno - 1.3.2-6 +- Add ibus-m17n-xkb-options.patch. +- Add ibus-m17n-xx-icon-symbol.patch. +- Drop surrounding-text patches since they are included in the HEAD patch. + +* Wed Jun 15 2011 Daiki Ueno - 1.3.2-5 +- Add ibus-m17n-stsreq.patch. +- Fix bug 711126 - ibus: surrounding text support fails for the first + syllable upon activation + +* Tue Jun 7 2011 Daiki Ueno - 1.3.2-4 +- Add ibus-m17n-stscap.patch. +- Fix bug 711126 - ibus: surrounding text support fails for the first + syllable upon activation + +* Mon May 23 2011 Daiki Ueno - 1.3.2-3 +- Update ibus-m17n-HEAD.patch. + +* Mon May 23 2011 Daiki Ueno - 1.3.2-2 +- Bump the release to fix upgrade path. +- Fix bug 706602 - ibus-m17n-1.3.2-2.fc14 > ibus-m17n-1.3.2-1.fc15 +- Drop preparing/cleaning buildroot. + +* Mon Mar 7 2011 Daiki Ueno - 1.3.2-1 +- New upstream release. + +* Fri Feb 11 2011 Matthias Clasen - 1.3.1-18 +- Rebuild against newer gtk + +* Wed Feb 09 2011 Fedora Release Engineering - 1.3.1-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Feb 2 2011 Matthias Clasen - 1.3.1-16 +- Rebuild against newer gtk + +* Fri Jan 14 2011 Daiki Ueno - 1.3.1-15 +- Update iok patch. +- Fix bug 669128 - [abrt] ibus-m17n-1.3.1-14.fc15: + Process /usr/libexec/ibus-engine-m17n was killed by signal 6 (SIGABRT) + +* Sun Jan 9 2011 Matthias Clasen - 1.3.1-14 +- Rebuild against newer gtk3 + +* Mon Dec 27 2010 Daiki Ueno - 1.3.1-13 +- Update iok patch. + +* Wed Dec 22 2010 Daiki Ueno - 1.3.1-12 +- Update surrounding-text patch. + +* Fri Dec 10 2010 Daiki Ueno - 1.3.1-11 +- Update ibus-m17n-HEAD.patch. +- Lower si-samanala.mim rank per request from a Sinhala user. + +* Wed Dec 8 2010 Daiki Ueno - 1.3.1-10 +- Update ibus-m17n-HEAD.patch. +- Fix bug 658336 - ibus-m17n: define the IM ranks in a config file and + not in a compiled binary + +* Fri Dec 3 2010 Matthias Clasen - 1.3.1-9 +- Rebuild against newer gtk3 + +* Tue Nov 9 2010 Daiki Ueno - 1.3.1-8 +- Apply ibus-m17n-ibus-1.4.patch for ibus-1.3.99. +- Specify backup filename for each patch. + +* Fri Nov 5 2010 Daiki Ueno - 1.3.1-7 +- Rename ibus-m17n-fedora.patch to ibus-m17n-HEAD.patch since the + changes are merged into upstream. +- Update ibus-m17n-HEAD.patch with upstream fix 08e06310 +- Fix bug 649230 - [si] last input character is committed late in + wijesekara input method + +* Fri Oct 22 2010 Daiki Ueno - 1.3.1-6 +- Link ibus-setup-m17n with GTK+ 3.0. + +* Tue Oct 12 2010 Daiki Ueno - 1.3.1-5 +- put several Fedora patches into one. +- Fix bug 640896 - Ibus does not load all the keymaps for a language + that is used for logging in. + +* Tue Oct 5 2010 Daiki Ueno - 1.3.1-4 +- Remove Shift+AltGr patch; apply a simplified AltGr patch. +- Fix bug 639963 - SHIFT switch is not working in layouts as expected. + +* Fri Oct 1 2010 Daiki Ueno - 1.3.1-3 +- Apply a patch to handle Shift+AltGr. +- Update surrounding-text patch. +- Fix bug 634829 - [abrt] ibus-m17n-1.3.1-1.fc14: shift_state: Process + /usr/libexec/ibus-engine-m17n was killed by signal 11 (SIGSEGV). + +* Thu Sep 16 2010 Daiki Ueno - 1.3.1-2 +- Apply surrounding text patch. Bug 435880. + +* Fri Sep 3 2010 Daiki Ueno - 1.3.1-1 +- Update to 1.3.1. +- Fix bug 615158 - Do not change the background colour of the pre-edit buffer +- Add gtk2-devel to BR +- Install ibus-setup-m17n in %%{_libexecdir} + +* Thu Aug 26 2010 Daiki Ueno - 1.3.0-4 +- Rebuild with ibus 1.3.7 to avoid ABI incompatibility. Bug 627256. + +* Tue Jul 27 2010 Daiki Ueno - 1.3.0-3 +- Update ibus-m17n-HEAD.patch. +- Fix regression with the previous update. See comment 7 of bug 614867. + +* Fri Jul 16 2010 Daiki Ueno - 1.3.0-2 +- Update ibus-m17n-HEAD.patch. +- Fix bug 614867 - Invisible pre-edit buffer when using m17n Wijesekera keyboard layout +- Update iok patch. + +* Mon Mar 29 2010 Peng Huang - 1.3.0-1 +- Update to 1.3.0. +- Update iok patch. +- Fix bug 577148 - IOK screen appears with all keyboard layouts on ibus language panel + +* Tue Feb 02 2010 Peng Huang - 1.2.99.20100202-1 +- Update to 1.2.99.20100202. +- Update iok patch. + +* Thu Dec 17 2009 Peng Huang - 1.2.0.20091217-1 +- Update to 1.2.0.20091217. +- Update iok patch. + +* Fri Nov 20 2009 Peng Huang - 1.2.0.20091120-1 +- Update to 1.2.0.20091120. +- Fix bug 530976 + +* Fri Oct 23 2009 Peng Huang - 1.2.0.20090617-5 +- Update iok patch to fix bug 530493. + +* Wed Oct 14 2009 Peng Huang - 1.2.0.20090617-4 +- Update iok patch to fix build error. + +* Tue Oct 13 2009 Parag - 1.2.0.20090617-3 +- Re-enable iok support to ibus-m17n. + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 +- Update to 1.2.0.20090617. + +* Thu Mar 05 2009 Parag - 1.1.0.20090211-4 +- Add iok support to ibus-m17n. + +* Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 18 2009 Peng Huang - 1.1.0.20090211-2 +- Add patch ibus-m17n-HEAD.patch from upstream git tree. +- Make Control + Alt + ... available. (#482789) + +* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 +- Update to 1.1.0.20090211. + +* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 +- Update to 1.1.0.20090205. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20081013-4 +- Rebuild for Python 2.6 + +* Thu Oct 16 2008 Jens Petersen - 0.1.1.20081013-3 +- move the .engine files to m17n-db and m17n-contrib (#466410) + +* Wed Oct 15 2008 Peng Huang - 0.1.1.20081013-2 +- Move unicode, rfc1345 to generic package, and syrc-phonetic to syriac package. + +* Mon Oct 13 2008 Peng Huang - 0.1.1.20081013-1 +- Update to 0.1.1.20081013. + +* Thu Oct 09 2008 Peng Huang - 0.1.1.20081009-1 +- Update to 0.1.1.20081009. + +* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 +- Update to 0.1.1.20080901. + +* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 +- Update to 0.1.1.20080823. + +* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 +- Update to 0.1.1.20080815. + +* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 +- Update to 0.1.1.20080812. + +* Thu Aug 07 2008 Peng Huang - 0.1.0.20080810-1 +- The first version.