2021-03-19 23:08:44 +00:00
|
|
|
# Maintainer: Felix Yan <felixonmars@archlinux.org>
|
|
|
|
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
|
|
# - disable lto via -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF
|
|
|
|
|
|
|
|
pkgbase=opencc
|
|
|
|
pkgname=(opencc opencc-doc)
|
2024-08-02 10:26:08 +00:00
|
|
|
pkgver=1.1.8
|
|
|
|
pkgrel=1
|
2021-03-19 23:08:44 +00:00
|
|
|
pkgdesc="Library for Open Chinese Convert"
|
|
|
|
url="https://github.com/BYVoid/OpenCC"
|
|
|
|
arch=('x86_64')
|
|
|
|
license=('Apache')
|
2024-08-02 10:26:08 +00:00
|
|
|
makedepends=('git' 'chrpath' 'cmake' 'darts' 'doxygen' 'marisa' 'pybind11' 'python-setuptools'
|
2022-03-18 23:27:52 +00:00
|
|
|
'python-wheel' 'rapidjson' 'tclap' 'gtest')
|
2024-08-02 10:26:08 +00:00
|
|
|
source=("git+https://github.com/BYVoid/OpenCC.git#tag=ver.$pkgver"
|
|
|
|
8f3a5b4b201f091713cb4e2b1b5883a4b12d10b2.patch)
|
|
|
|
sha512sums=('c5ffe2223e5cf3c2a3079128e6eefa74db083c32897f46ae58c981f3fe057cff045c4fed22266d4fe9170cf689169d4d8023b35da058c52d3a8f3034ca0ca8b2'
|
|
|
|
'febade61cc1734db891234484893128519dffc198f80883fc4838534684f91db2a21641252615820ae9bedffce52451535ea2717a40958b80ea82590850b90ac')
|
2021-03-19 23:08:44 +00:00
|
|
|
|
|
|
|
prepare() {
|
2024-08-02 10:26:08 +00:00
|
|
|
cd OpenCC
|
2021-03-19 23:08:44 +00:00
|
|
|
rm -r deps
|
2024-08-02 10:26:08 +00:00
|
|
|
|
|
|
|
# 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
|
2021-03-19 23:08:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
2024-08-02 10:26:08 +00:00
|
|
|
cd OpenCC
|
2021-03-19 23:08:44 +00:00
|
|
|
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 \
|
2022-03-18 23:27:52 +00:00
|
|
|
-DUSE_SYSTEM_TCLAP:BOOL=ON -DUSE_SYSTEM_DARTS:BOOL=ON -DENABLE_GTEST:BOOL=ON \
|
|
|
|
-DUSE_SYSTEM_GTEST:BOOL=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF
|
2021-03-19 23:08:44 +00:00
|
|
|
make
|
|
|
|
|
|
|
|
cp opencc_clib.*.so python/opencc/clib/
|
|
|
|
python setup.py build
|
|
|
|
}
|
|
|
|
|
2022-03-18 23:27:52 +00:00
|
|
|
check() {
|
2024-08-02 10:26:08 +00:00
|
|
|
cd OpenCC
|
2022-03-18 23:27:52 +00:00
|
|
|
make test
|
|
|
|
}
|
|
|
|
|
2021-03-19 23:08:44 +00:00
|
|
|
package_opencc() {
|
|
|
|
pkgdesc="Library for Open Chinese Convert"
|
|
|
|
depends=('marisa')
|
|
|
|
|
2024-08-02 10:26:08 +00:00
|
|
|
cd OpenCC
|
2021-03-19 23:08:44 +00:00
|
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
python setup.py install --root="$pkgdir" --optimize=1
|
|
|
|
|
|
|
|
# Hack to make opencc's python binding to use system opencc's configs
|
2023-05-03 19:16:42 +00:00
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
|
|
mkdir "$pkgdir"/usr/lib/"python$python_version"/site-packages/opencc/clib/share
|
|
|
|
ln -s ../../../../../../share/opencc "$pkgdir"/usr/lib/"python$python_version"/site-packages/opencc/clib/share/
|
2021-03-19 23:08:44 +00:00
|
|
|
|
|
|
|
# Remove insecure RPath
|
2023-05-03 19:16:42 +00:00
|
|
|
chrpath --delete "$pkgdir"/usr/lib/"python$python_version"/site-packages/opencc/clib/*.so
|
2021-03-19 23:08:44 +00:00
|
|
|
|
|
|
|
# Remove docs - install in split package
|
|
|
|
rm -r "$pkgdir/usr/share/opencc/doc"
|
|
|
|
}
|
|
|
|
|
|
|
|
package_opencc-doc() {
|
|
|
|
pkgdesc="Documentation for Library for Open Chinese Convert"
|
|
|
|
|
2024-08-02 10:26:08 +00:00
|
|
|
cd OpenCC/doc
|
2021-03-19 23:08:44 +00:00
|
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
}
|