git: 755696c10757 - main - textproc/py-jinjanator: Add new port

From: Juraj Lutter <otis_at_FreeBSD.org>
Date: Thu, 10 Jul 2025 10:26:56 UTC
The branch main has been updated by otis:

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

commit 755696c10757c346b258a1c1ad26a78b77b1f041
Author:     Juraj Lutter <otis@FreeBSD.org>
AuthorDate: 2025-07-10 10:18:22 +0000
Commit:     Juraj Lutter <otis@FreeBSD.org>
CommitDate: 2025-07-10 10:26:40 +0000

    textproc/py-jinjanator: Add new port
    
    Add py-jinjanator, CLI tool to render Jinja2 templates. It is a fork of
    j2cli, which itself was a fork of jinja2-cli, both of which are no
    longer actively maintained.
    
    Also add a dependent port, textproc/py-jinjanator-plugins and hook
    both of them into the build.
---
 textproc/Makefile                                 |  2 ++
 textproc/py-jinjanator-plugins/Makefile           | 24 ++++++++++++++++++++
 textproc/py-jinjanator-plugins/distinfo           |  3 +++
 textproc/py-jinjanator-plugins/pkg-descr          |  3 +++
 textproc/py-jinjanator/Makefile                   | 27 +++++++++++++++++++++++
 textproc/py-jinjanator/distinfo                   |  3 +++
 textproc/py-jinjanator/files/patch-pyproject.toml | 11 +++++++++
 textproc/py-jinjanator/pkg-descr                  |  3 +++
 8 files changed, 76 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index 33486902cb64..64d30944e70e 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1420,6 +1420,8 @@
     SUBDIR += py-jarowinkler
     SUBDIR += py-jc
     SUBDIR += py-jinja2-cli
+    SUBDIR += py-jinjanator
+    SUBDIR += py-jinjanator-plugins
     SUBDIR += py-jiter
     SUBDIR += py-jq
     SUBDIR += py-json2html
diff --git a/textproc/py-jinjanator-plugins/Makefile b/textproc/py-jinjanator-plugins/Makefile
new file mode 100644
index 000000000000..b1dcf5562cef
--- /dev/null
+++ b/textproc/py-jinjanator-plugins/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	jinjanator-plugins
+DISTVERSION=	24.2.0
+CATEGORIES=	textproc python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	${PORTNAME:S/-/_/g}-${DISTVERSION}
+
+MAINTAINER=	otis@FreeBSD.org
+COMMENT=	Plugins toolkit for jinjanator tool
+WWW=		https://github.com/kpfleming/jinjanator-plugins
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pluggy>0:devel/py-pluggy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+.include <bsd.port.mk>
diff --git a/textproc/py-jinjanator-plugins/distinfo b/textproc/py-jinjanator-plugins/distinfo
new file mode 100644
index 000000000000..5fc09b94d771
--- /dev/null
+++ b/textproc/py-jinjanator-plugins/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752142398
+SHA256 (jinjanator_plugins-24.2.0.tar.gz) = 5fa8eecb6d9fbef5e7947b3820da4bd7b2ef3f102721e42382de5e71e52b409a
+SIZE (jinjanator_plugins-24.2.0.tar.gz) = 16832
diff --git a/textproc/py-jinjanator-plugins/pkg-descr b/textproc/py-jinjanator-plugins/pkg-descr
new file mode 100644
index 000000000000..45270ff6665b
--- /dev/null
+++ b/textproc/py-jinjanator-plugins/pkg-descr
@@ -0,0 +1,3 @@
+jinjanator can be extended through the use of plugins; these are Python
+packages installed into the same environment as the tool itself, which use
+special markers to 'hook' into various features.
diff --git a/textproc/py-jinjanator/Makefile b/textproc/py-jinjanator/Makefile
new file mode 100644
index 000000000000..69d9680e553d
--- /dev/null
+++ b/textproc/py-jinjanator/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	jinjanator
+DISTVERSION=	25.2.0
+CATEGORIES=	textproc python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	otis@FreeBSD.org
+COMMENT=	CLI tool to render Jinja2 templates
+WWW=		https://github.com/kpfleming/jinjanator
+
+LICENSE=	APACHE20 BSD2CLAUSE
+LICENSE_COMB=	multi
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}jinjanator-plugins>0:textproc/py-jinjanator-plugins@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}python-dotenv>0:www/py-python-dotenv@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist pep517
+
+.include <bsd.port.mk>
diff --git a/textproc/py-jinjanator/distinfo b/textproc/py-jinjanator/distinfo
new file mode 100644
index 000000000000..7a4d10358fb2
--- /dev/null
+++ b/textproc/py-jinjanator/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752064750
+SHA256 (jinjanator-25.2.0.tar.gz) = d3df38c267f9274ad5460a4f29b88b460de40a9155dfc9b28633c38ac42df766
+SIZE (jinjanator-25.2.0.tar.gz) = 30538
diff --git a/textproc/py-jinjanator/files/patch-pyproject.toml b/textproc/py-jinjanator/files/patch-pyproject.toml
new file mode 100644
index 000000000000..bd3163fa6db1
--- /dev/null
+++ b/textproc/py-jinjanator/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2025-07-10 10:14:00 UTC
++++ pyproject.toml
+@@ -3,7 +3,7 @@ requires = [
+ requires = [
+   "hatch-fancy-pypi-readme",
+   "hatch-vcs",
+-  "hatchling<1.27",
++  "hatchling<1.28",
+ ]
+ 
+ [project]
diff --git a/textproc/py-jinjanator/pkg-descr b/textproc/py-jinjanator/pkg-descr
new file mode 100644
index 000000000000..0da081605584
--- /dev/null
+++ b/textproc/py-jinjanator/pkg-descr
@@ -0,0 +1,3 @@
+Jinjanator is a CLI tool to render Jinja2 templates. It is a fork of j2cli,
+which itself was a fork of jinja2-cli, both of which are no longer actively
+maintained.