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

_realname=yt-dlp-ejs
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.3.1
pkgrel=1
pkgdesc="External JavaScript for yt-dlp supporting many runtimes (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
msys2_references=(
  'gentoo: dev-python/yt-dlp-ejs'
  'purl: pkg:pypi/yt-dlp-ejs'
)
url='https://github.com/yt-dlp/ejs'
license=('spdx:Unlicense AND MIT AND ISC')
depends=(
  "${MINGW_PACKAGE_PREFIX}-python"
  "${MINGW_PACKAGE_PREFIX}-nodejs"
)
makedepends=("${MINGW_PACKAGE_PREFIX}-python-build"
             "${MINGW_PACKAGE_PREFIX}-python-hatchling"
             "${MINGW_PACKAGE_PREFIX}-python-hatch-vcs"
             "${MINGW_PACKAGE_PREFIX}-python-installer")
options=('!strip')
source=("https://github.com/yt-dlp/ejs/releases/download/${pkgver}/yt_dlp_ejs-${pkgver}.tar.gz")

sha256sums=('7f2119eb02864800f651fa33825ddfe13d152a1f730fa103d9864f091df24227')

build() {
  cd "yt_dlp_ejs-${pkgver}"

  # rollup doesn't support aarch64-gnu, so just use the slower wasm version
  _rollup_ver=$(npm pkg get devDependencies.rollup | xargs)
  npm remove rollup
  npm install --save-dev @rollup/wasm-node@"${_rollup_ver}"
  npm pkg set "overrides.rollup=npm:@rollup/wasm-node@${_rollup_ver}"

  python -m build --wheel --skip-dependency-check --no-isolation
}

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

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

  install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE"
}
