
_realname=tree-sitter-query
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.5.0
pkgrel=1
pkgdesc='TS query grammar for tree-sitter (mingw-64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
msys2_references=(
  'archlinux: tree-sitter-query'
)
url='https://github.com/tree-sitter-grammars/tree-sitter-query'
msys2_repository_url='https://github.com/tree-sitter-grammars/tree-sitter-query'
license=('spdx:Apache-2.0')
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-tree-sitter"
)
source=("https://github.com/tree-sitter-grammars/${_realname}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('e33907fd334350e32e49b3875c36bcf070defe490357632fac9398e6d4540a80')

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"
  tree-sitter generate src/grammar.json
}

build() {
  cd "${srcdir}/${_realname}-${pkgver}"
  # To get around Windows not being supported
  OS='unknown' make CC='cc' LINKSHARED='-shared' PREFIX="${MINGW_PREFIX}" PARSER_URL=$url
}

package() {
  install -d "${pkgdir}${MINGW_PREFIX}/lib/tree_sitter"
  cd "${srcdir}/${_realname}-${pkgver}"
  OS='unknown' make DESTDIR="${pkgdir}" PREFIX="${MINGW_PREFIX}" install

  # To add library to neovim runtime path
  mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/nvim/parser"
  cp "${pkgdir}${MINGW_PREFIX}/lib/lib${_realname}.so" "${pkgdir}${MINGW_PREFIX}/lib/nvim/parser/${_realname#tree-sitter-}.so"

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