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

_realname=wgsl-analyzer
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
_pkgver=2025-11-14
pkgver=${_pkgver//-}
pkgrel=1
pkgdesc="A language server implementation for WGSL and WESL (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://wgsl-analyzer.github.io/'
msys2_repository_url='https://github.com/wgsl-analyzer/wgsl-analyzer'
license=('spdx:MIT OR Apache-2.0')
makedepends=("${MINGW_PACKAGE_PREFIX}-rust"
             'git')
source=("${msys2_repository_url}/archive/${_pkgver}/${_realname}-${_pkgver}.tar.gz")
sha256sums=('f0c93d63c6795d136a6e8bd75f1ae6d53f9204b3f830d9999faf75c0c88e8b2e')

prepare() {
  cd "${_realname}-${_pkgver}"

  cargo fetch \
    --locked \
    --config='net.git-fetch-with-cli=true' \
    --target "${RUST_CHOST}"
}

build() {
  cd "${_realname}-${_pkgver}"

  cargo build --release --frozen -p ${_realname}
}

check() {
  cd "${_realname}-${_pkgver}"

  cargo test --release --frozen -p ${_realname}
}

package() {
  cd "${_realname}-${_pkgver}"

  cargo install \
    --offline \
    --no-track \
    --frozen \
    --path "./crates/${_realname}" \
    --root "${pkgdir}${MINGW_PREFIX}"

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