You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-libs/tree-sitter/tree-sitter-0.20.1-r1.ebuild

173 lines
3.2 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CARGO_OPTIONAL=1
CRATES="
aho-corasick-0.7.15
ansi_term-0.11.0
ansi_term-0.12.1
anyhow-1.0.40
arrayref-0.3.6
arrayvec-0.5.2
ascii-1.0.0
atty-0.2.14
autocfg-1.0.1
base64-0.13.0
bitflags-1.2.1
blake2b_simd-0.5.11
bumpalo-3.6.1
cc-1.0.67
cfg-if-1.0.0
chrono-0.4.19
chunked_transfer-1.4.0
clap-2.33.3
constant_time_eq-0.1.5
crossbeam-utils-0.8.3
ctor-0.1.20
diff-0.1.12
difference-2.0.0
dirs-3.0.1
dirs-sys-0.3.5
either-1.6.1
form_urlencoded-1.0.1
getrandom-0.1.16
getrandom-0.2.2
glob-0.3.0
hashbrown-0.9.1
hermit-abi-0.1.18
html-escape-0.2.6
idna-0.2.2
indexmap-1.6.1
itoa-0.4.7
js-sys-0.3.48
lazy_static-1.4.0
libc-0.2.86
libloading-0.7.0
log-0.4.14
matches-0.1.8
memchr-2.3.4
num-integer-0.1.44
num-traits-0.2.14
once_cell-1.7.0
output_vt100-0.1.2
percent-encoding-2.1.0
ppv-lite86-0.2.10
pretty_assertions-0.7.2
proc-macro2-1.0.24
quote-1.0.9
rand-0.8.3
rand_chacha-0.3.0
rand_core-0.6.2
rand_hc-0.3.0
redox_syscall-0.1.57
redox_syscall-0.2.5
redox_users-0.3.5
regex-1.4.3
regex-syntax-0.6.22
remove_dir_all-0.5.3
rust-argon2-0.8.3
rustc-hash-1.1.0
ryu-1.0.5
same-file-1.0.6
serde-1.0.130
serde_derive-1.0.130
serde_json-1.0.63
smallbitvec-2.5.1
spin-0.7.1
strsim-0.8.0
syn-1.0.67
tempfile-3.2.0
textwrap-0.11.0
thiserror-1.0.25
thiserror-impl-1.0.25
thread_local-1.1.3
time-0.1.43
tiny_http-0.8.0
tinyvec-1.1.1
tinyvec_macros-0.1.0
toml-0.5.8
unicode-bidi-0.3.4
unicode-normalization-0.1.17
unicode-width-0.1.8
unicode-xid-0.2.1
url-2.2.1
utf8-width-0.1.4
vec_map-0.8.2
walkdir-2.3.1
wasi-0.9.0+wasi-snapshot-preview1
wasi-0.10.2+wasi-snapshot-preview1
wasm-bindgen-0.2.71
wasm-bindgen-backend-0.2.71
wasm-bindgen-macro-0.2.71
wasm-bindgen-macro-support-0.2.71
wasm-bindgen-shared-0.2.71
web-sys-0.3.48
webbrowser-0.5.5
which-4.1.0
widestring-0.4.3
winapi-0.3.9
winapi-i686-pc-windows-gnu-0.4.0
winapi-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
"
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"
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
ts-cli? ( $(cargo_crate_uris) )
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
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"
}