59 lines
1.6 KiB
Bash
59 lines
1.6 KiB
Bash
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
|
|
# Maintainer: Filipe Laíns (FFY00) <lains@archlinux.org>
|
|
# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
|
|
|
|
pkgbase=tree-sitter
|
|
pkgname=(
|
|
tree-sitter
|
|
tree-sitter-cli
|
|
)
|
|
pkgver=0.24.3
|
|
pkgrel=2
|
|
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
|
|
url=https://github.com/tree-sitter/tree-sitter
|
|
license=(MIT)
|
|
makedepends=(
|
|
cmake
|
|
git
|
|
rust
|
|
)
|
|
options=(!lto) # Needed for CLI build
|
|
source=("git+$url.git#commit=v$pkgver")
|
|
b2sums=('31f6e9ec2e5417fab8867127d0f07de08df85b932544eab4ddf3b96fe4cf6ffc58a5b52214a718c316fe5858c0cc8c25ba09938dc13ae6ed18529baba9e2b1d0')
|
|
validpgpkeys=(FCC13F47A6900D64239FF13BE67890ADC4227273) # Amaan Qureshi <amaanq12@gmail.com>
|
|
|
|
prepare() {
|
|
cd $pkgbase/cli
|
|
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
|
|
}
|
|
|
|
build() {
|
|
cd $pkgbase
|
|
cmake -S lib -B build \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON # Enable LTO
|
|
cmake --build build
|
|
|
|
cd cli
|
|
cargo build --release --locked --offline
|
|
}
|
|
|
|
package_tree-sitter() {
|
|
pkgdesc='Incremental parsing library'
|
|
provides=(libtree-sitter.so)
|
|
|
|
cd $pkgbase
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgbase
|
|
}
|
|
|
|
package_tree-sitter-cli() {
|
|
pkgdesc='CLI tool for developing, testing, and using Tree-sitter parsers'
|
|
depends=(gcc-libs)
|
|
optdepends=('nodejs: for the generate subcommand')
|
|
|
|
cd $pkgbase
|
|
install -Dt "$pkgdir"/usr/bin target/release/$pkgbase
|
|
install -Dm644 -t "$pkgdir"/usr/share/licenses/${pkgbase}-cli LICENSE
|
|
}
|