1SUMMARY="An incremental parsing system for programming tools"
2DESCRIPTION="Tree-sitter is an extendable parsing system for various programming tools."
3HOMEPAGE="https://tree-sitter.github.io/"
4COPYRIGHT="2018-2021 Max Brunsfeld"
5LICENSE="MIT"
6REVISION="7"
7SOURCE_URI="https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v$portVersion.tar.gz"
8CHECKSUM_SHA256="4d37eaef8a402a385998ff9aca3e1043b4a3bba899bceeff27a7178e1165b9de"
9SOURCE_DIR="tree-sitter-$portVersion"
10PATCHES="tree-sitter-No-static-libs-gentoo.patch"
11
12ARCHITECTURES="all !x86_gcc2"
13SECONDARY_ARCHITECTURES="x86"
14
15libVersion="0.0"
16libVersionCompat="$libVersion compat >= 0"
17
18PROVIDES="
19	tree_sitter$secondaryArchSuffix = $portVersion
20	lib:libtree_sitter$secondaryArchSuffix = $libVersionCompat
21	cmd:tree_sitter
22	"
23REQUIRES="
24	haiku$secondaryArchSuffix
25	"
26
27PROVIDES_devel="
28	tree_sitter${secondaryArchSuffix}_devel
29	devel:libtree_sitter$secondaryArchSuffix = $libVersionCompat
30	"
31REQUIRES_devel="
32	tree_sitter$secondaryArchSuffix == $portVersion base
33	"
34
35BUILD_REQUIRES="
36	haiku${secondaryArchSuffix}_devel
37	"
38BUILD_PREREQUIRES="
39	cmd:gcc$secondaryArchSuffix
40	cmd:cargo$secondaryArchSuffix >= 0.61.0
41	cmd:make
42	"
43
44BUILD()
45{
46	cargo fetch --locked
47	make
48
49	cd cli
50	cargo build --release --locked --offline --all-features
51}
52
53INSTALL()
54{
55	make PREFIX=$prefix INCLUDEDIR=$includeDir \
56		LIBDIR=$libDir install
57
58	install -Dm 755 target/release/tree-sitter -t $prefix/bin
59
60	prepareInstalledDevelLib libtree-sitter
61	fixPkgconfig
62
63	packageEntries devel \
64		"$developDir"
65}
66
67