diff options
Diffstat (limited to 'dev-libs/tree-sitter/tree-sitter-9999.ebuild')
-rw-r--r-- | dev-libs/tree-sitter/tree-sitter-9999.ebuild | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/dev-libs/tree-sitter/tree-sitter-9999.ebuild b/dev-libs/tree-sitter/tree-sitter-9999.ebuild index 7097ecdcab15..0c65cf2416ce 100644 --- a/dev-libs/tree-sitter/tree-sitter-9999.ebuild +++ b/dev-libs/tree-sitter/tree-sitter-9999.ebuild @@ -1,9 +1,11 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit toolchain-funcs +CARGO_OPTIONAL=1 + +inherit toolchain-funcs cargo DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library." HOMEPAGE="https://github.com/tree-sitter/tree-sitter" @@ -12,22 +14,50 @@ if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/${PN}/${PN}" else - SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + SRC_URI=" + https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ts-cli? ( $(cargo_crate_uris) ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi -LICENSE="MIT" +LICENSE="MIT ts-cli? ( Apache-2.0 BSD-2 CC0-1.0 ISC MIT )" SLOT="0" +IUSE="ts-cli" + +BDEPEND="ts-cli? ( virtual/rust )" + PATCHES=( "${FILESDIR}/${PN}-No-static-libs-gentoo.patch" ) +src_unpack() { + if [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + use ts-cli && cargo_live_src_unpack + else + # behaves as default too, so it is ok to call it unconditonally + cargo_src_unpack + fi +} + src_prepare() { default tc-export CC } +src_configure() { + default + use ts-cli && cargo_src_configure +} + +src_compile() { + default + use ts-cli && cargo_src_compile +} + src_install() { emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" install + use ts-cli && cargo_src_install --path "./cli" } |