git: 37457c216be0 - main - lang/py-sly: Python implementation of the lex and yacc tools

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Sat, 17 Aug 2024 20:45:02 UTC
The branch main has been updated by arrowd:

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

commit 37457c216be0862266bdf50275f9a77f8201d824
Author:     Shapovalov Alexey <aishapoval@mts.ru>
AuthorDate: 2024-07-05 06:44:24 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2024-08-17 20:44:41 +0000

    lang/py-sly: Python implementation of the lex and yacc tools
    
    Sponsored by:   Serenity Cybersecurity, LLC
    Co-authored-by: Gleb Popov <arrowd@FreeBSD.org>
---
 lang/Makefile         |  1 +
 lang/py-sly/Makefile  | 21 +++++++++++++++++++++
 lang/py-sly/distinfo  |  3 +++
 lang/py-sly/pkg-descr | 14 ++++++++++++++
 4 files changed, 39 insertions(+)

diff --git a/lang/Makefile b/lang/Makefile
index e6e8d28a4eb1..b57b3d5a6d14 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -295,6 +295,7 @@
     SUBDIR += py-dhall
     SUBDIR += py-hy
     SUBDIR += py-lupa
+    SUBDIR += py-sly
     SUBDIR += py-textX
     SUBDIR += python
     SUBDIR += python-doc-html
diff --git a/lang/py-sly/Makefile b/lang/py-sly/Makefile
new file mode 100755
index 000000000000..2183db6eddbd
--- /dev/null
+++ b/lang/py-sly/Makefile
@@ -0,0 +1,21 @@
+PORTNAME=	sly
+PORTVERSION=	0.5
+CATEGORIES=	lang python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	awoonyaa@gmail.com
+COMMENT=	Python implementation of the lex & yacc tools
+WWW=		https://pypi.org/project/sly/
+
+LICENSE=	MIT
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/lang/py-sly/distinfo b/lang/py-sly/distinfo
new file mode 100755
index 000000000000..854e4d46bdbd
--- /dev/null
+++ b/lang/py-sly/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1703100021
+SHA256 (sly-0.5.tar.gz) = 251d42015e8507158aec2164f06035df4a82b0314ce6450f457d7125e7649024
+SIZE (sly-0.5.tar.gz) = 66702
diff --git a/lang/py-sly/pkg-descr b/lang/py-sly/pkg-descr
new file mode 100755
index 000000000000..0bdfac44b337
--- /dev/null
+++ b/lang/py-sly/pkg-descr
@@ -0,0 +1,14 @@
+SLY is a 100% Python implementation of the lex and yacc tools commonly used to
+write parsers and compilers. Parsing is based on the same  LALR(1) algorithm
+used by many yacc tools.
+
+SLY provides very extensive error reporting and diagnostic information
+to assist in parser construction. The original implementation was
+developed for instructional purposes. As a result, the system tries to
+identify the most common types of errors made by novice users.
+
+SLY provides full support for empty productions, error recovery,
+precedence specifiers, and moderately ambiguous grammars.
+
+SLY uses various Python metaprogramming features to specify lexers and
+parsers. There are no generated files or extra steps involved.