summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorblackteahamburger <blackteahamburger@outlook.com>2024-08-20 11:33:42 +0800
committerYixun Lan <dlan@gentoo.org>2024-08-27 15:15:57 +0000
commitbd95d15e5a523b74cdc900b1ef66d1559b601fea (patch)
tree161f2d5e8b77a8fc855333e7c4e2b5c8ca94d751 /app-i18n
parentapp-emulation/diskimage-builder: 3.33.0 bump with updated deps (diff)
downloadgentoo-bd95d15e5a523b74cdc900b1ef66d1559b601fea.tar.gz
gentoo-bd95d15e5a523b74cdc900b1ef66d1559b601fea.tar.bz2
gentoo-bd95d15e5a523b74cdc900b1ef66d1559b601fea.zip
app-i18n/opencc: add python use flag
Closes: https://bugs.gentoo.org/938212 Closes: https://github.com/gentoo/gentoo/pull/38212 Signed-off-by: blackteahamburger <blackteahamburger@outlook.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'app-i18n')
-rw-r--r--app-i18n/opencc/opencc-1.1.7-r1.ebuild121
1 files changed, 121 insertions, 0 deletions
diff --git a/app-i18n/opencc/opencc-1.1.7-r1.ebuild b/app-i18n/opencc/opencc-1.1.7-r1.ebuild
new file mode 100644
index 000000000000..89372cdb262c
--- /dev/null
+++ b/app-i18n/opencc/opencc-1.1.7-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2010-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit cmake distutils-r1
+
+DESCRIPTION="Library for conversion between Traditional and Simplified Chinese characters"
+HOMEPAGE="https://github.com/BYVoid/OpenCC"
+SRC_URI="https://github.com/BYVoid/OpenCC/archive/ver.${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/OpenCC-ver.${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0/1.1"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/marisa
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/tclap
+ dev-libs/darts
+ dev-libs/rapidjson
+"
+BDEPEND="${PYTHON_DEPS}
+ doc? ( app-text/doxygen )
+ python? (
+ ${DISTUTILS_DEPS}
+ app-admin/chrpath
+ $(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')
+ test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
+ )
+ test? (
+ dev-cpp/gtest
+ !hppa? ( !sparc? ( dev-cpp/benchmark ) )
+ )
+"
+
+DOCS=( AUTHORS NEWS.md README.md )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ rm -r deps || die
+
+ sed -e "s:\${DIR_SHARE_OPENCC}/doc:share/doc/${PF}:" -i doc/CMakeLists.txt || die
+
+ cmake_src_prepare
+ use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_PYTHON=$(usex python)
+ -DENABLE_BENCHMARK=$(if use test && has_version -d dev-cpp/benchmark; then echo ON; else echo OFF; fi)
+ -DENABLE_GTEST=$(usex test)
+ -DUSE_SYSTEM_DARTS=ON
+ -DUSE_SYSTEM_GOOGLE_BENCHMARK=ON
+ -DUSE_SYSTEM_GTEST=ON
+ -DUSE_SYSTEM_MARISA=ON
+ -DUSE_SYSTEM_PYBIND11=ON
+ -DUSE_SYSTEM_RAPIDJSON=ON
+ -DUSE_SYSTEM_TCLAP=ON
+ )
+
+ cmake_src_configure
+ use python && distutils-r1_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use python; then
+ cp "${BUILD_DIR}"/opencc_clib.*.so python/opencc/clib/
+ distutils-r1_src_compile
+ fi
+}
+
+python_test() {
+ epytest
+}
+
+src_test() {
+ cmake_src_test
+ if use python; then
+ cd "${BUILD_DIR}_${EPYTHON}/install/usr/lib/${EPYTHON}/site-packages/opencc/clib" || die
+ mkdir -p share/opencc || die
+ cp "${S}/data/config"/*.json share/opencc/ || die
+ pushd "${S}" || die
+
+ distutils-r1_src_test
+
+ popd || die
+ rm -r share/ || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+ if use python; then
+ distutils-r1_src_install
+
+ # Hack to make opencc's python binding to use system opencc's configs
+ dodir "/usr/lib/${EPYTHON}/site-packages/opencc/clib/share"
+ dosym -r /usr/share/opencc "/usr/lib/${EPYTHON}/site-packages/opencc/clib/share/opencc"
+
+ # Remove insecure RPATH
+ chrpath --delete "${ED}/usr/lib/${EPYTHON}/site-packages/opencc/clib"/*.so || die
+ fi
+}