# Maintainer: Biswapriyo Nath <nathbappai@gmail.com>

_realname=pyarrow
pkgbase=mingw-w64-python-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}")
pkgver=17.0.0
pkgrel=1
pkgdesc="Columnar in-memory analytics layer for big data — Python module (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://arrow.apache.org/"
msys2_repository_url="https://github.com/apache/arrow"
msys2_references=(
  'archlinux: arrow'
  "cpe: cpe:/a:apache:arrow"
)
license=('spdx:Apache-2.0')
depends=(
  "${MINGW_PACKAGE_PREFIX}-arrow"
  "${MINGW_PACKAGE_PREFIX}-python"
  "${MINGW_PACKAGE_PREFIX}-python-numpy"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-clang"
  "${MINGW_PACKAGE_PREFIX}-cmake"
  "${MINGW_PACKAGE_PREFIX}-cython"
  "${MINGW_PACKAGE_PREFIX}-ninja"
  "${MINGW_PACKAGE_PREFIX}-python-build"
  "${MINGW_PACKAGE_PREFIX}-python-installer"
  "${MINGW_PACKAGE_PREFIX}-python-setuptools"
  "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm"
  "${MINGW_PACKAGE_PREFIX}-python-wheel"
)
options=('!strip')
source=("https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-${pkgver}/apache-arrow-${pkgver}.tar.gz"{,.asc}
        "0001-arrow-setup-fix-cmake-generator.patch")
sha256sums=('9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d'
            'SKIP'
            '77442c5681af7cdfff8d37dd8eb94e52b934db086c605459e0ab68535d820d47')
validpgpkeys=(
  'AF6AADA4C9835B75973FF5DA275C532289DD0F4A' # Raúl Cumplido Domínguez (CODE SIGNING KEY) <raulcd@apache.org>
)

prepare() {
  cd "apache-arrow-${pkgver}"
  patch -p1 -i "${srcdir}/0001-arrow-setup-fix-cmake-generator.patch"
}

build() {
  export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver}

  cd "apache-arrow-${pkgver}/python"

  PYARROW_CMAKE_OPTIONS="-DARROW_SIMD_LEVEL=NONE -DARROW_RUNTIME_SIMD_LEVEL=MAX" \
  PYARROW_WITH_DATASET=1 \
  PYARROW_WITH_FLIGHT=1 \
  PYARROW_WITH_HDFS=1 \
  PYARROW_WITH_PARQUET=1 \
  PYARROW_WITH_PARQUET_ENCRYPTION=1 \
  ${MINGW_PREFIX}/bin/python -m build --wheel --skip-dependency-check --no-isolation
}

package() {
  cd "apache-arrow-${pkgver}/python"

  MSYS2_ARG_CONV_EXCL="--prefix=" \
    ${MINGW_PREFIX}/bin/python -m installer --prefix=${MINGW_PREFIX} \
    --destdir="${pkgdir}" dist/*.whl
}
