# Maintainer: Jef Roosens pkgname=vieter-vls pkgver=r582.5ad842f pkgrel=1 pkgdesc='Language server for the V programming language; synced with the vieter-v compiler.' arch=('x86_64' 'aarch64') url='https://github.com/vlang/vls' license=('MIT') depends=('glibc' 'vieter-v') makedepends=('git') source=("${pkgname}::git+https://github.com/vlang/vls") md5sums=('SKIP') pkgver() { cd "${pkgname}" echo "r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)" } build() { cd "${pkgname}" v run build.vsh gcc msg "Building treesitter grammar..." # Building with -prod is required because otherwise, the binary contains # tcc symbols which isn't usually installed on the user's system. v -cc gcc -shared -prod tree_sitter_v } package() { # Install vls install -dm755 "${pkgdir}/usr/bin" install -Dm755 "${pkgname}/bin/vls" "${pkgdir}/usr/bin/vls" install -Dm644 "${pkgname}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" # Install treesitter grammar # This package installs the parser & queries for Neovim in its runtimepath install -dm755 "${pkgdir}/usr/share/nvim/runtime/parser" install -dm755 "${pkgdir}/usr/share/nvim/runtime/queries/v" install -Dm755 "${pkgname}/tree_sitter_v/tree_sitter_v.so" "${pkgdir}/usr/share/nvim/runtime/parser/v.so" install -m644 "${pkgname}/tree_sitter_v/queries"/* "${pkgdir}/usr/share/nvim/runtime/queries/v" }