git: d3d94c5f0af3 - main - devel/py-tree-sitter-languages: Add py-tree-sitter-languages 1.10.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sat, 23 Mar 2024 14:57:52 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d3d94c5f0af3b061232b0c69bc06b47a0f9dff3e

commit d3d94c5f0af3b061232b0c69bc06b47a0f9dff3e
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-03-23 14:14:55 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-03-23 14:30:36 +0000

    devel/py-tree-sitter-languages: Add py-tree-sitter-languages 1.10.2
    
    py-tree-sitter-languages provides binary Python wheels for all tree sitter
    languages. The binary wheels remove the need to download and compile support for
    individual languages.
---
 devel/Makefile                                     |  1 +
 devel/py-tree-sitter-languages/Makefile            | 78 +++++++++++++++++
 devel/py-tree-sitter-languages/distinfo            | 99 ++++++++++++++++++++++
 .../py-tree-sitter-languages/files/patch-setup.py  | 10 +++
 devel/py-tree-sitter-languages/pkg-descr           |  3 +
 5 files changed, 191 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 3556a8e93adf..c6177b4117bb 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5771,6 +5771,7 @@
     SUBDIR += py-transitions
     SUBDIR += py-tree-format
     SUBDIR += py-tree-sitter
+    SUBDIR += py-tree-sitter-languages
     SUBDIR += py-treelib
     SUBDIR += py-trimesh
     SUBDIR += py-trove-classifiers
diff --git a/devel/py-tree-sitter-languages/Makefile b/devel/py-tree-sitter-languages/Makefile
new file mode 100644
index 000000000000..940a79505dc8
--- /dev/null
+++ b/devel/py-tree-sitter-languages/Makefile
@@ -0,0 +1,78 @@
+PORTNAME=	tree-sitter-languages
+PORTVERSION=	1.10.2
+CATEGORIES=	devel python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Binary Python wheels for all tree sitter languages
+WWW=		https://github.com/grantjenks/py-tree-sitter-languages
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tree-sitter>=0:devel/py-tree-sitter@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}tree-sitter>=0:devel/py-tree-sitter@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent cython pep517
+
+USE_GITHUB=	yes
+# https://github.com/grantjenks/py-tree-sitter-languages/blob/main/repos.txt
+GH_TUPLE=	grantjenks:py-tree-sitter-languages:v${PORTVERSION} \
+		Azganoth:tree-sitter-lua:6b02dfd:Azganoth_tree_sitter_lua/vendor/tree-sitter-lua \
+		MichaHoffmann:tree-sitter-hcl:e135399:MichaHoffmann_tree_sitter_hcl/vendor/tree-sitter-hcl \
+		WhatsApp:tree-sitter-erlang:54b6f81:WhatsApp_tree_sitter_erlang/vendor/tree-sitter-erlang \
+		Wilfred:tree-sitter-elisp:4b0e4a3:Wilfred_tree_sitter_elisp/vendor/tree-sitter-elisp \
+		ZedThree:tree-sitter-fixed-form-fortran:3142d31:ZedThree_tree_sitter_fixed_form_fortran/vendor/tree-sitter-fixed-form-fortran \
+		alemuller:tree-sitter-make:a4b9187:alemuller_tree_sitter_make/vendor/tree-sitter-make \
+		camdencheek:tree-sitter-dockerfile:25c71d6:camdencheek_tree_sitter_dockerfile/vendor/tree-sitter-dockerfile \
+		camdencheek:tree-sitter-go-mod:4a65743:camdencheek_tree_sitter_go_mod/vendor/tree-sitter-go-mod \
+		dhcmrlchtdj:tree-sitter-sqlite:993be0a:dhcmrlchtdj_tree_sitter_sqlite/vendor/tree-sitter-sqlite \
+		elixir-lang:tree-sitter-elixir:11426c5:elixir_lang_tree_sitter_elixir/vendor/tree-sitter-elixir \
+		elm-tooling:tree-sitter-elm:c26afd7:elm_tooling_tree_sitter_elm/vendor/tree-sitter-elm \
+		fwcd:tree-sitter-kotlin:0ef8789:fwcd_tree_sitter_kotlin/vendor/tree-sitter-kotlin \
+		ganezdragon:tree-sitter-perl:15a6914:ganezdragon_tree_sitter_perl/vendor/tree-sitter-perl \
+		ikatyang:tree-sitter-markdown:8b8b77a:ikatyang_tree_sitter_markdown/vendor/tree-sitter-markdown \
+		ikatyang:tree-sitter-yaml:0e36bed:ikatyang_tree_sitter_yaml/vendor/tree-sitter-yaml \
+		jiyee:tree-sitter-objc:afec0de:jiyee_tree_sitter_objc/vendor/tree-sitter-objc \
+		m-novikov:tree-sitter-sql:218b672:m_novikov_tree_sitter_sql/vendor/tree-sitter-sql \
+		r-lib:tree-sitter-r:c55f8b4:r_lib_tree_sitter_r/vendor/tree-sitter-r \
+		rydesun:tree-sitter-dot:9172307:rydesun_tree_sitter_dot/vendor/tree-sitter-dot \
+		slackhq:tree-sitter-hack:fca1e29:slackhq_tree_sitter_hack/vendor/tree-sitter-hack \
+		stadelmanma:tree-sitter-fortran:f73d473:stadelmanma_tree_sitter_fortran/vendor/tree-sitter-fortran \
+		stsewd:tree-sitter-rst:3ba9eb9:stsewd_tree_sitter_rst/vendor/tree-sitter-rst \
+		theHamsta:tree-sitter-commonlisp:c7e8149:theHamsta_tree_sitter_commonlisp/vendor/tree-sitter-commonlisp \
+		tree-sitter:tree-sitter-bash:f7239f6:tree_sitter_tree_sitter_bash/vendor/tree-sitter-bash \
+		tree-sitter:tree-sitter-c:34f4c7e:tree_sitter_tree_sitter_c/vendor/tree-sitter-c \
+		tree-sitter:tree-sitter-c-sharp:dd5e597:tree_sitter_tree_sitter_c_sharp/vendor/tree-sitter-c-sharp \
+		tree-sitter:tree-sitter-cpp:a714740:tree_sitter_tree_sitter_cpp/vendor/tree-sitter-cpp \
+		tree-sitter:tree-sitter-css:98c7b3d:tree_sitter_tree_sitter_css/vendor/tree-sitter-css \
+		tree-sitter:tree-sitter-embedded-template:203f7bd:tree_sitter_tree_sitter_embedded_template/vendor/tree-sitter-embedded-template \
+		tree-sitter:tree-sitter-go:ff86c7f:tree_sitter_tree_sitter_go/vendor/tree-sitter-go \
+		tree-sitter:tree-sitter-haskell:dd924b8:tree_sitter_tree_sitter_haskell/vendor/tree-sitter-haskell \
+		tree-sitter:tree-sitter-html:949b780:tree_sitter_tree_sitter_html/vendor/tree-sitter-html \
+		tree-sitter:tree-sitter-java:2b57cd9:tree_sitter_tree_sitter_java/vendor/tree-sitter-java \
+		tree-sitter:tree-sitter-javascript:f1e5a09:tree_sitter_tree_sitter_javascript/vendor/tree-sitter-javascript \
+		tree-sitter:tree-sitter-jsdoc:d01984d:tree_sitter_tree_sitter_jsdoc/vendor/tree-sitter-jsdoc \
+		tree-sitter:tree-sitter-json:3fef30d:tree_sitter_tree_sitter_json/vendor/tree-sitter-json \
+		tree-sitter:tree-sitter-julia:0c088d1:tree_sitter_tree_sitter_julia/vendor/tree-sitter-julia \
+		tree-sitter:tree-sitter-ocaml:4abfdc1:tree_sitter_tree_sitter_ocaml/vendor/tree-sitter-ocaml \
+		tree-sitter:tree-sitter-php:33e3016:tree_sitter_tree_sitter_php/vendor/tree-sitter-php \
+		tree-sitter:tree-sitter-python:4bfdd90:tree_sitter_tree_sitter_python/vendor/tree-sitter-python \
+		tree-sitter:tree-sitter-ql:bd08702:tree_sitter_tree_sitter_ql/vendor/tree-sitter-ql \
+		tree-sitter:tree-sitter-regex:2354482:tree_sitter_tree_sitter_regex/vendor/tree-sitter-regex \
+		tree-sitter:tree-sitter-ruby:4d9ad3f:tree_sitter_tree_sitter_ruby/vendor/tree-sitter-ruby \
+		tree-sitter:tree-sitter-rust:e0e8b6d:tree_sitter_tree_sitter_rust/vendor/tree-sitter-rust \
+		tree-sitter:tree-sitter-scala:45b5ba0:tree_sitter_tree_sitter_scala/vendor/tree-sitter-scala \
+		tree-sitter:tree-sitter-toml:342d9be:tree_sitter_tree_sitter_toml/vendor/tree-sitter-toml \
+		tree-sitter:tree-sitter-tsq:b665659:tree_sitter_tree_sitter_tsq/vendor/tree-sitter-tsq \
+		tree-sitter:tree-sitter-typescript:d847898:tree_sitter_tree_sitter_typescript/vendor/tree-sitter-typescript
+
+post-patch:
+	@${MV} ${WRKSRC}/build.py ${WRKSRC}/build_cython.py
+
+post-install:
+	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/devel/py-tree-sitter-languages/distinfo b/devel/py-tree-sitter-languages/distinfo
new file mode 100644
index 000000000000..336b697d33ab
--- /dev/null
+++ b/devel/py-tree-sitter-languages/distinfo
@@ -0,0 +1,99 @@
+TIMESTAMP = 1710712304
+SHA256 (grantjenks-py-tree-sitter-languages-1.10.2-v1.10.2_GH0.tar.gz) = cdd03196ebaf8f486db004acd07a5b39679562894b47af6b20d28e4aed1a6ab5
+SIZE (grantjenks-py-tree-sitter-languages-1.10.2-v1.10.2_GH0.tar.gz) = 8026
+SHA256 (Azganoth-tree-sitter-lua-6b02dfd_GH0.tar.gz) = a5411b2183e0c16610e7c9be314b34f1ede3689033d9bf58d18ec871b692828b
+SIZE (Azganoth-tree-sitter-lua-6b02dfd_GH0.tar.gz) = 42972
+SHA256 (MichaHoffmann-tree-sitter-hcl-e135399_GH0.tar.gz) = ed162c86291cb4436ca5d3615022f15ffa7114bc4bec82481c62b26d48448fca
+SIZE (MichaHoffmann-tree-sitter-hcl-e135399_GH0.tar.gz) = 896245
+SHA256 (WhatsApp-tree-sitter-erlang-54b6f81_GH0.tar.gz) = 5836608633cd568ab9c95e63eadb3302f93e95bd8243b76cebefc18b6ba9dfb1
+SIZE (WhatsApp-tree-sitter-erlang-54b6f81_GH0.tar.gz) = 136478
+SHA256 (Wilfred-tree-sitter-elisp-4b0e4a3_GH0.tar.gz) = efc218dad59dacf188bd653b00abc459cd3f24d3c385e8294d9441a2cf3d05c6
+SIZE (Wilfred-tree-sitter-elisp-4b0e4a3_GH0.tar.gz) = 25827
+SHA256 (ZedThree-tree-sitter-fixed-form-fortran-3142d31_GH0.tar.gz) = 6369924e010e3f6ad194705adce8fb0d4d06a44ba09e77187e7dbc29620776e7
+SIZE (ZedThree-tree-sitter-fixed-form-fortran-3142d31_GH0.tar.gz) = 327104
+SHA256 (alemuller-tree-sitter-make-a4b9187_GH0.tar.gz) = 39eab91f336202b5b62d553672c1a8e36633b7454a261175fcfed49cc775dbce
+SIZE (alemuller-tree-sitter-make-a4b9187_GH0.tar.gz) = 81446
+SHA256 (camdencheek-tree-sitter-dockerfile-25c71d6_GH0.tar.gz) = c479ba823753de23ddf50810084c408c771ca1f5a92ea9123cdc003e2a337166
+SIZE (camdencheek-tree-sitter-dockerfile-25c71d6_GH0.tar.gz) = 43289
+SHA256 (camdencheek-tree-sitter-go-mod-4a65743_GH0.tar.gz) = c147a24ecb2d79eab1002f8687ae957abd07711b54740e1d0a33db42d2c3ca29
+SIZE (camdencheek-tree-sitter-go-mod-4a65743_GH0.tar.gz) = 19156
+SHA256 (dhcmrlchtdj-tree-sitter-sqlite-993be0a_GH0.tar.gz) = 28e1e3976b693b6483af33916e6ac7e38bc624917c22b1dd8894b18840896ab4
+SIZE (dhcmrlchtdj-tree-sitter-sqlite-993be0a_GH0.tar.gz) = 317338
+SHA256 (elixir-lang-tree-sitter-elixir-11426c5_GH0.tar.gz) = 06b0bc95d3a751f210cdf95095ed99124a4a282c4e609e0f5f1076afcd0f1344
+SIZE (elixir-lang-tree-sitter-elixir-11426c5_GH0.tar.gz) = 600454
+SHA256 (elm-tooling-tree-sitter-elm-c26afd7_GH0.tar.gz) = c3004989d0af38516b7442c81de704e26295037b1f2f75d04d733401e95cbb98
+SIZE (elm-tooling-tree-sitter-elm-c26afd7_GH0.tar.gz) = 342843
+SHA256 (fwcd-tree-sitter-kotlin-0ef8789_GH0.tar.gz) = 828ac0d2b448320d010fd26bf14c8eef69c9919b30d11a425fe3d075d753ef88
+SIZE (fwcd-tree-sitter-kotlin-0ef8789_GH0.tar.gz) = 4596234
+SHA256 (ganezdragon-tree-sitter-perl-15a6914_GH0.tar.gz) = 4e7e347387aa9a91cb782bd7543be6edd785d4a1e73bead0c508b53853919039
+SIZE (ganezdragon-tree-sitter-perl-15a6914_GH0.tar.gz) = 4546340
+SHA256 (ikatyang-tree-sitter-markdown-8b8b77a_GH0.tar.gz) = 0d5592a767ac9e7aa04d6360ad2200ca3d70916c0c79942ec6877cfc2ef030b7
+SIZE (ikatyang-tree-sitter-markdown-8b8b77a_GH0.tar.gz) = 409661
+SHA256 (ikatyang-tree-sitter-yaml-0e36bed_GH0.tar.gz) = 843a5a4d4d4003e46dc2d7a0d564d7b8515436c62881f1ac27c53176937fc9e2
+SIZE (ikatyang-tree-sitter-yaml-0e36bed_GH0.tar.gz) = 266200
+SHA256 (jiyee-tree-sitter-objc-afec0de_GH0.tar.gz) = 568df3bd4f2ca343607f5a4d829a1bf9b452f7f9d17750030017efbbbeb6787b
+SIZE (jiyee-tree-sitter-objc-afec0de_GH0.tar.gz) = 1488405
+SHA256 (m-novikov-tree-sitter-sql-218b672_GH0.tar.gz) = e8562e13683442c0f2cf3ad7468b3745132afa7d879ba7a623888d20515f2334
+SIZE (m-novikov-tree-sitter-sql-218b672_GH0.tar.gz) = 2790152
+SHA256 (r-lib-tree-sitter-r-c55f8b4_GH0.tar.gz) = efc491cc0573edbf30da1ff8a9d5b497ccf934bdddd27d38999c82762e705811
+SIZE (r-lib-tree-sitter-r-c55f8b4_GH0.tar.gz) = 250590
+SHA256 (rydesun-tree-sitter-dot-9172307_GH0.tar.gz) = 791cc4d26bba3d432bd8800a2fdbb75c010fbbcd787ee2ab108600bf29fea6bc
+SIZE (rydesun-tree-sitter-dot-9172307_GH0.tar.gz) = 29733
+SHA256 (slackhq-tree-sitter-hack-fca1e29_GH0.tar.gz) = 4e923aa1a2a6db1fb2bdb8f8b93c80e0fad192bfc67d99216edadc9ec9ae2819
+SIZE (slackhq-tree-sitter-hack-fca1e29_GH0.tar.gz) = 730604
+SHA256 (stadelmanma-tree-sitter-fortran-f73d473_GH0.tar.gz) = cfcb617db874b302dcefdbed3a2e3dffc503bcb7ce30f8d01811ed3f79198445
+SIZE (stadelmanma-tree-sitter-fortran-f73d473_GH0.tar.gz) = 382307
+SHA256 (stsewd-tree-sitter-rst-3ba9eb9_GH0.tar.gz) = 47520c18661ce91658149c20352bf77b3838b3c86e5452a5f93f014b6ebf3434
+SIZE (stsewd-tree-sitter-rst-3ba9eb9_GH0.tar.gz) = 213409
+SHA256 (theHamsta-tree-sitter-commonlisp-c7e8149_GH0.tar.gz) = 5f3e1237f852e3510458955b7bed0cc1db6f4769e75e64b204aafc31c9ca82d7
+SIZE (theHamsta-tree-sitter-commonlisp-c7e8149_GH0.tar.gz) = 291362
+SHA256 (tree-sitter-tree-sitter-bash-f7239f6_GH0.tar.gz) = 8e863c112d94b25fcbb12e12d2838cd475be3838c968b44f4c89667c3fe6055b
+SIZE (tree-sitter-tree-sitter-bash-f7239f6_GH0.tar.gz) = 443783
+SHA256 (tree-sitter-tree-sitter-c-34f4c7e_GH0.tar.gz) = 396fd629c3a5df3d44d78a68cfeb27508da81d2cf4aa62bd7fd2269cbc11b24e
+SIZE (tree-sitter-tree-sitter-c-34f4c7e_GH0.tar.gz) = 379982
+SHA256 (tree-sitter-tree-sitter-c-sharp-dd5e597_GH0.tar.gz) = 530fdb3a8fc3f2ef3c3c3e0ad9fc4f2b3eb487307e4f1288e4e32b944efaaaea
+SIZE (tree-sitter-tree-sitter-c-sharp-dd5e597_GH0.tar.gz) = 1855875
+SHA256 (tree-sitter-tree-sitter-cpp-a714740_GH0.tar.gz) = 2f8309003eb4476a62172aeef97ac015e434b853560d1ad1a9d82c8ad3cf4a70
+SIZE (tree-sitter-tree-sitter-cpp-a714740_GH0.tar.gz) = 1058530
+SHA256 (tree-sitter-tree-sitter-css-98c7b3d_GH0.tar.gz) = 95d829990b1ff9d348e8c4085ef506cc258cf28b736d08624c174e718c23d52a
+SIZE (tree-sitter-tree-sitter-css-98c7b3d_GH0.tar.gz) = 93893
+SHA256 (tree-sitter-tree-sitter-embedded-template-203f7bd_GH0.tar.gz) = 2767ece7da838d681a080206ddb596c5f17c78ea8038b6159ade1476120dd36a
+SIZE (tree-sitter-tree-sitter-embedded-template-203f7bd_GH0.tar.gz) = 11981
+SHA256 (tree-sitter-tree-sitter-go-ff86c7f_GH0.tar.gz) = ede34402f109e2c89fe685be5f49a8a1d2199f741efe9cd064d5a89276c9a6a7
+SIZE (tree-sitter-tree-sitter-go-ff86c7f_GH0.tar.gz) = 191374
+SHA256 (tree-sitter-tree-sitter-haskell-dd924b8_GH0.tar.gz) = 68719478e7102692888bd08566299d94545bdd1d7e4d06433fed6f05bd334c7a
+SIZE (tree-sitter-tree-sitter-haskell-dd924b8_GH0.tar.gz) = 1568760
+SHA256 (tree-sitter-tree-sitter-html-949b780_GH0.tar.gz) = a4ab924c85361009d31f74cac055227d778129a7def4d2ed8691bf06bbd75667
+SIZE (tree-sitter-tree-sitter-html-949b780_GH0.tar.gz) = 26110
+SHA256 (tree-sitter-tree-sitter-java-2b57cd9_GH0.tar.gz) = 675f77970d9ff6d9b0f499cc717e79c2d0d2802413319223af727f16e7d2ab31
+SIZE (tree-sitter-tree-sitter-java-2b57cd9_GH0.tar.gz) = 200747
+SHA256 (tree-sitter-tree-sitter-javascript-f1e5a09_GH0.tar.gz) = a6c64eafe4d22a0189fb5e68ae2bbeee7e4e6bd8e2b649b2e4b03ce4e46fbae6
+SIZE (tree-sitter-tree-sitter-javascript-f1e5a09_GH0.tar.gz) = 371043
+SHA256 (tree-sitter-tree-sitter-jsdoc-d01984d_GH0.tar.gz) = b2e2e72f955b2c5383ea78643d39f05f7e68e5b627f020bdacbeab4871186a08
+SIZE (tree-sitter-tree-sitter-jsdoc-d01984d_GH0.tar.gz) = 15233
+SHA256 (tree-sitter-tree-sitter-json-3fef30d_GH0.tar.gz) = 2d3255647430f9586ba2dc8dc002bc3dacd6cb88c652a2fc638363abee911c91
+SIZE (tree-sitter-tree-sitter-json-3fef30d_GH0.tar.gz) = 15553
+SHA256 (tree-sitter-tree-sitter-julia-0c088d1_GH0.tar.gz) = c3e0fa3176f7e0490ba754843faf363746aa2a0b1a03979833822c6cbd7c9f83
+SIZE (tree-sitter-tree-sitter-julia-0c088d1_GH0.tar.gz) = 4032818
+SHA256 (tree-sitter-tree-sitter-ocaml-4abfdc1_GH0.tar.gz) = 3c263132a58f956d48b55ad881b6bc2d15a3be656e5ca547bd0ce1f6d94ac0c5
+SIZE (tree-sitter-tree-sitter-ocaml-4abfdc1_GH0.tar.gz) = 2871941
+SHA256 (tree-sitter-tree-sitter-php-33e3016_GH0.tar.gz) = fe3f122391ed295893013c709aaffa2bb577f243b4c6cbd9480a59b2e6910b09
+SIZE (tree-sitter-tree-sitter-php-33e3016_GH0.tar.gz) = 288100
+SHA256 (tree-sitter-tree-sitter-python-4bfdd90_GH0.tar.gz) = f171fe8b3dc3bd7e68542b2db59e73bf93b1ade55728af92ffcfd798eaf20248
+SIZE (tree-sitter-tree-sitter-python-4bfdd90_GH0.tar.gz) = 251959
+SHA256 (tree-sitter-tree-sitter-ql-bd08702_GH0.tar.gz) = 395006f0d8ff01d8ff1bceff35003c5618f8283cbd4879cd320e548457445afb
+SIZE (tree-sitter-tree-sitter-ql-bd08702_GH0.tar.gz) = 127144
+SHA256 (tree-sitter-tree-sitter-regex-2354482_GH0.tar.gz) = c890977cdab39926b3fcbfadd11c18de66a18da54776120274dba8ba2b719cc3
+SIZE (tree-sitter-tree-sitter-regex-2354482_GH0.tar.gz) = 20286
+SHA256 (tree-sitter-tree-sitter-ruby-4d9ad3f_GH0.tar.gz) = f31b69a164a5947313b57be17bcc3580006d2073bcf17432614ba413fca44451
+SIZE (tree-sitter-tree-sitter-ruby-4d9ad3f_GH0.tar.gz) = 596691
+SHA256 (tree-sitter-tree-sitter-rust-e0e8b6d_GH0.tar.gz) = 855ba7cee8e0bf2191210bd94cdae5a0e29b85d81aa2f55aa2ff0a3cd7e4e831
+SIZE (tree-sitter-tree-sitter-rust-e0e8b6d_GH0.tar.gz) = 399929
+SHA256 (tree-sitter-tree-sitter-scala-45b5ba0_GH0.tar.gz) = 0e72ff6c08efb855b15491e19769b811388afa448f56e37164341b922757fa55
+SIZE (tree-sitter-tree-sitter-scala-45b5ba0_GH0.tar.gz) = 1340036
+SHA256 (tree-sitter-tree-sitter-toml-342d9be_GH0.tar.gz) = 186686417450335f4c5de8ddf26af54a13f0db1cb756a7f2e56b73dcf1f124a6
+SIZE (tree-sitter-tree-sitter-toml-342d9be_GH0.tar.gz) = 163303
+SHA256 (tree-sitter-tree-sitter-tsq-b665659_GH0.tar.gz) = 9866411c65abd3a0e116cf60fa9ea3c8cdd1da7c028caa82e4a1f8ed139befeb
+SIZE (tree-sitter-tree-sitter-tsq-b665659_GH0.tar.gz) = 15025
+SHA256 (tree-sitter-tree-sitter-typescript-d847898_GH0.tar.gz) = 92aa5a1f381fc59fda08fb1c4b7c4d3e3e800fafa352fa350270b241d7b598e5
+SIZE (tree-sitter-tree-sitter-typescript-d847898_GH0.tar.gz) = 844040
diff --git a/devel/py-tree-sitter-languages/files/patch-setup.py b/devel/py-tree-sitter-languages/files/patch-setup.py
new file mode 100644
index 000000000000..fc1f7588e798
--- /dev/null
+++ b/devel/py-tree-sitter-languages/files/patch-setup.py
@@ -0,0 +1,10 @@
+--- setup.py.orig	2024-02-04 06:12:50 UTC
++++ setup.py
+@@ -3,6 +3,7 @@ from Cython.Build import cythonize
+ import setuptools
+ 
+ from Cython.Build import cythonize
++from build_cython import *
+ 
+ init = (pathlib.Path('tree_sitter_languages') / '__init__.py').read_text()
+ match = re.search(r"^__version__ = '(.+)'$", init, re.MULTILINE)
diff --git a/devel/py-tree-sitter-languages/pkg-descr b/devel/py-tree-sitter-languages/pkg-descr
new file mode 100644
index 000000000000..92c5f286d03f
--- /dev/null
+++ b/devel/py-tree-sitter-languages/pkg-descr
@@ -0,0 +1,3 @@
+py-tree-sitter-languages provides binary Python wheels for all tree sitter
+languages. The binary wheels remove the need to download and compile support for
+individual languages.