git: f004c7b16825 - main - textproc/py-tree-sitter-language-pack: New port: Tree-sitter: Collection of 160+ tree-sitter language parsers

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 23 Sep 2025 18:36:12 UTC
The branch main has been updated by yuri:

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

commit f004c7b16825ef74c52b4465bba869a8a082a51a
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-09-23 18:35:51 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-09-23 18:35:51 +0000

    textproc/py-tree-sitter-language-pack: New port: Tree-sitter: Collection of 160+ tree-sitter language parsers
---
 textproc/Makefile                                  |  1 +
 textproc/py-tree-sitter-language-pack/Makefile     | 28 ++++++++++++++++
 textproc/py-tree-sitter-language-pack/distinfo     |  3 ++
 .../files/patch-pyproject.toml                     | 27 +++++++++++++++
 ...ch-tree__sitter__language__pack_____init____.py | 39 ++++++++++++++++++++++
 textproc/py-tree-sitter-language-pack/pkg-descr    |  2 ++
 6 files changed, 100 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index b17c4a907330..228e93c7a42a 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1705,6 +1705,7 @@
     SUBDIR += py-towncrier
     SUBDIR += py-translationstring
     SUBDIR += py-transpopy
+    SUBDIR += py-tree-sitter-language-pack
     SUBDIR += py-ttp
     SUBDIR += py-ttp-templates
     SUBDIR += py-typogrify
diff --git a/textproc/py-tree-sitter-language-pack/Makefile b/textproc/py-tree-sitter-language-pack/Makefile
new file mode 100644
index 000000000000..ffa2dbc3b5a8
--- /dev/null
+++ b/textproc/py-tree-sitter-language-pack/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	tree-sitter-language-pack
+DISTVERSION=	0.9.0
+CATEGORIES=	textproc python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	${PORTNAME:S/-/_/g}-${PORTVERSION}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Tree-sitter: Collection of 160+ tree-sitter language parsers
+WWW=		https://github.com/Goldziher/tree-sitter-language-pack
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}tree-sitter023==0.23.2:devel/py-tree-sitter023@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 cython3 autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+TEST_WRKSRC=	${WRKSRC}/tests
+
+post-install:
+	@${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/textproc/py-tree-sitter-language-pack/distinfo b/textproc/py-tree-sitter-language-pack/distinfo
new file mode 100644
index 000000000000..bfa3dfcc22ae
--- /dev/null
+++ b/textproc/py-tree-sitter-language-pack/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758555368
+SHA256 (tree_sitter_language_pack-0.9.0.tar.gz) = 900eb3bd82c1bcf5cf20ed852b1b6fdc7eae89e40a860fa5e221a796687c359a
+SIZE (tree_sitter_language_pack-0.9.0.tar.gz) = 46642261
diff --git a/textproc/py-tree-sitter-language-pack/files/patch-pyproject.toml b/textproc/py-tree-sitter-language-pack/files/patch-pyproject.toml
new file mode 100644
index 000000000000..fe09be4234dc
--- /dev/null
+++ b/textproc/py-tree-sitter-language-pack/files/patch-pyproject.toml
@@ -0,0 +1,27 @@
+- adjust version requirements
+- remove "unimportant" tree-sitter-* dependencies that aren't yet ported
+
+--- pyproject.toml.orig	2025-07-08 06:36:22 UTC
++++ pyproject.toml
+@@ -1,7 +1,7 @@ build-backend = "setuptools.build_meta"
+ [build-system]
+ build-backend = "setuptools.build_meta"
+ 
+-requires = [ "cython>=3.0.12", "setuptools>=80.9.0", "typing-extensions>=4.14.0" ]
++requires = [ "cython", "setuptools", "typing-extensions>=4.14.0" ]
+ 
+ [project]
+ name = "tree-sitter-language-pack"
+@@ -37,9 +37,9 @@ dependencies = [
+ ]
+ dependencies = [
+   "tree-sitter>=0.23.2",
+-  "tree-sitter-c-sharp>=0.23.1",
+-  "tree-sitter-embedded-template>=0.23.2",
+-  "tree-sitter-yaml>=0.7.0",
++  #"tree-sitter-c-sharp>=0.23.1",
++  #"tree-sitter-embedded-template>=0.23.2",
++  #"tree-sitter-yaml>=0.7.0",
+ ]
+ 
+ urls.documentation = "https://github.com/Goldziher/tree-sitter-language-pack#readme"
diff --git a/textproc/py-tree-sitter-language-pack/files/patch-tree__sitter__language__pack_____init____.py b/textproc/py-tree-sitter-language-pack/files/patch-tree__sitter__language__pack_____init____.py
new file mode 100644
index 000000000000..a4e73eccbbbb
--- /dev/null
+++ b/textproc/py-tree-sitter-language-pack/files/patch-tree__sitter__language__pack_____init____.py
@@ -0,0 +1,39 @@
+--- tree_sitter_language_pack/__init__.py.orig	2025-09-22 16:54:57 UTC
++++ tree_sitter_language_pack/__init__.py
+@@ -6,9 +6,9 @@ from typing import Literal, cast
+ from pathlib import Path
+ from typing import Literal, cast
+ 
+-import tree_sitter_c_sharp
+-import tree_sitter_embedded_template
+-import tree_sitter_yaml
++#import tree_sitter_c_sharp
++#import tree_sitter_embedded_template
++#import tree_sitter_yaml
+ from tree_sitter import Language, Parser
+ 
+ SupportedLanguage = Literal[
+@@ -35,7 +35,6 @@ SupportedLanguage = Literal[
+     "commonlisp",
+     "cpon",
+     "cpp",
+-    "csharp",
+     "css",
+     "csv",
+     "cuda",
+@@ -47,7 +46,6 @@ SupportedLanguage = Literal[
+     "elisp",
+     "elixir",
+     "elm",
+-    "embeddedtemplate",
+     "erlang",
+     "fennel",
+     "firrtl",
+@@ -175,7 +173,6 @@ SupportedLanguage = Literal[
+     "wgsl",
+     "xcompose",
+     "xml",
+-    "yaml",
+     "yuck",
+     "zig",
+     "magik",
diff --git a/textproc/py-tree-sitter-language-pack/pkg-descr b/textproc/py-tree-sitter-language-pack/pkg-descr
new file mode 100644
index 000000000000..5258a36730f1
--- /dev/null
+++ b/textproc/py-tree-sitter-language-pack/pkg-descr
@@ -0,0 +1,2 @@
+py-tree-sitter-language-pack contains a comprehensive collection of 160+
+tree-sitter language parsers.