_realname=wasi-libc
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0+392+b9ef79d7
_commit=b9ef79d7dbd47c6c5bafdae760823467c2f60b70 # tags/wasi-sdk-24
pkgrel=1
epoch=1
pkgdesc="WASI libc implementation for WebAssembly (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/WebAssembly/wasi-libc"
msys2_references=(
  'archlinux: wasi-libc'
)
license=('Apache-2.0 WITH LLVM-exception AND Apache-2.0 AND MIT')
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-clang"
  "${MINGW_PACKAGE_PREFIX}-llvm"
  'git'
)
source=("git+$url.git#commit=${_commit}")
b2sums=('2b5ffd88ba75a484c9e4bb665013e7bed0f2e4aaf13473ea4711db2958a80c172d4dca0c40f28c813a58bf2a549305a183ae8b31b95d0a772e0f6c1a9f06776e')

prepare() {
  cd "${_realname}"

  printf "0+%s+%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build() {
  cd "${_realname}"

  local -A targets=(
    wasm32-wasip1         ''
    wasm32-wasip1-threads 'THREAD_MODEL=posix'
    wasm32-wasip2         'WASI_SNAPSHOT=p2'
  )

  for target in "${!targets[@]}"; do
    make CC=clang AR=llvm-ar NM=llvm-nm TARGET_TRIPLE="$target" ${targets[$target]}
  done
}

package() {
  cd "${_realname}"

  install -dm755 "${pkgdir}${MINGW_PREFIX}"/share

  cp -dr --preserve=mode,timestamp sysroot "${pkgdir}${MINGW_PREFIX}"/share/wasi-sysroot

  # Package licenses
  install -Dm644 LICENSE* -t "${pkgdir}${MINGW_PREFIX}"/share/licenses/${_realname}
}
