mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
extra/opencc to 1.1.8-1
This commit is contained in:
parent
a33af33763
commit
b6b1c6eed9
3 changed files with 185 additions and 14 deletions
|
@ -1,10 +1,11 @@
|
|||
pkgbase = opencc
|
||||
pkgdesc = Library for Open Chinese Convert
|
||||
pkgver = 1.1.7
|
||||
pkgrel = 2
|
||||
pkgver = 1.1.8
|
||||
pkgrel = 1
|
||||
url = https://github.com/BYVoid/OpenCC
|
||||
arch = x86_64
|
||||
license = Apache
|
||||
makedepends = git
|
||||
makedepends = chrpath
|
||||
makedepends = cmake
|
||||
makedepends = darts
|
||||
|
@ -16,8 +17,10 @@ pkgbase = opencc
|
|||
makedepends = rapidjson
|
||||
makedepends = tclap
|
||||
makedepends = gtest
|
||||
source = https://github.com/BYVoid/OpenCC/archive/ver.1.1.7/opencc-1.1.7.tar.gz
|
||||
sha512sums = 26e4b12238f853b0fa91f9f0d9af7985bf04a0763185cc3b50b69ba99a2d80091b8c3160176d0d4cd348fbf1a680bfd80dc740dc60c938a256dc2dac8ef49f15
|
||||
source = git+https://github.com/BYVoid/OpenCC.git#tag=ver.1.1.8
|
||||
source = 8f3a5b4b201f091713cb4e2b1b5883a4b12d10b2.patch
|
||||
sha512sums = c5ffe2223e5cf3c2a3079128e6eefa74db083c32897f46ae58c981f3fe057cff045c4fed22266d4fe9170cf689169d4d8023b35da058c52d3a8f3034ca0ca8b2
|
||||
sha512sums = febade61cc1734db891234484893128519dffc198f80883fc4838534684f91db2a21641252615820ae9bedffce52451535ea2717a40958b80ea82590850b90ac
|
||||
|
||||
pkgname = opencc
|
||||
pkgdesc = Library for Open Chinese Convert
|
||||
|
|
162
extra/opencc/8f3a5b4b201f091713cb4e2b1b5883a4b12d10b2.patch
Normal file
162
extra/opencc/8f3a5b4b201f091713cb4e2b1b5883a4b12d10b2.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,
|
|
@ -5,24 +5,30 @@
|
|||
|
||||
pkgbase=opencc
|
||||
pkgname=(opencc opencc-doc)
|
||||
pkgver=1.1.7
|
||||
pkgrel=2
|
||||
pkgver=1.1.8
|
||||
pkgrel=1
|
||||
pkgdesc="Library for Open Chinese Convert"
|
||||
url="https://github.com/BYVoid/OpenCC"
|
||||
arch=('x86_64')
|
||||
license=('Apache')
|
||||
makedepends=('chrpath' 'cmake' 'darts' 'doxygen' 'marisa' 'pybind11' 'python-setuptools'
|
||||
makedepends=('git' 'chrpath' 'cmake' 'darts' 'doxygen' 'marisa' 'pybind11' 'python-setuptools'
|
||||
'python-wheel' 'rapidjson' 'tclap' 'gtest')
|
||||
source=("https://github.com/BYVoid/OpenCC/archive/ver.$pkgver/$pkgbase-$pkgver.tar.gz")
|
||||
sha512sums=('26e4b12238f853b0fa91f9f0d9af7985bf04a0763185cc3b50b69ba99a2d80091b8c3160176d0d4cd348fbf1a680bfd80dc740dc60c938a256dc2dac8ef49f15')
|
||||
source=("git+https://github.com/BYVoid/OpenCC.git#tag=ver.$pkgver"
|
||||
8f3a5b4b201f091713cb4e2b1b5883a4b12d10b2.patch)
|
||||
sha512sums=('c5ffe2223e5cf3c2a3079128e6eefa74db083c32897f46ae58c981f3fe057cff045c4fed22266d4fe9170cf689169d4d8023b35da058c52d3a8f3034ca0ca8b2'
|
||||
'febade61cc1734db891234484893128519dffc198f80883fc4838534684f91db2a21641252615820ae9bedffce52451535ea2717a40958b80ea82590850b90ac')
|
||||
|
||||
prepare() {
|
||||
cd OpenCC-ver.$pkgver
|
||||
cd OpenCC
|
||||
rm -r deps
|
||||
|
||||
# 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.
|
||||
patch -Rp1 -i ../8f3a5b4b201f091713cb4e2b1b5883a4b12d10b2.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd OpenCC-ver.$pkgver
|
||||
cd OpenCC
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_DOCUMENTATION:BOOL=ON -DBUILD_PYTHON:BOOL=ON \
|
||||
-DUSE_SYSTEM_MARISA:BOOL=ON -DUSE_SYSTEM_PYBIND11:BOOL=ON -DUSE_SYSTEM_RAPIDJSON:BOOL=ON \
|
||||
-DUSE_SYSTEM_TCLAP:BOOL=ON -DUSE_SYSTEM_DARTS:BOOL=ON -DENABLE_GTEST:BOOL=ON \
|
||||
|
@ -34,7 +40,7 @@ build() {
|
|||
}
|
||||
|
||||
check() {
|
||||
cd OpenCC-ver.$pkgver
|
||||
cd OpenCC
|
||||
make test
|
||||
}
|
||||
|
||||
|
@ -42,7 +48,7 @@ package_opencc() {
|
|||
pkgdesc="Library for Open Chinese Convert"
|
||||
depends=('marisa')
|
||||
|
||||
cd OpenCC-ver.$pkgver
|
||||
cd OpenCC
|
||||
make DESTDIR="$pkgdir" install
|
||||
python setup.py install --root="$pkgdir" --optimize=1
|
||||
|
||||
|
@ -61,6 +67,6 @@ package_opencc() {
|
|||
package_opencc-doc() {
|
||||
pkgdesc="Documentation for Library for Open Chinese Convert"
|
||||
|
||||
cd OpenCC-ver.$pkgver/doc
|
||||
cd OpenCC/doc
|
||||
make DESTDIR="$pkgdir" install
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue