# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>

_realname=python-librt
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.7.8
pkgrel=2
pkgdesc='Mypyc runtime library (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/mypyc/librt"
msys2_references=(
  'archlinux: python-librt'
  'purl: pkg:pypi/librt'
)
license=('spdx:MIT AND PSF-2.0')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-python-build"
  "${MINGW_PACKAGE_PREFIX}-python-installer"
  "${MINGW_PACKAGE_PREFIX}-python-setuptools"
)
source=("${url}/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
        "001-allow-x86-isas.patch")
sha256sums=('fe69cf952923a97c576898fab6798193a169dd8aa645f045d8936ead3ddc8503'
            '213da4dfca840168ffc712507fbd1e9c77cce19b82e407debc9178acc04b9a94')

apply_patch_with_msg() {
  for _patch in "$@"
  do
    msg2 "Applying $_patch"
    patch -Np1 -i "${srcdir}/$_patch"
  done
}

prepare() {
  cd "librt-${pkgver}"

  # Necessary for building, see:
  # .github/workflows/buildwheels.yml
  cp -R lib-rt/* .

  if [[ ${MSYSTEM} != CLANGARM64 ]]; then
    apply_patch_with_msg \
      001-allow-x86-isas.patch
  fi
}

build() {
  cd "librt-${pkgver}"
  python -m build --wheel --no-isolation
}

package() {
  cd "librt-${pkgver}"

  MSYS2_ARG_CONV_EXCL="--prefix=" \
    python -m installer --prefix=${MINGW_PREFIX} \
    --destdir="${pkgdir}" dist/*.whl
  install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}
