commit:     957db3f2129168918147c91c23114508b0f40931
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Wed Aug  2 16:16:26 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 12:51:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=957db3f2

app-text/mecab: Fix no template named binary_function

Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32144
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../mecab-0.996-clang-16-binary_function.patch     | 16 ++++++
 app-text/mecab/mecab-0.996-r2.ebuild               | 60 ++++++++++++++++++++++
 2 files changed, 76 insertions(+)

diff --git a/app-text/mecab/files/mecab-0.996-clang-16-binary_function.patch 
b/app-text/mecab/files/mecab-0.996-clang-16-binary_function.patch
new file mode 100644
index 000000000000..5776cf5b2aa5
--- /dev/null
+++ b/app-text/mecab/files/mecab-0.996-clang-16-binary_function.patch
@@ -0,0 +1,16 @@
+Dropping usage of binary_function
+--- a/src/dictionary.cpp
++++ b/src/dictionary.cpp
+@@ -65,7 +65,11 @@ int progress_bar_darts(size_t current, size_t total) {
+ }
+ 
+ template <typename T1, typename T2>
+-struct pair_1st_cmp: public std::binary_function<bool, T1, T2> {
++struct pair_1st_cmp {
++  public:
++  using first_argument_type = bool;
++  using second_argument_type = T1;
++  using result_type = T2;
+   bool operator()(const std::pair<T1, T2> &x1,
+                   const std::pair<T1, T2> &x2)  {
+     return x1.first < x2.first;

diff --git a/app-text/mecab/mecab-0.996-r2.ebuild 
b/app-text/mecab/mecab-0.996-r2.ebuild
new file mode 100644
index 000000000000..078cd4f66a9d
--- /dev/null
+++ b/app-text/mecab/mecab-0.996-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Yet Another Part-of-Speech and Morphological Analyzer"
+HOMEPAGE="https://taku910.github.io/mecab/";
+SRC_URI="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${PN}/${P}.tar.gz";
+
+LICENSE="|| ( BSD LGPL-2.1 GPL-2 )"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86"
+SLOT="0"
+IUSE="static-libs unicode"
+
+BDEPEND="
+       dev-lang/perl
+       sys-devel/gettext
+"
+DEPEND="virtual/libiconv"
+RDEPEND="${DEPEND}"
+PDEPEND="
+       || (
+               app-dicts/mecab-ipadic[unicode=]
+               app-dicts/mecab-naist-jdic[unicode=]
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.98-iconv.patch
+       "${FILESDIR}"/${PN}-0.996-clang-16-register.patch
+       "${FILESDIR}"/${PN}-0.996-clang-16-binary_function.patch
+)
+
+HTML_DOCS=( doc/. )
+
+src_prepare() {
+       default
+       sed -i \
+               -e "/CFLAGS/s/-O3/${CFLAGS}/" \
+               -e "/CXXFLAGS/s/-O3/${CXXFLAGS}/" \
+               configure.in
+       sed -i "s:/lib:/$(get_libdir):" ${PN}rc.in
+
+       mv configure.{in,ac} || die
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               $(use_enable static-libs static) \
+               $(use_with unicode charset UTF-8)
+}
+
+src_install() {
+       default
+       find "${ED}" -name 'Makefile*' -delete || die
+       use static-libs || find "${ED}" -name '*.la' -delete || die
+}

Reply via email to