git: 575a3fb76724 - main - lang/py-gherkin-official: New port: Gherkin parser (official, by Cucumber team)

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 09 Oct 2025 05:23:53 UTC
The branch main has been updated by yuri:

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

commit 575a3fb76724606a84a888070ad23c3c0f105cd7
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-10-09 05:23:39 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-10-09 05:23:39 +0000

    lang/py-gherkin-official: New port: Gherkin parser (official, by Cucumber team)
---
 lang/Makefile                      |  1 +
 lang/py-gherkin-official/Makefile  | 24 ++++++++++++++++++++++++
 lang/py-gherkin-official/distinfo  |  3 +++
 lang/py-gherkin-official/pkg-descr | 14 ++++++++++++++
 4 files changed, 42 insertions(+)

diff --git a/lang/Makefile b/lang/Makefile
index 4f7e67948ed8..9d93a2d9960a 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -290,6 +290,7 @@
     SUBDIR += ptoc
     SUBDIR += purescript
     SUBDIR += py-dhall
+    SUBDIR += py-gherkin-official
     SUBDIR += py-hy
     SUBDIR += py-lupa
     SUBDIR += py-sly
diff --git a/lang/py-gherkin-official/Makefile b/lang/py-gherkin-official/Makefile
new file mode 100644
index 000000000000..4fcd3a8b3d2b
--- /dev/null
+++ b/lang/py-gherkin-official/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	gherkin-official
+DISTVERSION=	36.0.0
+CATEGORIES=	lang python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	${PORTNAME:S/-/_/}-${DISTVERSION}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Gherkin parser (official, by Cucumber team)
+WWW=		https://github.com/cucumber/gherkin
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}uv-build>=0.9.0:devel/py-uv-build@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}typing-extensions>=4:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/lang/py-gherkin-official/distinfo b/lang/py-gherkin-official/distinfo
new file mode 100644
index 000000000000..58c08a964ac4
--- /dev/null
+++ b/lang/py-gherkin-official/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759983838
+SHA256 (gherkin_official-36.0.0.tar.gz) = 568220e759e21e8066184d746f6a1a7096bf8b81463b3f40c10b3927cdb8a70d
+SIZE (gherkin_official-36.0.0.tar.gz) = 33569
diff --git a/lang/py-gherkin-official/pkg-descr b/lang/py-gherkin-official/pkg-descr
new file mode 100644
index 000000000000..3dd49b9e628d
--- /dev/null
+++ b/lang/py-gherkin-official/pkg-descr
@@ -0,0 +1,14 @@
+Gherkin is a parser and compiler for the Gherkin language, which is a
+business-readable, domain-specific language that lets you describe software's
+behavior without detailing how that behavior is implemented.
+
+Gherkin serves two purposes:
+* It serves as your project's documentation
+* It serves as your project's automated tests
+
+Gherkin is written in the "Given-When-Then" style, which allows developers to
+write tests in plain English that stakeholders can understand.
+
+This is the official implementation from the Cucumber team, providing a
+reliable and well-maintained parser for BDD (Behavior-Driven Development)
+frameworks.