git: 5b0e5f3b4f10 - main - multimedia/go2tv: Add new port

From: Nicola Vitale <nivit_at_FreeBSD.org>
Date: Mon, 02 Mar 2026 21:21:21 UTC
The branch main has been updated by nivit:

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

commit 5b0e5f3b4f107e62d4433ec340bb8ec7c09e2d44
Author:     Nicola Vitale <nivit@FreeBSD.org>
AuthorDate: 2026-03-02 21:19:37 +0000
Commit:     Nicola Vitale <nivit@FreeBSD.org>
CommitDate: 2026-03-02 21:19:37 +0000

    multimedia/go2tv: Add new port
    
    Go2TV lets you play video, audio, and image files on your Smart TV or
    Chromecast device directly from your computer or phone. It works with:
    
      - Smart TVs - Samsung, LG, Sony, and others that support DLNA/UPnP
      - Chromecast - Google Chromecast, Chromecast with Google TV, and compatible
        devices
      - Apps - BubbleUPnP, GMediaRender, and other media receiver apps
    
    No need to copy files to a USB drive or set up a media server. Just select your
    file, pick your device, and play.
    
    https://go2tv.app/
---
 multimedia/Makefile        |  1 +
 multimedia/go2tv/Makefile  | 52 ++++++++++++++++++++++++++++++++++++++++++++++
 multimedia/go2tv/distinfo  |  5 +++++
 multimedia/go2tv/pkg-descr | 10 +++++++++
 4 files changed, 68 insertions(+)

diff --git a/multimedia/Makefile b/multimedia/Makefile
index b3c75468089a..e507c87d04eb 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -69,6 +69,7 @@
     SUBDIR += get_iplayer
     SUBDIR += gmmlib
     SUBDIR += gmp-api
+    SUBDIR += go2tv
     SUBDIR += gpac
     SUBDIR += gpodder
     SUBDIR += gst123
diff --git a/multimedia/go2tv/Makefile b/multimedia/go2tv/Makefile
new file mode 100644
index 000000000000..ae3242ccc29e
--- /dev/null
+++ b/multimedia/go2tv/Makefile
@@ -0,0 +1,52 @@
+PORTNAME=	go2tv
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.1.0
+CATEGORIES=	multimedia
+
+MAINTAINER=	nivit@FreeBSD.org
+COMMENT=	Cast media files to Smart TVs and Chromecast devices
+WWW=		https://go2tv.app/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	evdev-proto>=5.8:devel/evdev-proto
+LIB_DEPENDS=	libepoll-shim.so:devel/libepoll-shim \
+		libwayland-client.so:graphics/wayland \
+		libwayland-cursor.so:graphics/wayland \
+		libwayland-egl.so:graphics/wayland \
+		libxkbcommon.so:x11/libxkbcommon
+RUN_DEPENDS=	ffmpeg:multimedia/ffmpeg
+
+USES=		gl go:modules pkgconfig xorg
+
+USE_GL=		gl
+USE_XORG=	x11 xau xcb xdmcp
+
+GO_MODULE=	go2tv.app/go2tv/v2
+GO_TARGET=	./cmd/${PORTNAME}
+GO_BUILDFLAGS=	-tags "migrated_fynedo,wayland" \
+		-ldflags "-s -w -X main.version=${PORTVERSION}"
+
+PLIST_FILES=	bin/go2tv \
+		share/applications/app.go2tv.go2tv.desktop \
+		share/icons/hicolor/512x512/apps/app.go2tv.go2tv.png \
+		share/icons/hicolor/scalable/apps/app.go2tv.go2tv.svg
+
+post-patch:
+	${REINPLACE_CMD} \
+		-e 's|^\(Exec=\)\(go2tv\)|\1${SETENV} LANG=en_US.UTF-8 ${PREFIX}/bin/\2|1' \
+		${WRKSRC}/assets/linux/app.go2tv.go2tv.desktop
+
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/applications
+	${INSTALL_DATA} ${WRKSRC}/assets/linux/app.go2tv.go2tv.desktop \
+		${STAGEDIR}${PREFIX}/share/applications/
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps
+	${INSTALL_DATA} ${WRKSRC}/assets/go2tv-icon-desktop-512.png \
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps/app.go2tv.go2tv.png
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
+	${INSTALL_DATA} ${WRKSRC}/assets/go2tv-icon-color.svg \
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/app.go2tv.go2tv.svg
+
+.include <bsd.port.mk>
diff --git a/multimedia/go2tv/distinfo b/multimedia/go2tv/distinfo
new file mode 100644
index 000000000000..19d1b7a2a434
--- /dev/null
+++ b/multimedia/go2tv/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1772470465
+SHA256 (go/multimedia_go2tv/go2tv-v2.1.0/v2.1.0.mod) = bf5bc8c938f8f4f20eb404a51c482e601343c9bab6df5d993c5fa316e7513502
+SIZE (go/multimedia_go2tv/go2tv-v2.1.0/v2.1.0.mod) = 4089
+SHA256 (go/multimedia_go2tv/go2tv-v2.1.0/v2.1.0.zip) = fa1fc9006b845f0429c12460743df9c792460f5d45fd9052edffba799b796119
+SIZE (go/multimedia_go2tv/go2tv-v2.1.0/v2.1.0.zip) = 5416759
diff --git a/multimedia/go2tv/pkg-descr b/multimedia/go2tv/pkg-descr
new file mode 100644
index 000000000000..c6d138f782f3
--- /dev/null
+++ b/multimedia/go2tv/pkg-descr
@@ -0,0 +1,10 @@
+Go2TV lets you play video, audio, and image files on your Smart TV or
+Chromecast device directly from your computer or phone. It works with:
+
+  - Smart TVs - Samsung, LG, Sony, and others that support DLNA/UPnP
+  - Chromecast - Google Chromecast, Chromecast with Google TV, and compatible
+    devices
+  - Apps - BubbleUPnP, GMediaRender, and other media receiver apps
+
+No need to copy files to a USB drive or set up a media server. Just select your
+file, pick your device, and play.