PKGBUILDs/extra/opencc/PKGBUILD

73 lines
2.5 KiB
Bash
Raw Normal View History

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
}