git: d326e599801e - main - devel/py-parsley: Add py-parsley 1.3

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Thu, 09 Jun 2022 23:19:24 UTC
The branch main has been updated by sunpoet:

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

commit d326e599801e46d5ec7351747348fc1942cd132f
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-06-09 23:09:37 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-06-09 23:15:59 +0000

    devel/py-parsley: Add py-parsley 1.3
    
    Parsley is a parsing library for people who find parsers scary or annoying. I
    wrote it because I wanted to parse a programming language, and tools like PLY or
    ANTLR or Bison were very hard to understand and integrate into my Python code.
    Most parser generators are based on LL or LR parsing algorithms that compile to
    big state machine tables. It was like I had to wake up a different section of my
    brain to understand or work on grammar rules.
    
    Parsley, like pyparsing and ZestyParser, uses the PEG algorithm, so each
    expression in the grammar rules works like a Python expression. In particular,
    alternatives are evaluated in order, unlike table-driven parsers such as yacc,
    bison or PLY.
    
    Parsley is an implementation of OMeta, an object-oriented pattern-matching
    language developed by Alessandro Warth.
    
    WWW: https://github.com/pyga/parsley
---
 devel/Makefile             |  1 +
 devel/py-parsley/Makefile  | 21 +++++++++++++++++++++
 devel/py-parsley/distinfo  |  3 +++
 devel/py-parsley/pkg-descr | 16 ++++++++++++++++
 4 files changed, 41 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 8298d0653968..b3d00daed7ad 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4926,6 +4926,7 @@
     SUBDIR += py-parallax
     SUBDIR += py-parameterized
     SUBDIR += py-parsedatetime
+    SUBDIR += py-parsley
     SUBDIR += py-parver
     SUBDIR += py-pastel
     SUBDIR += py-patch
diff --git a/devel/py-parsley/Makefile b/devel/py-parsley/Makefile
new file mode 100644
index 000000000000..8a44c4c0e334
--- /dev/null
+++ b/devel/py-parsley/Makefile
@@ -0,0 +1,21 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+
+PORTNAME=	parsley
+PORTVERSION=	1.3
+CATEGORIES=	devel python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	Parsley-${PORTVERSION}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Parsing and pattern matching made easy
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		python:3.7+
+USE_PYTHON=	autoplist concurrent distutils
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-parsley/distinfo b/devel/py-parsley/distinfo
new file mode 100644
index 000000000000..59a04da00c77
--- /dev/null
+++ b/devel/py-parsley/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1654774040
+SHA256 (Parsley-1.3.tar.gz) = 9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41
+SIZE (Parsley-1.3.tar.gz) = 99616
diff --git a/devel/py-parsley/pkg-descr b/devel/py-parsley/pkg-descr
new file mode 100644
index 000000000000..87e89781153a
--- /dev/null
+++ b/devel/py-parsley/pkg-descr
@@ -0,0 +1,16 @@
+Parsley is a parsing library for people who find parsers scary or annoying. I
+wrote it because I wanted to parse a programming language, and tools like PLY or
+ANTLR or Bison were very hard to understand and integrate into my Python code.
+Most parser generators are based on LL or LR parsing algorithms that compile to
+big state machine tables. It was like I had to wake up a different section of my
+brain to understand or work on grammar rules.
+
+Parsley, like pyparsing and ZestyParser, uses the PEG algorithm, so each
+expression in the grammar rules works like a Python expression. In particular,
+alternatives are evaluated in order, unlike table-driven parsers such as yacc,
+bison or PLY.
+
+Parsley is an implementation of OMeta, an object-oriented pattern-matching
+language developed by Alessandro Warth.
+
+WWW: https://github.com/pyga/parsley