commit:     2adb202f978d021deb6d5a2754c76d944e819769
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 23 17:07:48 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 23 17:08:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2adb202f

dev-python/tree-sitter: add 0.20.4

Closes: https://bugs.gentoo.org/923241
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/tree-sitter/Manifest                  |  7 +++
 dev-python/tree-sitter/tree-sitter-0.20.4.ebuild | 80 ++++++++++++++++++++++++
 2 files changed, 87 insertions(+)

diff --git a/dev-python/tree-sitter/Manifest b/dev-python/tree-sitter/Manifest
index 2f05eae55caa..d5d65e02b92a 100644
--- a/dev-python/tree-sitter/Manifest
+++ b/dev-python/tree-sitter/Manifest
@@ -1,3 +1,10 @@
 DIST tree-sitter-0.20.1.gh.tar.gz 22013 BLAKE2B 
961619ab28b71c4051708695f245246e9c9197987c3ce7f162c87af1cfeb2ae378301cce160c071d4df872124274c7984bcaf938c611a91f45515c44cea53e5a
 SHA512 
d6db28fcfb0ea46840ae863a625ef1d8794015b147137e8ef1e113ea6d04e2b87a3bd44dcabe6e41a65230b8da09ce0563a5d9d5aeac30d279547a9085720da3
+DIST tree-sitter-0.20.4.gh.tar.gz 36177 BLAKE2B 
617b649c33c73b313034269db7adb7eaf7294195d7c7eaf91182db6844111877fc9745f31185af1c6f2406fad3d0379c4776f76bfb6c43037be918fd34cef12a
 SHA512 
28a2042fa9f7ed43202548b9844126383b36796650e1eb815c138a25538dae12b16512c3cd45f02fa99b32a29c8c7257bb84d901da1e5ebbf6445e3778d7dfa1
+DIST tree-sitter-embedded-template-0.20.0.tar.gz 11679 BLAKE2B 
552c64a499b80f1648cd568fd87d5f2774a28cb3d2a61bfc0ec1f9a73910df41921e06c8f94ac5500a3a5b7668a2b8fe641b2ecf13a9b06b7a119daeef4e3b1a
 SHA512 
1c4a63f85fae1ebb9fa90674a4c27d4402ae0957268faa08dd77c5ec6103720c80befd009d04090a80d994377676b103e2efcc25bd291186efc0c1f4962be086
+DIST tree-sitter-html-0.20.0.tar.gz 26098 BLAKE2B 
524aed631fa7a2e6da59fae05af99b74019222d7c93c44f294af5f36c7f2c8582c847324bcef3b6bdc719e5fde1d015bb2633a81d3123eb1120ba0909282af28
 SHA512 
fa688d8c5487d894ff9bfdd549095cc9bf01dbf667cc3f05c07a1d10343178666802deae79ad1040866ba74d26bf415814bb5324632ce0ea8c1b4c663252e649
 DIST tree-sitter-javascript-0.19.0.tar.gz 257637 BLAKE2B 
dc28bcbb003d623f5930dbf575f94f51c00eb008a77ba080f05e730fae63fb24d29c02ebb62d179a59d0f9cb8a02dbd3971440f299d952b1ec29b25bc6d21e34
 SHA512 
ef842787742e76d2534528ec710800df91958feaa4ba351558b5315f58a4bd85c729d088d139e15e0395726a690a97c05e03846c9176af0fd482777ae57087ed
+DIST tree-sitter-javascript-0.20.1.tar.gz 371027 BLAKE2B 
5bd9b11f1e10ff37950b2142031bebd3b5f6111818a21bf5a7d97a8a27a5340bd09cd139d76846141ed64a824f82f1e1394b90d8622192524d7db9a02ed95223
 SHA512 
5341311b419cf763c0a6d23348eba0e38b417ba07c2def341027223347d850c28b86db6add136dbf73cd5296133823a4548493ee649e09247dfbe5bcbaaab76d
+DIST tree-sitter-json-0.20.2.tar.gz 15647 BLAKE2B 
524933bf7af4df87d78497912c7865c20b2cc3e9b099401aac612c8c6d382fbc8f8704515abcb1e579fbac7734d23545f91ac7600e978a2924567998e5166834
 SHA512 
511376b7be02c624bc48b0a46dd937f1a5d6def3d2a15a7b61cf71b846ecf98ef8af93f05f861152270ea0dcacc18940f8c25bfbad69e9d5c520485d25dab7f5
 DIST tree-sitter-python-0.19.0.tar.gz 129336 BLAKE2B 
8a37b0d74ab89aa56d7164bd38ac527b7b9676cafd8f53faaee3d10316f91decd30c02078b1bb785a474615ae58e6edba1b28bc3311e6ff094435e5f53d64cd6
 SHA512 
df7c72f988a62af0774df1b3a60c86397725aaeb1e2ffaa9b1295ab22eec09bffaf391cad20fb0d08a20914b22af430c2248c26cad179fd68c9f2b32419c0b60
+DIST tree-sitter-python-0.20.4.tar.gz 249840 BLAKE2B 
563895c46ca1de400d51168473cceaed61b3df486cbf9f33ae9f63acc16268b9147917f0bc0f18d3c8cad0ab0684b4c51900a7e1c6b898735621676353630650
 SHA512 
2cfd327a1c0033ebb5bc1a4efe4f8b7a776ad45da6b12ad3d496fe3500e2a99ac0ecefbc6eec81d724bcdb060a0ebb8a24496dee23c83c7802e0226f495751d3
+DIST tree-sitter-rust-0.20.4.tar.gz 358924 BLAKE2B 
16c7918d352163ebb866f34865c68f5d9e19bbc3ffcec0f0c61ba38a8c828cee3eb50c97ddaea01d7575e23496bca18dc5161daee8bbdaa075ba75de608be999
 SHA512 
f1b2e9537286921056eda4e96faa9f61131b9ca5684e7ab8aa7bd07e46d91e5eab18e6e292cfad7cdcb7ba195e80f7f1e35f04992cb8011bbd29dd2d95116f9d

diff --git a/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild 
b/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild
new file mode 100644
index 000000000000..32d2d13d9c6d
--- /dev/null
+++ b/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+# If you get failures from using the latest, check the language used for
+# the failing test(s) and roll back the individual fixtures one-by-one.
+declare -A TEST_FIXTURES=(
+       ["embedded-template"]="0.20.0"
+       ["html"]="0.20.0"
+       ["javascript"]="0.20.1"
+       ["json"]="0.20.2"
+       ["python"]="0.20.4"
+       ["rust"]="0.20.4"
+)
+
+DESCRIPTION="Python bindings to the Tree-sitter parsing library"
+HOMEPAGE="
+       https://github.com/tree-sitter/py-tree-sitter/
+       https://pypi.org/project/tree-sitter/
+"
+SRC_URI="
+       https://github.com/tree-sitter/py-tree-sitter/archive/v${PV}.tar.gz
+               -> ${P}.gh.tar.gz
+"
+SRC_URI+=" test? ("
+for fixture in "${!TEST_FIXTURES[@]}" ; do
+       SRC_URI+="
+               
https://github.com/tree-sitter/tree-sitter-${fixture}/archive/v${TEST_FIXTURES[${fixture}]}.tar.gz
+                       -> 
tree-sitter-${fixture}-${TEST_FIXTURES[${fixture}]}.tar.gz
+       "
+done
+SRC_URI+=" )"
+S=${WORKDIR}/py-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~x64-macos"
+
+DEPEND="dev-libs/tree-sitter:="
+RDEPEND="${DEPEND}
+       $(python_gen_cond_dep '
+               dev-python/setuptools[${PYTHON_USEDEP}]
+       ' 3.12)
+"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+       "${FILESDIR}"/tree-sitter-0.19.0_p20210506-unbundle.patch
+)
+
+src_unpack() {
+       default
+       rmdir "${S}/tree_sitter/core" || die
+
+       if use test; then
+               mkdir "${S}/tests/fixtures" || die
+               local fixture
+               for fixture in "${!TEST_FIXTURES[@]}" ; do
+                       mv 
"tree-sitter-${fixture}-${TEST_FIXTURES[${fixture}]}" 
"${S}/tests/fixtures/tree-sitter-${fixture}" || die
+               done
+
+               # In 0.20.4, this test has a comment saying it's broken, and 
changing
+               # tree-sitter-python (grammar) versions doesn't help, so 
presumably
+               # newer dev-libs/tree-sitter broke it. Revisit on a newer 
version.
+               sed -i -e 's/def test_point_range_captures/def 
_test_point_range_captures/' "${S}/tests/test_tree_sitter.py" || die
+       fi
+}
+
+src_test() {
+       rm -r tree_sitter || die
+       distutils-r1_src_test
+}

Reply via email to