diff options
author | Akinori Hattori <hattya@gentoo.org> | 2017-08-05 23:46:24 +0900 |
---|---|---|
committer | Akinori Hattori <hattya@gentoo.org> | 2017-08-05 23:47:33 +0900 |
commit | 07b233477e357598c0910816ace3855422a37a83 (patch) | |
tree | 55d1da5900c204e37dfa8478b32961ebebf02259 /app-i18n/tomoe | |
parent | app-i18n/tomoe: depend on virtual/libmysqlclient (diff) | |
download | gentoo-07b233477e357598c0910816ace3855422a37a83.tar.gz gentoo-07b233477e357598c0910816ace3855422a37a83.tar.bz2 gentoo-07b233477e357598c0910816ace3855422a37a83.zip |
app-i18n/tomoe: fix build with >=dev-lang/ruby-1.9
Package-Manager: Portage-2.3.6, Repoman-2.3.1
Diffstat (limited to 'app-i18n/tomoe')
-rw-r--r-- | app-i18n/tomoe/files/tomoe-ruby19.patch | 84 | ||||
-rw-r--r-- | app-i18n/tomoe/tomoe-0.6.0-r3.ebuild | 93 |
2 files changed, 177 insertions, 0 deletions
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/tomoe-0.6.0-r3.ebuild b/app-i18n/tomoe/tomoe-0.6.0-r3.ebuild new file mode 100644 index 000000000000..be5974557150 --- /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" + +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 +} |