diff --git a/ibus-libzhuyin-1.7.x-HEAD.patch b/ibus-libzhuyin-1.7.x-HEAD.patch new file mode 100644 index 0000000..077025a --- /dev/null +++ b/ibus-libzhuyin-1.7.x-HEAD.patch @@ -0,0 +1,47 @@ +Index: ibus-libzhuyin-1.6.99.20140929/src/ZYTradSimpConverter.cc +=================================================================== +--- ibus-libzhuyin-1.6.99.20140929.orig/src/ZYTradSimpConverter.cc ++++ ibus-libzhuyin-1.6.99.20140929/src/ZYTradSimpConverter.cc +@@ -33,7 +33,6 @@ + namespace ZY { + + class opencc { +- static const int BUFFER_SIZE = 64; + public: + opencc (void) + { +@@ -48,30 +47,14 @@ public: + + void convert (const gchar *in, String &out) + { +- glong n_char; +- gunichar *in_ucs4 = g_utf8_to_ucs4_fast (in, -1, &n_char); +- +- ucs4_t *pinbuf = (ucs4_t *)in_ucs4; +- size_t inbuf_left = n_char; +- while (inbuf_left != 0) { +- ucs4_t *poutbuf = (ucs4_t *)m_buffer; +- size_t outbuf_left = BUFFER_SIZE; +- size_t retval = opencc_convert(m_cc, &pinbuf, &inbuf_left, &poutbuf, &outbuf_left); +- if (retval == (size_t) -1) { +- /* append left chars in pinbuf */ +- g_warning ("opencc_convert return failed"); +- out << (gunichar *) pinbuf; +- break; +- } +- *poutbuf = L'\0'; +- out << m_buffer; +- } +- g_free (in_ucs4); ++ char * converted = opencc_convert_utf8 (m_cc, in, -1); ++ g_assert (converted != NULL); ++ out = converted; ++ opencc_convert_utf8_free (converted); + } + + private: + opencc_t m_cc; +- gunichar m_buffer[BUFFER_SIZE + 1]; + }; + + void diff --git a/ibus-libzhuyin.spec b/ibus-libzhuyin.spec index c771d09..3fd1f69 100644 --- a/ibus-libzhuyin.spec +++ b/ibus-libzhuyin.spec @@ -1,17 +1,22 @@ +%global snapshot 1 + Name: ibus-libzhuyin Version: 1.6.99.20140929 -Release: 1%{?dist} +Release: 2%{?dist} Summary: New Zhuyin engine based on libzhuyin for IBus License: GPLv2+ URL: https://github.com/libzhuyin/ibus-libzhuyin Source0: http://downloads.sourceforge.net/libzhuyin/ibus-libzhuyin/%{name}-%{version}.tar.gz +%if %snapshot +Patch0: ibus-libzhuyin-1.7.x-HEAD.patch +%endif BuildRequires: gettext-devel BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: sqlite-devel -BuildRequires: opencc-devel +BuildRequires: opencc-devel >= 1.0.2 BuildRequires: ibus-devel >= 1.3 BuildRequires: libzhuyin-devel >= 0.9.93 BuildRequires: python2-devel @@ -27,6 +32,10 @@ based on libzhuyin for IBus. %prep %setup -q +%if %snapshot +%patch0 -p1 -b .head +%endif + %build %configure --disable-static \ @@ -51,6 +60,9 @@ make install DESTDIR=${RPM_BUILD_ROOT} INSTALL="install -p" %changelog +* Wed Jan 7 2015 Peng Wu - 1.6.99.20140929-2 +- Use opencc 1.0.2 + * Mon Sep 29 2014 Peng Wu - 1.6.99.20140929-1 - Update to 1.6.99.20140929