git: d42dbe928bf9 - main - textproc/ytt: New port: YAML templating tool that works on YAML structure instead of text

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 20 Jan 2024 09:29:25 UTC
The branch main has been updated by yuri:

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

commit d42dbe928bf90336c9e368e81522ba3080d25aa9
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-01-20 09:28:49 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-01-20 09:29:23 +0000

    textproc/ytt: New port: YAML templating tool that works on YAML structure instead of text
---
 textproc/Makefile      |  1 +
 textproc/ytt/Makefile  | 20 ++++++++++++++++++++
 textproc/ytt/distinfo  |  5 +++++
 textproc/ytt/pkg-descr | 20 ++++++++++++++++++++
 4 files changed, 46 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index a14a48e96a9d..90f64280219b 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -2137,6 +2137,7 @@
     SUBDIR += yi-hunspell
     SUBDIR += yodl
     SUBDIR += yq
+    SUBDIR += ytt
     SUBDIR += zed
     SUBDIR += zenxml
     SUBDIR += zorba
diff --git a/textproc/ytt/Makefile b/textproc/ytt/Makefile
new file mode 100644
index 000000000000..f032c05c529a
--- /dev/null
+++ b/textproc/ytt/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	ytt
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.47.0
+CATEGORIES=	textproc
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	YAML templating tool that works on YAML structure instead of text
+WWW=		https://carvel.dev/ytt/
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		go:modules
+
+GO_MODULE=	github.com/carvel-dev/ytt
+GO_TARGET=	./cmd/ytt/
+
+PLIST_FILES=	bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/textproc/ytt/distinfo b/textproc/ytt/distinfo
new file mode 100644
index 000000000000..76e26686b11d
--- /dev/null
+++ b/textproc/ytt/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1705742601
+SHA256 (go/textproc_ytt/ytt-v0.47.0/v0.47.0.mod) = 7e6d12ba01dea00e3d1dea89d8f5a9734f79ac58517fb5b35f1d0b54b85746a1
+SIZE (go/textproc_ytt/ytt-v0.47.0/v0.47.0.mod) = 918
+SHA256 (go/textproc_ytt/ytt-v0.47.0/v0.47.0.zip) = 57076539715972fe79d1f4b1c4d6ee299e6e1135455c6568291593134c43a49c
+SIZE (go/textproc_ytt/ytt-v0.47.0/v0.47.0.zip) = 1193366
diff --git a/textproc/ytt/pkg-descr b/textproc/ytt/pkg-descr
new file mode 100644
index 000000000000..93e55874bd87
--- /dev/null
+++ b/textproc/ytt/pkg-descr
@@ -0,0 +1,20 @@
+ytt (pronounced spelled out) is a templating tool that understands YAML
+structure. It helps you easily configure complex software via reusable
+templates and user provided values. Ytt includes the following features:
+
+* Structural templating: understands yaml structure so users can focus on their
+  configuration instead of issues associated with text templating, such as YAML
+  value quoting or manual template indentation
+* Built-in programming language: includes the "fully featured" Python-like
+  programming language Starlark which helps ease the burden of configuring
+  complex software through a richer set of functionality.
+* Reusable configuration: You can reuse the same configuration in different
+  environments by applying environment-specific values.
+* Custom validations: coupled with the fast and deterministic execution, allows
+  you to take advantage of faster feedback loops when creating and testing
+  templates.
+* Overlays: this advanced configuration helps users manage the customization
+  required for complex software. For more, see this example in the online
+  playground.
+* Sandboxing: provides a secure, deterministic environment for execution of
+  templates.