git: 4bf4bfecb807 - main - devel/py-spark-parser: Add py-spark-parser 1.8.9

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 04 Aug 2024 17:21:43 UTC
The branch main has been updated by sunpoet:

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

commit 4bf4bfecb807d7b0507137edc8550df1de6bebd4
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-08-04 16:44:03 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-08-04 17:13:51 +0000

    devel/py-spark-parser: Add py-spark-parser 1.8.9
    
    This package uses Jay Earley's algorithm for parsing context free grammars, and
    comes with some generic Abstract Syntax Tree routines. There is also a prototype
    scanner which does its job by combining Python regular expressions.
    
    (SPARK stands for Scanning, Parsing, and Rewriting Kit. It is a poor name since
    it conflicts with a more popular package of the same name. In the future we will
    rename this.)
    
    The original version of this was written by John Aycock for his Ph.D thesis and
    was described in his 1998 paper: "Compiling Little Languages in Python" at the
    7th International Python Conference. The current incarnation of this code is
    maintained (or not) by Rocky Bernstein.
    
    Note: Earley algorithm parsers are almost linear when given an LR grammar. These
    are grammars which are left-recursive.
---
 devel/Makefile                  |  1 +
 devel/py-spark-parser/Makefile  | 24 ++++++++++++++++++++++++
 devel/py-spark-parser/distinfo  |  3 +++
 devel/py-spark-parser/pkg-descr | 15 +++++++++++++++
 4 files changed, 43 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index aaf67eb0b8ce..4d513891aa89 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5799,6 +5799,7 @@
     SUBDIR += py-sniffio
     SUBDIR += py-sortedcontainers
     SUBDIR += py-sourcemap
+    SUBDIR += py-spark-parser
     SUBDIR += py-sparse
     SUBDIR += py-speaklater
     SUBDIR += py-speg
diff --git a/devel/py-spark-parser/Makefile b/devel/py-spark-parser/Makefile
new file mode 100644
index 000000000000..e0d4a700d4f9
--- /dev/null
+++ b/devel/py-spark-parser/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	spark-parser
+PORTVERSION=	1.8.9
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	spark_parser-${PORTVERSION}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Earley-Algorithm Context-free grammar Parser Toolkit
+WWW=		https://github.com/rocky/python-spark
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-spark-parser/distinfo b/devel/py-spark-parser/distinfo
new file mode 100644
index 000000000000..319b545d3a09
--- /dev/null
+++ b/devel/py-spark-parser/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1722711123
+SHA256 (spark_parser-1.8.9.tar.gz) = a7bb97b97953fb8bf0cd8158d820b6467ef1e7f747738e82248ae4c824f1e25a
+SIZE (spark_parser-1.8.9.tar.gz) = 118345
diff --git a/devel/py-spark-parser/pkg-descr b/devel/py-spark-parser/pkg-descr
new file mode 100644
index 000000000000..d406a43f9320
--- /dev/null
+++ b/devel/py-spark-parser/pkg-descr
@@ -0,0 +1,15 @@
+This package uses Jay Earley's algorithm for parsing context free grammars, and
+comes with some generic Abstract Syntax Tree routines. There is also a prototype
+scanner which does its job by combining Python regular expressions.
+
+(SPARK stands for Scanning, Parsing, and Rewriting Kit. It is a poor name since
+it conflicts with a more popular package of the same name. In the future we will
+rename this.)
+
+The original version of this was written by John Aycock for his Ph.D thesis and
+was described in his 1998 paper: "Compiling Little Languages in Python" at the
+7th International Python Conference. The current incarnation of this code is
+maintained (or not) by Rocky Bernstein.
+
+Note: Earley algorithm parsers are almost linear when given an LR grammar. These
+are grammars which are left-recursive.