mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
app-i18n/opencc: Bump to 1.1.9
Closes: https://bugs.gentoo.org/949213 Signed-off-by: blackteahamburger <blackteahamburger@outlook.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
This commit is contained in:
committed by
Yixun Lan
parent
a06e43e7bd
commit
b134a6bbe4
@@ -1,2 +1,3 @@
|
||||
DIST opencc-1.1.4.tar.gz 2806887 BLAKE2B 150fd83818616de42e535f349b2574ff3319e41618e522583a57a00ab08b7f28db6e8f4fa4a0d4dbe027753b5be87065b2015542251986c6301ad441c4bf4c98 SHA512 ab8e7e6a0cc71106cf09eb32899fa8620b946a406f042d75a2444096e0b383cb1993d6c2d12cd7862e71854da4cd5893442bce51df84c32ed09fdfb4a2846f46
|
||||
DIST opencc-1.1.7.tar.gz 3311712 BLAKE2B 158a4ea5707ade583d326b0e4441640cbaae2ccb1c89c4ccfaeb8b8dd6f1d427a7f5fcaae7ac0bd6fca3208c65fe24577f6b6ba9c7fec1a499936ef83887d181 SHA512 26e4b12238f853b0fa91f9f0d9af7985bf04a0763185cc3b50b69ba99a2d80091b8c3160176d0d4cd348fbf1a680bfd80dc740dc60c938a256dc2dac8ef49f15
|
||||
DIST opencc-1.1.9.tar.gz 3422511 BLAKE2B e83fda092fafa3dc4a108c4d1d6c35cfe2e75609cd5bc2eea9c9b59ef636c876e8993b0b45291f35dd86e69f3182ddbcd775fa8d347e5e5ac89576b09a5cb901 SHA512 713cf00931d7616994eb455eef3bc893096b5cd6d42b346aa1130591752d9612891ea3ed035bd7bd4ec7df1c90425e86375f5b3337fac11663c656c79a8f33e9
|
||||
|
||||
162
app-i18n/opencc/files/opencc-1.1.9-python.patch
Normal file
162
app-i18n/opencc/files/opencc-1.1.9-python.patch
Normal file
@@ -0,0 +1,162 @@
|
||||
From 8f3a5b4b201f091713cb4e2b1b5883a4b12d10b2 Mon Sep 17 00:00:00 2001
|
||||
From: Frost Ming <mianghong@gmail.com>
|
||||
Date: Thu, 18 Jul 2024 05:32:08 +0800
|
||||
Subject: [PATCH] fix: release sdist to PyPI (#797)
|
||||
|
||||
* fix: release sdist to PyPI
|
||||
|
||||
* fix: add newline at file end
|
||||
|
||||
* fix: ignore more files
|
||||
|
||||
Signed-off-by: Frost Ming <me@frostming.com>
|
||||
|
||||
* fix: change the install root of cmake
|
||||
|
||||
Signed-off-by: Frost Ming <me@frostming.com>
|
||||
|
||||
* fix: make it work for editable build as well
|
||||
|
||||
Signed-off-by: Frost Ming <me@frostming.com>
|
||||
|
||||
* fix release script
|
||||
|
||||
Signed-off-by: Frost Ming <me@frostming.com>
|
||||
|
||||
* fix: include files in sdist
|
||||
|
||||
Signed-off-by: Frost Ming <me@frostming.com>
|
||||
|
||||
---------
|
||||
|
||||
Signed-off-by: Frost Ming <me@frostming.com>
|
||||
Co-authored-by: Carbo Kuo <BYVoid@users.noreply.github.com>
|
||||
---
|
||||
.github/workflows/python.yml | 10 ++++----
|
||||
.gitignore | 1 +
|
||||
MANIFEST.in | 9 +++++++
|
||||
Makefile | 6 ++---
|
||||
pyproject.toml | 3 +++
|
||||
python/opencc/.gitignore | 1 +
|
||||
python/opencc/clib/__init__.py | 1 -
|
||||
release-pypi-linux.sh | 8 +++----
|
||||
release-pypi-macos.sh | 6 ++---
|
||||
release-pypi-windows.cmd | 6 ++---
|
||||
setup.py | 43 +++++++++-------------------------
|
||||
11 files changed, 43 insertions(+), 51 deletions(-)
|
||||
create mode 100644 MANIFEST.in
|
||||
create mode 100644 pyproject.toml
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index a7ce160d..a4bc500f 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -9,21 +9,12 @@
|
||||
import wheel.bdist_wheel
|
||||
|
||||
_this_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
-_clib_dir = os.path.join(_this_dir, 'python', 'opencc', 'clib')
|
||||
_build_dir = os.path.join(_this_dir, 'build', 'python')
|
||||
|
||||
_cmake_file = os.path.join(_this_dir, 'CMakeLists.txt')
|
||||
_author_file = os.path.join(_this_dir, 'AUTHORS')
|
||||
_readme_file = os.path.join(_this_dir, 'README.md')
|
||||
|
||||
-try:
|
||||
- sys.path.insert(0, os.path.join(_this_dir, 'python'))
|
||||
-
|
||||
- import opencc # noqa
|
||||
- _libopencc_built = True
|
||||
-except ImportError:
|
||||
- _libopencc_built = False
|
||||
-
|
||||
|
||||
def get_version_info():
|
||||
version_info = ['1', '0', '0']
|
||||
@@ -70,20 +61,13 @@ def get_long_description():
|
||||
return f.read().decode('utf-8')
|
||||
|
||||
|
||||
-def build_libopencc():
|
||||
- if _libopencc_built:
|
||||
- return # Skip building binary file
|
||||
+def build_libopencc(output_path):
|
||||
print('building libopencc into %s' % _build_dir)
|
||||
|
||||
is_windows = sys.platform == 'win32'
|
||||
|
||||
# Make build directories
|
||||
- if is_windows:
|
||||
- subprocess.call('md {}'.format(_build_dir), shell=True)
|
||||
- subprocess.call('md {}'.format(_clib_dir), shell=True)
|
||||
- else:
|
||||
- subprocess.call('mkdir -p {}'.format(_build_dir), shell=True)
|
||||
- subprocess.call('mkdir -p {}'.format(_clib_dir), shell=True)
|
||||
+ os.makedirs(_build_dir, exist_ok=True)
|
||||
|
||||
# Configure
|
||||
cmake_args = [
|
||||
@@ -93,14 +77,14 @@ def build_libopencc():
|
||||
'-DENABLE_BENCHMARK:BOOL=OFF',
|
||||
'-DBUILD_PYTHON:BOOL=ON',
|
||||
'-DCMAKE_BUILD_TYPE=Release',
|
||||
- '-DCMAKE_INSTALL_PREFIX={}'.format(_clib_dir),
|
||||
- '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={}'.format(_clib_dir),
|
||||
+ '-DCMAKE_INSTALL_PREFIX={}'.format(output_path),
|
||||
+ '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={}'.format(output_path),
|
||||
'-DPYTHON_EXECUTABLE={}'.format(sys.executable),
|
||||
]
|
||||
|
||||
if is_windows:
|
||||
cmake_args += \
|
||||
- ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE={}'.format(_clib_dir)]
|
||||
+ ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE={}'.format(output_path)]
|
||||
if sys.maxsize > 2**32:
|
||||
cmake_args += ['-A', 'x64']
|
||||
|
||||
@@ -117,11 +101,6 @@ def build_libopencc():
|
||||
errno = subprocess.call(cmd)
|
||||
assert errno == 0, 'Build failed'
|
||||
|
||||
- # Empty __init__.py file has to be created
|
||||
- # to make opencc.clib a module
|
||||
- with open('{}/__init__.py'.format(_clib_dir), 'w'):
|
||||
- pass
|
||||
-
|
||||
|
||||
class OpenCCExtension(setuptools.Extension, object):
|
||||
def __init__(self, name, sourcedir=''):
|
||||
@@ -131,8 +110,12 @@ def __init__(self, name, sourcedir=''):
|
||||
|
||||
class BuildExtCommand(setuptools.command.build_ext.build_ext, object):
|
||||
def build_extension(self, ext):
|
||||
+ if self.inplace:
|
||||
+ output_path = os.path.join(_this_dir, 'python', 'opencc', 'clib')
|
||||
+ else:
|
||||
+ output_path = os.path.abspath(os.path.join(self.build_lib, 'opencc', 'clib'))
|
||||
if isinstance(ext, OpenCCExtension):
|
||||
- build_libopencc()
|
||||
+ build_libopencc(output_path)
|
||||
else:
|
||||
super(BuildExtCommand, self).build_extension(ext)
|
||||
|
||||
@@ -157,7 +140,7 @@ def _determine_platform_tag():
|
||||
return 'macosx-11.0-{}'.format(machine)
|
||||
else:
|
||||
raise NotImplementedError
|
||||
-
|
||||
+
|
||||
if os.name == 'posix':
|
||||
_, _, _, _, machine = os.uname()
|
||||
return 'manylinux2014-{}'.format(machine)
|
||||
@@ -190,10 +173,6 @@ def initialize_options(self):
|
||||
|
||||
packages=packages,
|
||||
package_dir={'opencc': 'python/opencc'},
|
||||
- package_data={str('opencc'): [
|
||||
- 'clib/opencc_clib*',
|
||||
- 'clib/share/opencc/*',
|
||||
- ]},
|
||||
ext_modules=[OpenCCExtension('opencc.clib.opencc_clib', 'python')],
|
||||
cmdclass={
|
||||
'build_ext': BuildExtCommand,
|
||||
122
app-i18n/opencc/opencc-1.1.9.ebuild
Normal file
122
app-i18n/opencc/opencc-1.1.9.ebuild
Normal file
@@ -0,0 +1,122 @@
|
||||
# Copyright 2010-2025 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 ~loong ~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 )
|
||||
|
||||
src_prepare() {
|
||||
# as of opencc 1.1.8 there is no clean way to disable duplicated building of the clib again.
|
||||
# plus, the installation is broken as well.
|
||||
# let's revert the offending commit for now.
|
||||
eapply -R "${FILESDIR}/${P}-python.patch"
|
||||
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user