summaryrefslogtreecommitdiff
path: root/app-i18n/tomoe
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-i18n/tomoe
reinit the tree, so we can have metadata
Diffstat (limited to 'app-i18n/tomoe')
-rw-r--r--app-i18n/tomoe/Manifest10
-rw-r--r--app-i18n/tomoe/files/tomoe-export-symbols.patch240
-rw-r--r--app-i18n/tomoe/files/tomoe-gentoo.patch22
-rw-r--r--app-i18n/tomoe/files/tomoe-glib-2.32.patch33
-rw-r--r--app-i18n/tomoe/files/tomoe-ruby19.patch84
-rw-r--r--app-i18n/tomoe/metadata.xml15
-rw-r--r--app-i18n/tomoe/tomoe-0.6.0-r2.ebuild70
-rw-r--r--app-i18n/tomoe/tomoe-0.6.0-r3.ebuild93
8 files changed, 567 insertions, 0 deletions
diff --git a/app-i18n/tomoe/Manifest b/app-i18n/tomoe/Manifest
new file mode 100644
index 000000000000..a11d2de75dfd
--- /dev/null
+++ b/app-i18n/tomoe/Manifest
@@ -0,0 +1,10 @@
+AUX tomoe-export-symbols.patch 8483 SHA256 7d7c6462e0998fb96828da8358a8d35f0082f875ff6ff6f47a05105aa6ef3308 SHA512 32caa46e10d2c1885e7d850f7ecb3ac79a4754156100e4db68e87f1614b0d9db71fde6af9d8520f337143bf2a3e6f3fe1f6e7e83f1c066552238a2a2c3d3bba5 WHIRLPOOL 837751133e8b96c73ebc8bb35e8a96cc8649805242777dabdb2ffa72895b2829182007c07f827d48249b5bffbde79705599dce76b045d8d23303d372ca37f1bf
+AUX tomoe-gentoo.patch 599 SHA256 e3f31ce769152d0a444c4c1e16727c6feee521792feda622180fb3983e003713 SHA512 50b573c046f9b98c64bfd8e0320f7d4d7f4c113d6cc5368fbaa68575d199ce269bfc8827709a6565f244a1b6e82e220db7309570a022c30ad03c51317110030b WHIRLPOOL 6498f1a66291dd7584048f5cf627161cbb3d44b1459b13a4b8e8a969c2fac80f90242dc8147653e05a96a2ff0889905247eb0eea9ec1d8bf155b50ad1bac2fdb
+AUX tomoe-glib-2.32.patch 688 SHA256 7fcf32db4ab23c48d20060c2fd07708ecaf72d39066527eef3179121ebbe8c31 SHA512 ec0344ccb48ecc8f0df3a76424ed93c9e223a3b22733626a460c4729681d7f9f072ddb84311d22e161c04503dd845c7da774ea9832df32cb79199ca47589073c WHIRLPOOL 257233d609360b203fcd607860b116b5d8f647aa930f466ae2e2546b633a9f411824fbf6b8e4cd685f62aaa126907c274b4eb0bf4d4a465df71caae8e6148f35
+AUX tomoe-ruby19.patch 2646 SHA256 a372a834cfefa59e69bb8418411c89885ae4f7e1ab6a423b1c391bc23e9a5a4f SHA512 52f555412853c3485e8d3ab7b7739f030e2c3d2b5c4aac14ebb967c93427fe04cbcfec2f5997f09f0f7611dc268ee63437b256ef4cac1ea805f0ae84a522b836 WHIRLPOOL ae8b7ed1823bb0e0b3f4a1e17581cf87d00b948b53ea52096d2fc64c132372eb0f5b1b75708fc9ac6902a582c5e942b70cff8b9615c0817be8f4887994162265
+DIST tomoe-0.6.0.tar.gz 4918949 SHA256 ee600f97fa434c13f6c41a1db9e03eccd551151ed48ece9c56cd9e828228ea1e SHA512 eab618d7b28fc9613c175fab6f80fc7d6acc34af3a47f20c11b42a32acd87143ae10caca67fa1a5e2e75441d431799a5725a5d507604f8bd7447bbc1826f0bb8 WHIRLPOOL f3cfb9bf09ab7228913a001348a73ea32d8f4cb25c941c5dd4829c237d0043f92293e2f914257902c1a5faf93d61fa82dfbea269d6b6d60cad49638cc6ca0141
+EBUILD tomoe-0.6.0-r2.ebuild 1601 SHA256 b4c614e2ad536b0d1a1c40ccca0c64a784622ee40e325003283237f531b03d5a SHA512 1c2fad47b395478bd0a9e200a84af14ffb61598022c6655dac28fcdd008cd8ccdd0e88ed9b51cfbf9145857368fae8945a8ec1eabe33b82d7f88fb1cd2c036cf WHIRLPOOL e5b9e242de844ce5735b5a1cfe1a7433758e699afc448f20485fc9c0a1aa15512eac924996b4cb8bb28644950180c9cdb9213ee65e5f59891e88e24ca3d05c63
+EBUILD tomoe-0.6.0-r3.ebuild 2145 SHA256 f3caf1256e0aa35db18646bc84ceb7ffdb587433876c7f0d89042bf4917f20c4 SHA512 adfb46271c4837b9fce43c891a4d8659b0bf00a16199d8eb562f72db8ded203c6195b1531cfeff45e8c82d1e34979ef679131fc3d383e27553af14ceee35c7c7 WHIRLPOOL 3b403d1be2e53e10b2bc48c14df740421a7d2b404d67a46ccc947866c238d35672c10d8b00468d0a83169a0105bf6ee1f95ab74d6aea1cdb86a378637720ef55
+MISC ChangeLog 3861 SHA256 a971cba6edf84757a8a60aae04f10f69f65d6813c6c754d31542c52ce0cec1dd SHA512 5b5c9d628dc7724ecad5b07b35d37cedcca9bba2796b6da53700608643bdf8f7065c952f52657285bb4e083cdd3e09e5219ac91dd3116643ebbf46c4b11bf34a WHIRLPOOL c2e2d74c1c4029718c732d98dea911fa2b79b847461c96170e73a2a24ad893498f6c55d2b8dedb079c4067e925da5f02a5e5dee29125bf4e0417ebd7b0913f98
+MISC ChangeLog-2015 2941 SHA256 2f022f9cafb10b126808c8fdd1fb82314c3937bb5dde00a9a54448df9e31a491 SHA512 b294e3e41e06b81178e51e07cfe788969e22bd1386c5badf9887046b8488f9ab4eb9513d29709d8caf824d9aeccd3f4712b0e289ef6e19a0df36ddca30db43bb WHIRLPOOL d57145026301f6c85f90125372bdf3e03451bba83e3e0eb46789ee053bb67389be1b54fe0b280107008f95c0a2056456cdcaed6e3d64baafa7c7590a63436c16
+MISC metadata.xml 482 SHA256 46f54007ec305531ca2cd3058bd23ab7e836366ed6d38bf6596d19f5bd6e939d SHA512 0898e0ba0bd42458870d268ee6bc881da1c88ab01969037d57f0d4abf5f140a7ce77bf87d918976bd763a33c8869e73d0fb2ec744be747d5bc30d594cc54efeb WHIRLPOOL 8655503e4b1d7dfcc5061c16b7087cd37125d38347a99aa4c59cd94a22d30d5eb1bf85d8730e3da0cbd00d997c1ad427dcee889a2fe2ecd5e15140469d38a7d4
diff --git a/app-i18n/tomoe/files/tomoe-export-symbols.patch b/app-i18n/tomoe/files/tomoe-export-symbols.patch
new file mode 100644
index 000000000000..2b2d98b6ddd7
--- /dev/null
+++ b/app-i18n/tomoe/files/tomoe-export-symbols.patch
@@ -0,0 +1,240 @@
+Index: trunk/module/dict/tomoe-dict-xml.c
+===================================================================
+--- trunk/module/dict/tomoe-dict-xml.c (revision 1581)
++++ trunk/module/dict/tomoe-dict-xml.c (revision 1582)
+@@ -303,14 +303,14 @@
+ return success;
+
+ result.name = NULL;
+- result.chars = _tomoe_dict_ptr_array_get_array (TOMOE_DICT_PTR_ARRAY (dict));
+- success = _tomoe_xml_parser_parse_dictionary_file (dict->filename, &result);
++ result.chars = tomoe_dict_ptr_array_get_array (TOMOE_DICT_PTR_ARRAY (dict));
++ success = tomoe_xml_parser_parse_dictionary_file (dict->filename, &result);
+ if (result.name) {
+ g_free (dict->name);
+ dict->name = g_strdup (result.name);
+ g_free (result.name);
+ }
+- _tomoe_dict_ptr_array_sort (TOMOE_DICT_PTR_ARRAY (dict));
++ tomoe_dict_ptr_array_sort (TOMOE_DICT_PTR_ARRAY (dict));
+
+ return success;
+ }
+@@ -343,7 +343,7 @@
+ else
+ g_string_append (xml, "<dictionary>\n");
+
+- chars = _tomoe_dict_ptr_array_get_array (TOMOE_DICT_PTR_ARRAY (dict));
++ chars = tomoe_dict_ptr_array_get_array (TOMOE_DICT_PTR_ARRAY (dict));
+ for (i = 0; i < chars->len; i++) {
+ gchar *chr_xml;
+ TomoeChar *chr = g_ptr_array_index (chars, i);
+Index: trunk/module/dict/tomoe-dict-unihan.c
+===================================================================
+--- trunk/module/dict/tomoe-dict-unihan.c (revision 1581)
++++ trunk/module/dict/tomoe-dict-unihan.c (revision 1582)
+@@ -193,7 +193,7 @@
+ object = klass->constructor (type, n_props, props);
+ the_singleton = TOMOE_DICT_UNIHAN (object);
+
+- chars = _tomoe_dict_ptr_array_get_array (TOMOE_DICT_PTR_ARRAY (object));
++ chars = tomoe_dict_ptr_array_get_array (TOMOE_DICT_PTR_ARRAY (object));
+ _tomoe_unihan_create (chars);
+ } else {
+ object = g_object_ref (G_OBJECT (the_singleton));
+Index: trunk/lib/tomoe-char.c
+===================================================================
+--- trunk/lib/tomoe-char.c (revision 1581)
++++ trunk/lib/tomoe-char.c (revision 1582)
+@@ -143,7 +143,7 @@
+ TomoeChar*
+ tomoe_char_new_from_xml_data (const gchar *data, gssize len)
+ {
+- return _tomoe_xml_parser_parse_char_data (data, len);
++ return tomoe_xml_parser_parse_char_data (data, len);
+ }
+
+ static void
+Index: trunk/lib/tomoe-xml-parser.c
+===================================================================
+--- trunk/lib/tomoe-xml-parser.c (revision 1581)
++++ trunk/lib/tomoe-xml-parser.c (revision 1582)
+@@ -428,8 +428,8 @@
+ }
+
+ gboolean
+-_tomoe_xml_parser_parse_dictionary_file (const gchar *filename,
+- TomoeXMLParsedData *result)
++tomoe_xml_parser_parse_dictionary_file (const gchar *filename,
++ TomoeXMLParsedData *result)
+ {
+ GMarkupParseContext *context;
+ FILE *f;
+@@ -469,7 +469,7 @@
+ }
+
+ TomoeChar *
+-_tomoe_xml_parser_parse_char_data (const gchar *xml, gssize len)
++tomoe_xml_parser_parse_char_data (const gchar *xml, gssize len)
+ {
+ GMarkupParseContext *context;
+ TomoeXMLParsedData result;
+Index: trunk/lib/tomoe-xml-parser.h
+===================================================================
+--- trunk/lib/tomoe-xml-parser.h (revision 1581)
++++ trunk/lib/tomoe-xml-parser.h (revision 1582)
+@@ -37,10 +37,10 @@
+ GPtrArray *chars;
+ };
+
+-gboolean _tomoe_xml_parser_parse_dictionary_file (const gchar *filename,
+- TomoeXMLParsedData *result);
+-TomoeChar *_tomoe_xml_parser_parse_char_data (const gchar *xml,
+- gssize len);
++gboolean tomoe_xml_parser_parse_dictionary_file (const gchar *filename,
++ TomoeXMLParsedData *result);
++TomoeChar *tomoe_xml_parser_parse_char_data (const gchar *xml,
++ gssize len);
+
+
+ G_END_DECLS
+Index: trunk/lib/tomoe-dict-ptr-array.c
+===================================================================
+--- trunk/lib/tomoe-dict-ptr-array.c (revision 1581)
++++ trunk/lib/tomoe-dict-ptr-array.c (revision 1582)
+@@ -50,7 +50,7 @@
+
+ static TomoeDictClass *parent_class;
+
+-G_DEFINE_ABSTRACT_TYPE (TomoeDictPtrArray, _tomoe_dict_ptr_array, TOMOE_TYPE_DICT)
++G_DEFINE_ABSTRACT_TYPE (TomoeDictPtrArray, tomoe_dict_ptr_array, TOMOE_TYPE_DICT)
+
+ static void dispose (GObject *object);
+ static void set_property (GObject *object,
+@@ -75,7 +75,7 @@
+ static gchar *get_available_private_utf8 (TomoeDict *dict);
+
+ static void
+-_tomoe_dict_ptr_array_class_init (TomoeDictPtrArrayClass *klass)
++tomoe_dict_ptr_array_class_init (TomoeDictPtrArrayClass *klass)
+ {
+ GObjectClass *gobject_class;
+ TomoeDictClass *dict_class;
+@@ -123,7 +123,7 @@
+ }
+
+ static void
+-_tomoe_dict_ptr_array_init (TomoeDictPtrArray *dict)
++tomoe_dict_ptr_array_init (TomoeDictPtrArray *dict)
+ {
+ TomoeDictPtrArrayPrivate *priv = TOMOE_DICT_PTR_ARRAY_GET_PRIVATE (dict);
+ priv->chars = g_ptr_array_new();
+@@ -196,7 +196,7 @@
+ }
+
+ void
+-_tomoe_dict_ptr_array_sort (TomoeDictPtrArray *dict)
++tomoe_dict_ptr_array_sort (TomoeDictPtrArray *dict)
+ {
+ TomoeDictPtrArrayPrivate *priv;
+
+@@ -219,7 +219,7 @@
+
+ unregister_char (dict, tomoe_char_get_utf8 (chr));
+ g_ptr_array_add (priv->chars, g_object_ref (G_OBJECT (chr)));
+- _tomoe_dict_ptr_array_sort (TOMOE_DICT_PTR_ARRAY (dict));
++ tomoe_dict_ptr_array_sort (TOMOE_DICT_PTR_ARRAY (dict));
+
+ priv->modified = TRUE;
+
+@@ -449,7 +449,7 @@
+ g_ptr_array_add (*dest_chars, tomoe_char_dup (chr));
+ }
+
+-gboolean
++static gboolean
+ copy (TomoeDict *src_dict, TomoeDict *dest_dict)
+ {
+ TomoeDictPtrArrayPrivate *src_priv, *dest_priv;
+@@ -487,7 +487,7 @@
+ return TOMOE_DICT_PTR_ARRAY_GET_PRIVATE (dict)->editable;
+ }
+
+-gchar *
++static gchar *
+ get_available_private_utf8 (TomoeDict *dict)
+ {
+ TomoeDictPtrArrayPrivate *priv;
+@@ -523,7 +523,7 @@
+ }
+
+ GPtrArray *
+-_tomoe_dict_ptr_array_get_array (TomoeDictPtrArray *dict)
++tomoe_dict_ptr_array_get_array (TomoeDictPtrArray *dict)
+ {
+ g_return_val_if_fail (TOMOE_IS_DICT_PTR_ARRAY (dict), NULL);
+
+Index: trunk/lib/tomoe-dict-ptr-array.h
+===================================================================
+--- trunk/lib/tomoe-dict-ptr-array.h (revision 1581)
++++ trunk/lib/tomoe-dict-ptr-array.h (revision 1582)
+@@ -29,7 +29,7 @@
+
+ #include "tomoe-dict.h"
+
+-#define TOMOE_TYPE_DICT_PTR_ARRAY (_tomoe_dict_ptr_array_get_type ())
++#define TOMOE_TYPE_DICT_PTR_ARRAY (tomoe_dict_ptr_array_get_type ())
+ #define TOMOE_DICT_PTR_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TOMOE_TYPE_DICT_PTR_ARRAY, TomoeDictPtrArray))
+ #define TOMOE_DICT_PTR_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TOMOE_TYPE_DICT_PTR_ARRAY, TomoeDictPtrArrayClass))
+ #define TOMOE_IS_DICT_PTR_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TOMOE_TYPE_DICT_PTR_ARRAY))
+@@ -49,9 +49,9 @@
+ TomoeDictClass parent_class;
+ };
+
+-GType _tomoe_dict_ptr_array_get_type (void) G_GNUC_CONST;
+-void _tomoe_dict_ptr_array_sort (TomoeDictPtrArray *dict);
+-GPtrArray *_tomoe_dict_ptr_array_get_array (TomoeDictPtrArray *dict);
++GType tomoe_dict_ptr_array_get_type (void) G_GNUC_CONST;
++void tomoe_dict_ptr_array_sort (TomoeDictPtrArray *dict);
++GPtrArray *tomoe_dict_ptr_array_get_array (TomoeDictPtrArray *dict);
+
+ G_END_DECLS
+
+Index: trunk/lib/Makefile.am
+===================================================================
+--- trunk/lib/Makefile.am (revision 1581)
++++ trunk/lib/Makefile.am (revision 1582)
+@@ -30,13 +30,15 @@
+ tomoe-context.h \
+ tomoe-config.h \
+ tomoe-dict.h \
++ tomoe-dict-ptr-array.h \
+ tomoe-module.h \
+ tomoe-module-impl.h \
+ tomoe-query.h \
+ tomoe-reading.h \
+ tomoe-recognizer.h \
+ tomoe-shelf.h \
+- tomoe-writing.h
++ tomoe-writing.h \
++ tomoe-xml-parser.h
+
+ enum_source_prefix = tomoe-enum-types
+
+@@ -103,15 +105,13 @@
+ tomoe-config.c \
+ tomoe-dict.c \
+ tomoe-dict-ptr-array.c \
+- tomoe-dict-ptr-array.h \
+ tomoe-module.c \
+ tomoe-query.c \
+ tomoe-reading.c \
+ tomoe-recognizer.c \
+ tomoe-shelf.c \
+ tomoe-writing.c \
+- tomoe-xml-parser.c \
+- tomoe-xml-parser.h
++ tomoe-xml-parser.c
+
+ libtomoe_la_LDFLAGS = \
+ -version-info $(LT_VERSION_INFO) \
diff --git a/app-i18n/tomoe/files/tomoe-gentoo.patch b/app-i18n/tomoe/files/tomoe-gentoo.patch
new file mode 100644
index 000000000000..92ed311a0a76
--- /dev/null
+++ b/app-i18n/tomoe/files/tomoe-gentoo.patch
@@ -0,0 +1,22 @@
+--- a/module/dict/Makefile.am
++++ b/module/dict/Makefile.am
+@@ -34,7 +34,7 @@
+
+ LIBADD = $(TOMOE_LIBS) \
+ $(top_builddir)/lib/libtomoe.la
+-LDFLAGS = \
++AM_LDFLAGS = \
+ -rpath $(dict_moduledir) -avoid-version -module \
+ -export-dynamic $(no_undefined) $(LIBTOOL_EXPORT_OPTIONS)
+
+--- a/module/recognizer/Makefile.am
++++ b/module/recognizer/Makefile.am
+@@ -23,7 +23,7 @@
+ AM_CPPFLAGS =
+ INCLUDES = $(TOMOE_CFLAGS)
+
+-LDFLAGS = \
++AM_LDFLAGS = \
+ -rpath $(recognizer_moduledir) -avoid-version -module \
+ -export-dynamic $(no_undefined) $(LIBTOOL_EXPORT_OPTIONS)
+
diff --git a/app-i18n/tomoe/files/tomoe-glib-2.32.patch b/app-i18n/tomoe/files/tomoe-glib-2.32.patch
new file mode 100644
index 000000000000..eb05ab8b8d50
--- /dev/null
+++ b/app-i18n/tomoe/files/tomoe-glib-2.32.patch
@@ -0,0 +1,33 @@
+--- a/lib/glib-compat-key-file.h
++++ b/lib/glib-compat-key-file.h
+@@ -51,7 +51,7 @@
+ #ifndef __G_KEY_FILE_H__
+ #define __G_KEY_FILE_H__
+
+-#include <glib/gerror.h>
++#include <glib.h>
+
+ G_BEGIN_DECLS
+
+--- a/lib/glib-utils.h
++++ b/lib/glib-utils.h
+@@ -28,7 +28,7 @@
+ #include "config.h"
+ #endif /* HAVE_CONFIG_H */
+
+-#include <glib/garray.h>
++#include <glib.h>
+ #include <glib/gi18n-lib.h>
+ #include "glib-compat-file-utilities.h"
+ #include "glib-compat-key-file.h"
+--- a/lib/tomoe.c
++++ b/lib/tomoe.c
+@@ -26,7 +26,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <glib/garray.h>
++#include <glib.h>
+ #include "tomoe.h"
+
+ static gboolean initialized = FALSE;
diff --git a/app-i18n/tomoe/files/tomoe-ruby19.patch b/app-i18n/tomoe/files/tomoe-ruby19.patch
new file mode 100644
index 000000000000..bca6aa807f04
--- /dev/null
+++ b/app-i18n/tomoe/files/tomoe-ruby19.patch
@@ -0,0 +1,84 @@
+--- a/bindings/ruby/tomoe-rb-char.c
++++ b/bindings/ruby/tomoe-rb-char.c
+@@ -2,6 +2,10 @@
+
+ #define _SELF(obj) RVAL2TCHR(obj)
+
++#ifndef RSTRING_LEN
++# define RSTRING_LEN(s) (RSTRING(s)->len)
++#endif
++
+ static VALUE
+ tc_initialize(int argc, VALUE *argv, VALUE self)
+ {
+@@ -13,7 +17,7 @@
+ if (NIL_P(xml)) {
+ chr = tomoe_char_new();
+ } else {
+- chr = tomoe_char_new_from_xml_data(RVAL2CSTR(xml), RSTRING(xml)->len);
++ chr = tomoe_char_new_from_xml_data(RVAL2CSTR(xml), RSTRING_LEN(xml));
+ }
+
+ G_INITIALIZE(self, chr);
+--- a/macros/ruby.m4
++++ b/macros/ruby.m4
+@@ -28,13 +28,18 @@
+
+ changequote(<<, >>)
+ for var_name in archdir sitearchdir CFLAGS LIBRUBYARG libdir \
+- sitelibdir sitearchdir; do
+- rbconfig_tmp=`$rbconfig "print Config::CONFIG['$var_name']"`
++ sitelibdir rubyhdrdir rubyarchhdrdir; do
++ rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG['$var_name']"`
+ eval "rbconfig_$var_name=\"$rbconfig_tmp\""
+ done
+ changequote([, ])
+
+- RUBY_CFLAGS="$RUBY_CFLAGS -I$rbconfig_archdir "
++ if test "x$rbconfig_rubyhdrdir" = "x"; then
++ RUBY_CFLAGS="$RUBY_CFLAGS -I$rbconfig_archdir "
++ else
++ RUBY_CFLAGS="$RUBY_CFLAGS -I$rbconfig_rubyhdrdir "
++ RUBY_CFLAGS="$RUBY_CFLAGS -I$rbconfig_rubyarchhdrdir "
++ fi
+ RUBY_CFLAGS="$RUBY_CFLAGS -I$rbconfig_sitearchdir "
+ RUBY_CFLAGS="$RUBY_CFLAGS $rbconfig_CFLAGS "
+ RUBY_LIBS="$rbconfig_LIBRUBYARG"
+--- a/module/dict/tomoe-dict-ruby.c
++++ b/module/dict/tomoe-dict-ruby.c
+@@ -52,6 +52,13 @@
+ #define TOMOE_IS_DICT_RUBY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TOMOE_TYPE_DICT_RUBY))
+ #define TOMOE_DICT_RUBY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), TOMOE_TYPE_DICT_RUBY, TomoeDictRubyClass))
+
++#ifndef RARRAY_LEN
++# define RARRAY_LEN(a) (RARRAY(a)->len)
++#endif
++#ifndef RARRAY_PTR
++# define RARRAY_PTR(a) (RARRAY(a)->ptr)
++#endif
++
+ enum {
+ PROP_0,
+ PROP_FILENAME,
+@@ -209,7 +216,7 @@
+ ruby_script (PACKAGE);
+ ruby_set_argv (1, argv);
+
+- if (RARRAY(rb_load_path)->len == 0) {
++ if (RARRAY_LEN(rb_load_path) == 0) {
+ ruby_init_loadpath ();
+ }
+ }
+@@ -405,10 +412,10 @@
+
+ rb_results = rb_funcall (dict->rb_dict, rb_intern ("search"),
+ 1, GOBJ2RVAL (query));
+- len = RARRAY (rb_results)->len;
++ len = RARRAY_LEN(rb_results);
+ for (i = len; i; i--) {
+ results = g_list_prepend (results,
+- RVAL2TCND (RARRAY (rb_results)->ptr[i]));
++ RVAL2TCND (RARRAY_PTR(rb_results)[i]));
+ }
+ return results;
+ }
diff --git a/app-i18n/tomoe/metadata.xml b/app-i18n/tomoe/metadata.xml
new file mode 100644
index 000000000000..216815207e4e
--- /dev/null
+++ b/app-i18n/tomoe/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <use>
+ <flag name="hyperestraier">Enable support for <pkg>app-text/hyperestraier</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">tomoe</remote-id>
+ <remote-id type="sourceforge-jp">tomoe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-i18n/tomoe/tomoe-0.6.0-r2.ebuild b/app-i18n/tomoe/tomoe-0.6.0-r2.ebuild
new file mode 100644
index 000000000000..6fe794e094ed
--- /dev/null
+++ b/app-i18n/tomoe/tomoe-0.6.0-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools ltprune python-single-r1
+
+DESCRIPTION="Japanese handwriting recognition engine"
+HOMEPAGE="http://tomoe.osdn.jp/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="hyperestraier mysql python ruby static-libs subversion"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/glib:2
+ hyperestraier? ( app-text/hyperestraier )
+ mysql? ( virtual/libmysqlclient )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:2[${PYTHON_USEDEP}]
+ dev-python/pygtk:2[${PYTHON_USEDEP}]
+ )
+ ruby? ( dev-ruby/ruby-glib2 )
+ subversion? ( dev-vcs/subversion )"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ dev-util/intltool
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-gentoo.patch
+ "${FILESDIR}"/${PN}-export-symbols.patch
+ "${FILESDIR}"/${PN}-glib-2.32.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e "s/use_est=yes/use_est=$(usex hyperestraier)/" \
+ -e "s/use_mysql=yes/use_mysql=$(usex mysql)/" \
+ configure.ac
+
+ sed -i "s/use_svn=yes/use_svn=$(usex subversion)/" macros/svn.m4
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable ruby dict-ruby) \
+ $(use_enable static-libs static) \
+ $(use_with python python "") \
+ $(use_with ruby) \
+ --with-svn-include="${EPREFIX}"/usr/include \
+ --with-svn-lib="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_install() {
+ default
+ prune_libtool_files --modules
+}
diff --git a/app-i18n/tomoe/tomoe-0.6.0-r3.ebuild b/app-i18n/tomoe/tomoe-0.6.0-r3.ebuild
new file mode 100644
index 000000000000..ad56ff62bd17
--- /dev/null
+++ b/app-i18n/tomoe/tomoe-0.6.0-r3.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby22 ruby23 ruby24"
+
+inherit autotools ltprune python-single-r1 ruby-single
+
+DESCRIPTION="Japanese handwriting recognition engine"
+HOMEPAGE="http://tomoe.osdn.jp/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="hyperestraier mysql python ruby ${USE_RUBY//ruby/ruby_targets_ruby} static-libs subversion"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( ${USE_RUBY//ruby/ruby_targets_ruby} ) )"
+
+_ruby_set_globals() {
+ local ruby
+ for ruby in ${USE_RUBY}; do
+ RUBY_USEDEP="${RUBY_USEDEP}ruby_targets_${ruby}?,"
+ done
+ RUBY_USEDEP="${RUBY_USEDEP%,}"
+}
+_ruby_set_globals
+unset -f _ruby_set_globals
+
+RDEPEND="dev-libs/glib:2
+ hyperestraier? ( app-text/hyperestraier )
+ mysql? ( virtual/libmysqlclient )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:2[${PYTHON_USEDEP}]
+ dev-python/pygtk:2[${PYTHON_USEDEP}]
+ )
+ ruby? (
+ ${RUBY_DEPS}
+ dev-ruby/ruby-glib2[${RUBY_USEDEP}]
+ )
+ subversion? ( dev-vcs/subversion )"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ dev-util/intltool
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-gentoo.patch
+ "${FILESDIR}"/${PN}-export-symbols.patch
+ "${FILESDIR}"/${PN}-glib-2.32.patch
+ "${FILESDIR}"/${PN}-ruby19.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e "s/use_est=yes/use_est=$(usex hyperestraier)/" \
+ -e "s/use_mysql=yes/use_mysql=$(usex mysql)/" \
+ configure.ac
+
+ sed -i "s/use_svn=yes/use_svn=$(usex subversion)/" macros/svn.m4
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local ruby
+ for ruby in ${RUBY_TARGETS_PREFERENCE}; do
+ if use ruby_targets_${ruby}; then
+ break
+ fi
+ done
+
+ econf \
+ $(use_enable ruby dict-ruby) \
+ $(use_enable static-libs static) \
+ $(use_with python python "") \
+ $(use_with ruby ruby "$(type -p ${ruby})") \
+ --with-svn-include="${EPREFIX}"/usr/include \
+ --with-svn-lib="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_install() {
+ default
+ prune_libtool_files --modules
+}