diff --git a/community/opencc/PKGBUILD b/community/opencc/PKGBUILD new file mode 100644 index 000000000..f49ff562c --- /dev/null +++ b/community/opencc/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Felix Yan + +# ALARM: Kevin Mihelich +# - disable lto via -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF + +pkgbase=opencc +pkgname=(opencc opencc-doc) +pkgver=1.1.2 +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' + 'python-wheel' 'rapidjson' 'tclap') +source=("https://github.com/BYVoid/OpenCC/archive/ver.$pkgver/$pkgbase-$pkgver.tar.gz" + fix-system-pybind11.patch) +sha512sums=('56c84bc472b39eb0b23bac6df5aada2c2ed5fd2fbe653c1ae89d392ec0b74741a15de93c748883ec3c0779396e790a1197f6e3b267b524f111459d45daeb5d4b' + 'e54bdc865505cacc79e05265ad82e05f35b246c62c68261e68aa51a862020848d39f6d6579abf56ed26edc6a0f5f21d39217ff80690047931037c55c4a59f594') + +prepare() { + cd OpenCC-ver.$pkgver + rm -r deps + patch -p1 -i ../fix-system-pybind11.patch +} + +build() { + cd OpenCC-ver.$pkgver + 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 -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF + make + + mkdir python/opencc/clib + cp opencc_clib.*.so python/opencc/clib/ + touch python/opencc/clib/__init__.py + python setup.py build +} + +package_opencc() { + pkgdesc="Library for Open Chinese Convert" + depends=('marisa') + + cd OpenCC-ver.$pkgver + 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 + mkdir "$pkgdir"/usr/lib/python3.9/site-packages/opencc/clib/share + ln -s ../../../../../../share/opencc "$pkgdir"/usr/lib/python3.9/site-packages/opencc/clib/share/ + + # Remove insecure RPath + chrpath --delete "$pkgdir"/usr/lib/python3.9/site-packages/opencc/clib/*.so + + # Remove docs - install in split package + rm -r "$pkgdir/usr/share/opencc/doc" +} + +package_opencc-doc() { + pkgdesc="Documentation for Library for Open Chinese Convert" + + cd OpenCC-ver.$pkgver/doc + make DESTDIR="$pkgdir" install +} diff --git a/community/opencc/fix-system-pybind11.patch b/community/opencc/fix-system-pybind11.patch new file mode 100644 index 000000000..70f17ec27 --- /dev/null +++ b/community/opencc/fix-system-pybind11.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d4b6530..cfc02c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -219,9 +219,7 @@ endif() + + if (BUILD_PYTHON) + if(USE_SYSTEM_PYBIND11) +- include(pybind11Config) +- include(pybind11Common) +- include(pybind11Tools) ++ find_package(pybind11 CONFIG) + else() + add_subdirectory(deps/pybind11-2.5.0) + endif()