aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2026-04-27 13:01:20 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2026-04-27 13:06:48 +0000
commitcbbce676b3c86974ca5326288bc2b4ae37251ce7 (patch)
treed8927ef30460d28064f8bbcbbf7f445d02ee4d12
parent1c2980f73ebde9e1df23b26df1a8b05ab1c38eee (diff)
devel/py-tatsu: Add py-tatsu 5.18.0
TatSu is a tool that takes grammars in extended EBNF as input, and outputs memoizing (Packrat) PEG parsers in Python. The classic variations of EBNF (Tomassetti, EasyExtend, Wirth) and ISO EBNF are supported as input grammar formats.
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-tatsu/Makefile25
-rw-r--r--devel/py-tatsu/distinfo3
-rw-r--r--devel/py-tatsu/pkg-descr4
4 files changed, 33 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index d0742e399bbe..46771a4003df 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6158,6 +6158,7 @@
SUBDIR += py-taskflow
SUBDIR += py-taskgroup
SUBDIR += py-tasklib
+ SUBDIR += py-tatsu
SUBDIR += py-tblib
SUBDIR += py-tdworkflow
SUBDIR += py-telepath
diff --git a/devel/py-tatsu/Makefile b/devel/py-tatsu/Makefile
new file mode 100644
index 000000000000..aa5e5d053575
--- /dev/null
+++ b/devel/py-tatsu/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= tatsu
+PORTVERSION= 5.18.0
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Input a grammar in a variation of EBNF and output a memoizing PEG/Packrat parser in Python
+WWW= https://tatsu.readthedocs.io/en/stable/ \
+ https://github.com/neogeny/TatSu
+
+LICENSE= BSD4CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+
+USES= python shebangfix
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+SHEBANG_FILES= tatsu/bootstrap.py \
+ tatsu/g2e/__init__.py
+
+.include <bsd.port.mk>
diff --git a/devel/py-tatsu/distinfo b/devel/py-tatsu/distinfo
new file mode 100644
index 000000000000..b97060c5f54c
--- /dev/null
+++ b/devel/py-tatsu/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1777252476
+SHA256 (tatsu-5.18.0.tar.gz) = b1d2859791649e5acffb4a31ef5e86b87c0ffd217390eebb053fe1a34cd8895b
+SIZE (tatsu-5.18.0.tar.gz) = 349286
diff --git a/devel/py-tatsu/pkg-descr b/devel/py-tatsu/pkg-descr
new file mode 100644
index 000000000000..d2cef558a0fc
--- /dev/null
+++ b/devel/py-tatsu/pkg-descr
@@ -0,0 +1,4 @@
+TatSu is a tool that takes grammars in extended EBNF as input, and outputs
+memoizing (Packrat) PEG parsers in Python. The classic variations of EBNF
+(Tomassetti, EasyExtend, Wirth) and ISO EBNF are supported as input grammar
+formats.