# 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)
pkgver=1.1.2
pkgrel=3
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.10/site-packages/opencc/clib/share
  ln -s ../../../../../../share/opencc "$pkgdir"/usr/lib/python3.10/site-packages/opencc/clib/share/

  # Remove insecure RPath
  chrpath --delete "$pkgdir"/usr/lib/python3.10/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
}