git: fdddeeade8d5 - main - graphics/vhs: New port: Your CLI home video recorder

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Wed, 09 Aug 2023 13:04:44 UTC
The branch main has been updated by fuz:

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

commit fdddeeade8d5997d4c4062f8b56799f685b4ffe6
Author:     Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org>
AuthorDate: 2023-08-08 07:35:55 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-08-09 13:01:27 +0000

    graphics/vhs: New port: Your CLI home video recorder
    
    VHS is a CLI home video recorder that provides an intuitive way to
    write custom terminal GIFs as code for integration testing and
    demoing your CLI tools.
    
    WWW: https://github.com/charmbracelet/vhs
    
    PR:             270036
---
 graphics/Makefile                                  |  1 +
 graphics/vhs/Makefile                              | 31 ++++++++++++++++++++++
 graphics/vhs/distinfo                              |  5 ++++
 ...r_github.com_go-rod_rod_lib_launcher_browser.go | 13 +++++++++
 graphics/vhs/pkg-descr                             |  3 +++
 graphics/vhs/pkg-message                           |  8 ++++++
 6 files changed, 61 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 5e67a56dfe6a..8a01b3895276 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -1159,6 +1159,7 @@
     SUBDIR += vapoursynth-waifu2x-w2xc
     SUBDIR += variety
     SUBDIR += vcg
+    SUBDIR += vhs
     SUBDIR += viewnior
     SUBDIR += vigra
     SUBDIR += vips
diff --git a/graphics/vhs/Makefile b/graphics/vhs/Makefile
new file mode 100644
index 000000000000..8e3f0204e968
--- /dev/null
+++ b/graphics/vhs/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	vhs
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.6.0
+CATEGORIES=	graphics
+
+MAINTAINER=	DtxdF@disroot.org
+COMMENT=	Your CLI home video recorder
+WWW=		https://github.com/charmbracelet/vhs
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	bash>0:shells/bash \
+		ffmpeg>0:multimedia/ffmpeg \
+		ttyd>0:sysutils/ttyd
+
+USES=		go:modules
+GO_MODULE=	github.com/charmbracelet/vhs
+
+PLIST_FILES=	bin/vhs
+
+OPTIONS_RADIO=			BROWSER
+OPTIONS_RADIO_BROWSER=		CHROMIUM UNGOOGLED_CHROMIUM
+BROWSER_DESC=			Browser driver to web automation and scraping
+CHROMIUM_DESC=			Install google chromium
+UNGOOGLED_CHROMIUM_DESC=	Install ungoogled-chromium
+
+CHROMIUM_RUN_DEPENDS=		chromium>0:www/chromium
+UNGOOGLED_CHROMIUM_RUN_DEPENDS=	ungoogled-chromium>0:www/ungoogled-chromium
+
+.include <bsd.port.mk>
diff --git a/graphics/vhs/distinfo b/graphics/vhs/distinfo
new file mode 100644
index 000000000000..9235560181e8
--- /dev/null
+++ b/graphics/vhs/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1690840039
+SHA256 (go/graphics_vhs/vhs-v0.6.0/v0.6.0.mod) = 3b20602734cb2dc68a943cb9c3c3534c2e688b003e11f908b5a44e6ad33f9b0c
+SIZE (go/graphics_vhs/vhs-v0.6.0/v0.6.0.mod) = 2142
+SHA256 (go/graphics_vhs/vhs-v0.6.0/v0.6.0.zip) = 96319d5468f7bdf4fa239826d5f14dad30e61810de65fd1cfc99c966f0662fd0
+SIZE (go/graphics_vhs/vhs-v0.6.0/v0.6.0.zip) = 183582
diff --git a/graphics/vhs/files/patch-vendor_github.com_go-rod_rod_lib_launcher_browser.go b/graphics/vhs/files/patch-vendor_github.com_go-rod_rod_lib_launcher_browser.go
new file mode 100644
index 000000000000..05cc8b99ebd5
--- /dev/null
+++ b/graphics/vhs/files/patch-vendor_github.com_go-rod_rod_lib_launcher_browser.go
@@ -0,0 +1,13 @@
+--- vendor/github.com/go-rod/rod/lib/launcher/browser.go.orig	2023-03-07 14:57:56 UTC
++++ vendor/github.com/go-rod/rod/lib/launcher/browser.go
+@@ -303,6 +303,10 @@ func LookPath() (found string, has bool) {
+ 			"/usr/bin/chromium-browser",
+ 			"/snap/bin/chromium",
+ 		},
++		"freebsd": {
++			"chrome",
++			"ungoogled-chromium",
++		},
+ 		"windows": append([]string{"chrome", "edge"}, expandWindowsExePaths(
+ 			`Google\Chrome\Application\chrome.exe`,
+ 			`Chromium\Application\chrome.exe`,
diff --git a/graphics/vhs/pkg-descr b/graphics/vhs/pkg-descr
new file mode 100644
index 000000000000..cfe4133151e9
--- /dev/null
+++ b/graphics/vhs/pkg-descr
@@ -0,0 +1,3 @@
+VHS is a CLI home video recorder that provides an intuitive way to
+write custom terminal GIFs as code for integration testing and
+demoing your CLI tools.
diff --git a/graphics/vhs/pkg-message b/graphics/vhs/pkg-message
new file mode 100644
index 000000000000..ac3369ad5bfa
--- /dev/null
+++ b/graphics/vhs/pkg-message
@@ -0,0 +1,8 @@
+[
+{ type: install
+  message: <<EOM
+graphics/vhs needs www/chromium or www/ungoogled-chromium to work
+properly, please install one of them.
+EOM
+}
+]