git: f49b835b51fd - main - sysutils/opentofu: New port

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Mon, 20 Nov 2023 13:27:07 UTC
The branch main has been updated by bofh:

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

commit f49b835b51fd5d92138706c32523c6f361740eac
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2023-11-20 13:12:30 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2023-11-20 13:26:49 +0000

    sysutils/opentofu: New port
    
    OpenTofu is an OSS tool for building, changing, and versioning
     infrastructure safely and efficiently. OpenTofu can manage existing and
     popular service providers as well as custom in-house solutions.
    
    The key features of OpenTofu are:
    
    - Infrastructure as Code: Infrastructure is described using a high-level
      configuration syntax. This allows a blueprint of your datacenter to be
      versioned and treated as you would any other code. Additionally,
      infrastructure can be shared and re-used.
    
    - Execution Plans: OpenTofu has a "planning" step where it generates an
      execution plan. The execution plan shows what OpenTofu will do when
      you call apply. This lets you avoid any surprises when OpenTofu
      manipulates infrastructure.
    
    - Resource Graph: OpenTofu builds a graph of all your resources, and
      parallelizes the creation and modification of any non-dependent
      resources. Because of this, OpenTofu builds infrastructure as
      efficiently as possible, and operators get insight into dependencies
      in their infrastructure.
    
    - Change Automation: Complex changesets can be applied to your
      infrastructure with minimal human interaction. With the previously
      mentioned execution plan and resource graph, you know exactly what
      OpenTofu will change and in what order, avoiding many possible human
      errors.
    
    WWW: https://opentofu.org
---
 sysutils/Makefile           |  1 +
 sysutils/opentofu/Makefile  | 20 ++++++++++++++++++++
 sysutils/opentofu/distinfo  |  5 +++++
 sysutils/opentofu/pkg-descr | 24 ++++++++++++++++++++++++
 4 files changed, 50 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index ab68f49c71b3..ab68fac22dad 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -858,6 +858,7 @@
     SUBDIR += opensbi
     SUBDIR += openseachest
     SUBDIR += openshift-install
+    SUBDIR += opentofu
     SUBDIR += openupsd
     SUBDIR += openzfs
     SUBDIR += openzfs-kmod
diff --git a/sysutils/opentofu/Makefile b/sysutils/opentofu/Makefile
new file mode 100644
index 000000000000..338892fabc87
--- /dev/null
+++ b/sysutils/opentofu/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	opentofu
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.6.0-alpha5
+CATEGORIES=	sysutils
+
+MAINTAINER=	bofh@FreeBSD.org
+COMMENT=	Tool for building, changing, and versioning infrastructure
+WWW=		https://opentofu.org/
+
+LICENSE=	MPL20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		go:modules
+GO_BUILDFLAGS=	-o bin/
+GO_MODULE=	github.com/opentofu/opentofu
+GO_TARGET=	./cmd/tofu
+
+PLIST_FILES=	bin/tofu
+
+.include <bsd.port.mk>
diff --git a/sysutils/opentofu/distinfo b/sysutils/opentofu/distinfo
new file mode 100644
index 000000000000..e9ec76f4ec85
--- /dev/null
+++ b/sysutils/opentofu/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1700484675
+SHA256 (go/sysutils_opentofu/opentofu-v1.6.0-alpha5/v1.6.0-alpha5.mod) = 714379a411306bb1ba422f4739cc1afd22777e9b84155aa81731e26bacad9f89
+SIZE (go/sysutils_opentofu/opentofu-v1.6.0-alpha5/v1.6.0-alpha5.mod) = 13073
+SHA256 (go/sysutils_opentofu/opentofu-v1.6.0-alpha5/v1.6.0-alpha5.zip) = 0aa3bbb38d19ef8d7af552c9c6096e7ea8884b06215b76576a7e170c1d98d814
+SIZE (go/sysutils_opentofu/opentofu-v1.6.0-alpha5/v1.6.0-alpha5.zip) = 5577417
diff --git a/sysutils/opentofu/pkg-descr b/sysutils/opentofu/pkg-descr
new file mode 100644
index 000000000000..2b7e4528a2e5
--- /dev/null
+++ b/sysutils/opentofu/pkg-descr
@@ -0,0 +1,24 @@
+OpenTofu is an OSS tool for building, changing, and versioning infrastructure
+safely and efficiently. OpenTofu can manage existing and popular service
+providers as well as custom in-house solutions.
+
+The key features of OpenTofu are:
+
+Infrastructure as Code: Infrastructure is described using a high-level
+configuration syntax. This allows a blueprint of your datacenter to be
+versioned and treated as you would any other code. Additionally, infrastructure
+can be shared and re-used.
+
+Execution Plans: OpenTofu has a "planning" step where it generates an execution
+plan. The execution plan shows what OpenTofu will do when you call apply. This
+lets you avoid any surprises when OpenTofu manipulates infrastructure.
+
+Resource Graph: OpenTofu builds a graph of all your resources, and parallelizes
+the creation and modification of any non-dependent resources. Because of this,
+OpenTofu builds infrastructure as efficiently as possible, and operators get
+insight into dependencies in their infrastructure.
+
+Change Automation: Complex changesets can be applied to your infrastructure
+with minimal human interaction. With the previously mentioned execution plan
+and resource graph, you know exactly what OpenTofu will change and in what
+order, avoiding many possible human errors.