# Maintainer: Jef Roosens pkgname=vieter-vls pkgver=latest.r0.g5fbfe67 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() { git -C "$pkgname" describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' } build() { cd "$pkgname" msg "Building VLS..." # I would use -d dynamic_boehm here, but vls seems to segfault when I do # this, strange. v -cc gcc -gc boehm -prod cmd/vls 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/cmd/vls/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" }