commit:     fd7ecadcca4dd220302c3f7dadddee91c251d929
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 15 07:05:51 2024 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Mon Apr 15 07:25:19 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd7ecadc

dev-libs/tree-sitter: add subslot

The ABI break seemed to be unintentional, but adding a subslot will be
useful in the future as a break with version 1.0 of tree-sitter looks
to be planned.

Ref: 
https://github.com/tree-sitter/tree-sitter/issues/930#issuecomment-782924093
Bug: https://bugs.gentoo.org/930039
Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>

 dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild | 49 +++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild 
b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
new file mode 100644
index 000000000000..d9718e3f31d5
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit optfeature toolchain-funcs
+
+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/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+# soname is .0, but abi was broken unexpectedly
+# Bug #930039
+SLOT="0/1"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+       "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
+
+src_prepare() {
+       default
+       tc-export CC
+}
+
+src_compile() {
+       emake \
+               PREFIX="${EPREFIX}/usr" \
+               LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+               STRIP="" # bug 930020
+}
+
+src_install() {
+       emake DESTDIR="${D}" \
+                 PREFIX="${EPREFIX}/usr" \
+                 LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+                 install
+}
+
+pkg_postinst() {
+       optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}

Reply via email to