65 lines
1.9 KiB
Plaintext

# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=diffsitter
pkgver=0.8.4
pkgrel=0
pkgdesc="A tree-sitter based AST difftool to get meaningful semantic diffs"
url="https://github.com/afnanenayet/diffsitter"
arch="all"
license="MIT"
checkdepends="
tree-sitter-python
tree-sitter-rust
"
makedepends="cargo cargo-auditable"
install="$pkgname.post-install"
subpackages="
$pkgname-bash-completion
$pkgname-fish-completion
$pkgname-zsh-completion
"
source="https://github.com/afnanenayet/diffsitter/archive/v$pkgver/diffsitter-$pkgver.tar.gz"
_cargo_opts="--frozen --no-default-features --features dynamic-grammar-libs"
_binname=$pkgname
prepare() {
default_prepare
cargo fetch --target="$CTARGET" --locked
}
build() {
cargo auditable build $_cargo_opts --release
mkdir -p comp
local shell; for shell in bash fish zsh; do
./target/release/$_binname gen-completion $shell > comp/$_binname.$shell
done
}
check() {
# Skipped tests fail due to differences in the tree-sitter grammars.
cargo test $_cargo_opts -- \
--skip=_medium_cpp_cpp_false_true_expects \
--skip=_medium_cpp_cpp_true_true_expects \
--skip=_medium_rust_rs_false_false_expects \
--skip=_medium_rust_rs_true_false_expects \
--skip=_short_go_go_true_true_expects \
--skip=_short_markdown_md_true_true_expects \
--skip=_short_rust_rs_true_true_expects
}
package() {
install -D -m755 target/release/$_binname -t "$pkgdir"/usr/bin/
install -D -m644 comp/$_binname.bash "$pkgdir"/usr/share/bash-completion/completions/$_binname
install -D -m644 comp/$_binname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$_binname.fish
install -D -m644 comp/$_binname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$_binname
}
sha512sums="
eb3f2724b36aa119689c15a6701b56ab4de6caf75d4eb957b7ba00361f51996ed4a5ddc3c6e799ff2775a3216a156fba2b9e8551e6ca16c42624ebb464b4fea2 diffsitter-0.8.4.tar.gz
"