git: b3c7acc9a5dc - main - devel/task: add port: Task runner / simpler Make alternative written in Go

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Mon, 30 Sep 2024 06:27:43 UTC
The branch main has been updated by tagattie:

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

commit b3c7acc9a5dc8cca89ed48893af5671133a9f4d2
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2024-09-30 06:25:52 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2024-09-30 06:27:33 +0000

    devel/task: add port: Task runner / simpler Make alternative written in Go
    
    Task is a task runner / build tool that aims to be simpler and easier
    to use than, for example, GNU Make.
    
    Since it's written in Go, Task is just a single binary and has no
    other dependencies, which means you don't need to mess with any
    complicated install setups just to use a build tool.
    
    WWW: https://taskfile.dev/
---
 devel/Makefile       |  1 +
 devel/task/Makefile  | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
 devel/task/distinfo  | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 devel/task/pkg-descr |  6 +++++
 4 files changed, 130 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 2a3ced9d4232..0fdb045e19a5 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -8099,6 +8099,7 @@
     SUBDIR += tagref
     SUBDIR += tailor
     SUBDIR += talloc
+    SUBDIR += task
     SUBDIR += taskctl
     SUBDIR += taskflow
     SUBDIR += tass64
diff --git a/devel/task/Makefile b/devel/task/Makefile
new file mode 100644
index 000000000000..bf6dc2bb74c5
--- /dev/null
+++ b/devel/task/Makefile
@@ -0,0 +1,60 @@
+PORTNAME=	task
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.39.2
+CATEGORIES=	devel
+
+MAINTAINER=	tagattie@FreeBSD.org
+COMMENT=	Task runner / simpler Make alternative written in Go
+WWW=		https://taskfile.dev/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		go:1.22,modules
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	go-task
+GH_TUPLE=	\
+		Ladicle:tabwriter:v1.0.0:ladicle_tabwriter/vendor/github.com/Ladicle/tabwriter \
+		Masterminds:semver:v3.3.0:masterminds_semver_v3/vendor/github.com/Masterminds/semver/v3 \
+		alecthomas:chroma:v2.14.0:alecthomas_chroma_v2/vendor/github.com/alecthomas/chroma/v2 \
+		davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
+		dlclark:regexp2:v1.11.0:dlclark_regexp2/vendor/github.com/dlclark/regexp2 \
+		dominikbraun:graph:v0.23.0:dominikbraun_graph/vendor/github.com/dominikbraun/graph \
+		fatih:color:v1.17.0:fatih_color/vendor/github.com/fatih/color \
+		go-check:check:788fd7840127:go_check_check/vendor/gopkg.in/check.v1 \
+		go-task:slim-sprig:v3.0.0:go_task_slim_sprig_v3/vendor/github.com/go-task/slim-sprig/v3 \
+		go-task:template:v0.1.0:go_task_template/vendor/github.com/go-task/template \
+		go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+		golang:sync:v0.8.0:golang_sync/vendor/golang.org/x/sync \
+		golang:sys:v0.25.0:golang_sys/vendor/golang.org/x/sys \
+		golang:term:v0.24.0:golang_term/vendor/golang.org/x/term \
+		joho:godotenv:v1.5.1:joho_godotenv/vendor/github.com/joho/godotenv \
+		klauspost:cpuid:v2.0.9:klauspost_cpuid_v2/vendor/github.com/klauspost/cpuid/v2 \
+		mattn:go-colorable:v0.1.13:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
+		mattn:go-isatty:v0.0.20:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
+		mattn:go-zglob:v0.0.6:mattn_go_zglob/vendor/github.com/mattn/go-zglob \
+		mitchellh:hashstructure:v2.0.2:mitchellh_hashstructure_v2/vendor/github.com/mitchellh/hashstructure/v2 \
+		muesli:cancelreader:v0.2.2:muesli_cancelreader/vendor/github.com/muesli/cancelreader \
+		mvdan:sh:v3.9.0:mvdan_sh/vendor/mvdan.cc/sh/v3 \
+		otiai10:copy:v1.14.0:otiai10_copy/vendor/github.com/otiai10/copy \
+		pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
+		radovskyb:watcher:v1.0.7:radovskyb_watcher/vendor/github.com/radovskyb/watcher \
+		sajari:fuzzy:v1.0.0:sajari_fuzzy/vendor/github.com/sajari/fuzzy \
+		spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \
+		stretchr:objx:v0.5.2:stretchr_objx/vendor/github.com/stretchr/objx \
+		stretchr:testify:v1.9.0:stretchr_testify/vendor/github.com/stretchr/testify \
+		zeebo:xxh3:v1.0.2:zeebo_xxh3/vendor/github.com/zeebo/xxh3
+
+GO_TARGET=	./cmd/task
+
+PLIST_FILES=	bin/task
+PORTDOCS=	CHANGELOG.md README.md
+
+OPTIONS_DEFINE=	DOCS
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/devel/task/distinfo b/devel/task/distinfo
new file mode 100644
index 000000000000..e77e67f7c3ae
--- /dev/null
+++ b/devel/task/distinfo
@@ -0,0 +1,63 @@
+TIMESTAMP = 1727494106
+SHA256 (go-task-task-v3.39.2_GH0.tar.gz) = ab61fcbda930ef3f69ba721b3d0dcf531ad0928bbabb17650de607580382f405
+SIZE (go-task-task-v3.39.2_GH0.tar.gz) = 482903
+SHA256 (Ladicle-tabwriter-v1.0.0_GH0.tar.gz) = 418b98c284ecfee18abae6f582bd784d9d9929c97ce03bc88bcc135612b4bcea
+SIZE (Ladicle-tabwriter-v1.0.0_GH0.tar.gz) = 11919
+SHA256 (Masterminds-semver-v3.3.0_GH0.tar.gz) = 2116354903cca1549a5928b86ac789ba8c01a4be87dc3f16287ab4cb0910fdeb
+SIZE (Masterminds-semver-v3.3.0_GH0.tar.gz) = 27852
+SHA256 (alecthomas-chroma-v2.14.0_GH0.tar.gz) = beff1d23ee8343c66f62aa30f1f18da5813018dcdff147f3ac4bdd734a908821
+SIZE (alecthomas-chroma-v2.14.0_GH0.tar.gz) = 1036148
+SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e
+SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152
+SHA256 (dlclark-regexp2-v1.11.0_GH0.tar.gz) = c380209bd67b67859014f9bfd155aec4bfc4beb65f4a6aec37683b80186b18f7
+SIZE (dlclark-regexp2-v1.11.0_GH0.tar.gz) = 212532
+SHA256 (dominikbraun-graph-v0.23.0_GH0.tar.gz) = b7d6ed47eff83acaef77d676fdc2101439f47552a04d1edbc0a532602b7d783c
+SIZE (dominikbraun-graph-v0.23.0_GH0.tar.gz) = 151823
+SHA256 (fatih-color-v1.17.0_GH0.tar.gz) = 82e284c6679ac3eb4cbbb5e15b142bb1e6a68f957fe0d2db8ec4fe17e7f78e88
+SIZE (fatih-color-v1.17.0_GH0.tar.gz) = 12341
+SHA256 (go-check-check-788fd7840127_GH0.tar.gz) = b7c9de01f3ca7111d889f30f2bbcc36eda4d07c09f032aaba83e34a324146bae
+SIZE (go-check-check-788fd7840127_GH0.tar.gz) = 31597
+SHA256 (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 673b1acc819c60899e78b00f20da2b8270a0e370c01d3def9cda0a86167881fb
+SIZE (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 40249
+SHA256 (go-task-template-v0.1.0_GH0.tar.gz) = 9124ba70c50922e3f680fb84073a9bab6283aad3ece5082ed2a7c0888426d6b7
+SIZE (go-task-template-v0.1.0_GH0.tar.gz) = 78058
+SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
+SHA256 (golang-sync-v0.8.0_GH0.tar.gz) = 1872b89e8bf234d4c65edca0bf7c7fd6c414cf74a5a9e10463eb2483cf7b361f
+SIZE (golang-sync-v0.8.0_GH0.tar.gz) = 18181
+SHA256 (golang-sys-v0.25.0_GH0.tar.gz) = 5d6918f3b8618819f3b3e8a2b89fb1588c1a9db1e4332732f11a6cf1acde268c
+SIZE (golang-sys-v0.25.0_GH0.tar.gz) = 1506462
+SHA256 (golang-term-v0.24.0_GH0.tar.gz) = f4c5e59021b1f412935a7485b027e9bfe641573824f7c04ccaed52d46d3316c1
+SIZE (golang-term-v0.24.0_GH0.tar.gz) = 14755
+SHA256 (joho-godotenv-v1.5.1_GH0.tar.gz) = f87c261109efd54c8f16b40252e820d690af571975c25247d2438c43be0be4a1
+SIZE (joho-godotenv-v1.5.1_GH0.tar.gz) = 14220
+SHA256 (klauspost-cpuid-v2.0.9_GH0.tar.gz) = 8cbbd8d7e4379eb95db956352e764b83b509c8fc88a3ab543ccaa6ade746d21a
+SIZE (klauspost-cpuid-v2.0.9_GH0.tar.gz) = 342155
+SHA256 (mattn-go-colorable-v0.1.13_GH0.tar.gz) = c3b62c76d365906bba9aa9d9ec048fd33a2a5742299d6482a08e7466d4c52d77
+SIZE (mattn-go-colorable-v0.1.13_GH0.tar.gz) = 9762
+SHA256 (mattn-go-isatty-v0.0.20_GH0.tar.gz) = 18fc42a278e60fb7a1dffa72f20539ae88d0e292db55b513ef514b7d369883a6
+SIZE (mattn-go-isatty-v0.0.20_GH0.tar.gz) = 4713
+SHA256 (mattn-go-zglob-v0.0.6_GH0.tar.gz) = d733295b942755ef0446c44cca0bcf5b55c75f22d120e29485e266d2df95f074
+SIZE (mattn-go-zglob-v0.0.6_GH0.tar.gz) = 9273
+SHA256 (mitchellh-hashstructure-v2.0.2_GH0.tar.gz) = 3c6781f06d145547a3f08e365ee43c8c47b24d89baf1bc61bc971910f7fe4bbc
+SIZE (mitchellh-hashstructure-v2.0.2_GH0.tar.gz) = 9004
+SHA256 (muesli-cancelreader-v0.2.2_GH0.tar.gz) = afd827ad56d7c567389a516ca005ea80d46ed1cbc17c5ec3ca144152f1ecfc5a
+SIZE (muesli-cancelreader-v0.2.2_GH0.tar.gz) = 9443
+SHA256 (mvdan-sh-v3.9.0_GH0.tar.gz) = d8bd0b83cd41bb65420395d6efb7d2c4bfcd535fbf3d702325d150e5ee2d1809
+SIZE (mvdan-sh-v3.9.0_GH0.tar.gz) = 224822
+SHA256 (otiai10-copy-v1.14.0_GH0.tar.gz) = ca131fd2a2f33a0ee4908ec9a722920d8e09d1812daa0a58ee933e67803a29d0
+SIZE (otiai10-copy-v1.14.0_GH0.tar.gz) = 20315
+SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
+SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
+SHA256 (radovskyb-watcher-v1.0.7_GH0.tar.gz) = 7d21176b45881f910e6469f4249164849160eb282148b97e678ef18230d17843
+SIZE (radovskyb-watcher-v1.0.7_GH0.tar.gz) = 12776
+SHA256 (sajari-fuzzy-v1.0.0_GH0.tar.gz) = b1f2dfca87c5e90cab8bba66a8d1ec94981637a2cbf8855d8535f3a8c12800bd
+SIZE (sajari-fuzzy-v1.0.0_GH0.tar.gz) = 2402004
+SHA256 (spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac0962cf0520999e3ba85f0c7b808
+SIZE (spf13-pflag-v1.0.5_GH0.tar.gz) = 50796
+SHA256 (stretchr-objx-v0.5.2_GH0.tar.gz) = c21c81a2e619fe8194c9cfafd577a72fe163df5a384d68799fbc54eef4b0e33f
+SIZE (stretchr-objx-v0.5.2_GH0.tar.gz) = 33222
+SHA256 (stretchr-testify-v1.9.0_GH0.tar.gz) = ee651d4d4427d55096007190398102383498e6b5cf97ea9e89ad6e72b4115fbb
+SIZE (stretchr-testify-v1.9.0_GH0.tar.gz) = 108663
+SHA256 (zeebo-xxh3-v1.0.2_GH0.tar.gz) = d488743971995e562623d49603256814e2b5162d9c419dab8c99583fc6bcfd0b
+SIZE (zeebo-xxh3-v1.0.2_GH0.tar.gz) = 286392
diff --git a/devel/task/pkg-descr b/devel/task/pkg-descr
new file mode 100644
index 000000000000..141c40048526
--- /dev/null
+++ b/devel/task/pkg-descr
@@ -0,0 +1,6 @@
+Task is a task runner / build tool that aims to be simpler and easier
+to use than, for example, GNU Make.
+
+Since it's written in Go, Task is just a single binary and has no
+other dependencies, which means you don't need to mess with any
+complicated install setups just to use a build tool.