# Maintainer: Gavin Luo <lunt.luo@gmail.com>

# Python site-packages path for model installation
_site_packages=$(python -c "import site; print(site.getsitepackages()[0])")

_runtime_deps=(
    'python-pyclipper>=1.2.0'
    'python-opencv>=4.5.1.48'
    'python-numpy>=1.19.5' 'python-numpy<3.0.0'
    'python-six>=1.15.0'
    'python-shapely>2.0.4'
    'python-yaml'
    'python-pillow'
    'python-tqdm'
    'python-omegaconf>2.2.1'
    'python-requests'
    'python-colorlog'
)

pkgbase=python-rapidocr
pkgname=(
    python-rapidocr
    python-rapidocr-models-onnx
)
pkgver=3.9.2
pkgrel=1
pkgdesc='Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.'
url='https://github.com/RapidAI/RapidOCR'
arch=('any')
license=('Apache-2.0')
makedepends=(
    'python-build'
    'python-installer'
    'python-wheel'
    'python-setuptools>=77'
    'python-setuptools-scm>=8'
    'python-onnxruntime'
    "${_runtime_deps[@]}"
)
source=(
    "${pkgbase}-${pkgver}.tar.gz::https://github.com/RapidAI/RapidOCR/archive/v${pkgver}.tar.gz"
)
b2sums=('cf5a1b6bd85802bb194777e58a53f20791713630226b76dcd22110c3155a97e6cc37f427a1e88907bd5ed49577bcf410a1b08bf048de7c0b39a97e423d3e6953')

prepare() {
    cd "${srcdir}/RapidOCR-${pkgver}/python"

    python tools/prepare_wheel_assets.py
}

build() {
    cd "${srcdir}/RapidOCR-${pkgver}/python"
    SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver python -m build --wheel --no-isolation
}

check() {
    cd "${srcdir}/RapidOCR-${pkgver}/python/build/lib"
    PYTHONPATH="$PWD" python -m rapidocr.main check
}

package_python-rapidocr() {
    pkgdesc='Awesome OCR toolkit (without models)'
    depends=(
        'python'
        "${_runtime_deps[@]}"
        'python-rapidocr-models'
    )
    # optdepends=(
    #     'python-openvino: OpenVINO runtime'
    #     'python-paddlepaddle: PaddlePaddle runtime'
    #     'python-tensorflow: TensorRT runtime'
    #     'python-mnn: MNN runtime'
    #     'python-pytorch: PyTorch runtime'
    # )

    cd "${srcdir}/RapidOCR-${pkgver}/python"
    python -m installer --destdir="$pkgdir" dist/*.whl

    # Remove models from main package
    rm -rf "${pkgdir}/${_site_packages}/rapidocr/models/"
}

package_python-rapidocr-models-onnx() {
    pkgdesc='Default ONNX models for python-rapidocr'
    arch=('any')
    license=('Apache-2.0')
    depends=('python-onnxruntime')
    provides=('python-rapidocr-models')

    cd "${srcdir}/RapidOCR-${pkgver}/python"

    install -dm755 "${pkgdir}/${_site_packages}/rapidocr/models/"
    cp -a rapidocr/models/*.onnx "${pkgdir}/${_site_packages}/rapidocr/models/"
}
