Files
haikuports/dev-libs/tree-sitter/tree_sitter-0.20.6.recipe

67 lines
1.5 KiB
Bash

SUMMARY="An incremental parsing system for programming tools"
DESCRIPTION="Tree-sitter is an extendable parsing system for various programming tools."
HOMEPAGE="https://tree-sitter.github.io/"
COPYRIGHT="2018-2021 Max Brunsfeld"
LICENSE="MIT"
REVISION="7"
SOURCE_URI="https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="4d37eaef8a402a385998ff9aca3e1043b4a3bba899bceeff27a7178e1165b9de"
SOURCE_DIR="tree-sitter-$portVersion"
PATCHES="tree-sitter-No-static-libs-gentoo.patch"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="0.0"
libVersionCompat="$libVersion compat >= 0"
PROVIDES="
tree_sitter$secondaryArchSuffix = $portVersion
lib:libtree_sitter$secondaryArchSuffix = $libVersionCompat
cmd:tree_sitter
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
tree_sitter${secondaryArchSuffix}_devel
devel:libtree_sitter$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
tree_sitter$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:cargo$secondaryArchSuffix >= 0.61.0
cmd:make
"
BUILD()
{
cargo fetch --locked
make
cd cli
cargo build --release --locked --offline --all-features
}
INSTALL()
{
make PREFIX=$prefix INCLUDEDIR=$includeDir \
LIBDIR=$libDir install
install -Dm 755 target/release/tree-sitter -t $prefix/bin
prepareInstalledDevelLib libtree-sitter
fixPkgconfig
packageEntries devel \
"$developDir"
}