# Maintainer: Konstantin Podsvirov <konstantin@podsvirov.pro>

_realname=watchfiles
pkgbase=mingw-w64-python-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}")
pkgver=0.24.0
pkgrel=1
pkgdesc="Simple, modern and high performance file watching and code reload in python (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64')
url='https://github.com/samuelcolvin/watchfiles'
msys2_references=(
  'pypi: watchfiles'
)
license=('spdx:MIT')
depends=(
  "${MINGW_PACKAGE_PREFIX}-python"
  "${MINGW_PACKAGE_PREFIX}-python-anyio"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-rust"
  "${MINGW_PACKAGE_PREFIX}-python-maturin"
  "${MINGW_PACKAGE_PREFIX}-python-installer"
)
options=('!strip')
source=("https://pypi.org/packages/source/${_realname::1}/${_realname}/${_realname}-${pkgver}.tar.gz")
sha256sums=('afb72325b74fa7a428c009c1b8be4b4d7c2afedafb2982827ef2156646df2fe1')

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

  "${MINGW_PREFIX}"/bin/cargo fetch --locked
}

build() {
  cd "${srcdir}/${_realname}-${pkgver}"

  export WINAPI_NO_BUNDLED_LIBRARIES=1
  "${MINGW_PREFIX}"/bin/maturin build --release --strip --locked --all-features
}

check() {
  cd "${srcdir}/${_realname}-${pkgver}"

  "${MINGW_PREFIX}"/bin/cargo test --release --frozen --all-features
}

package() {
  cd "${srcdir}/${_realname}-${pkgver}"

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

  install -vDm 644 LICENSE -t "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/"
  install -vDm 644 README.md -t "${pkgdir}${MINGW_PREFIX}/share/doc/python-${_realname}/"
}
