git: 1f402a6fbbbd - main - multimedia/supersonic: New port: Lightweight cross-platform desktop client for Subsonic music servers

From: Jesús Daniel Colmenares Oviedo <dtxdf_at_FreeBSD.org>
Date: Wed, 04 Jun 2025 20:16:53 UTC
The branch main has been updated by dtxdf:

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

commit 1f402a6fbbbd739a3ca7e1b365fa1690ef69775b
Author:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2025-06-04 02:15:39 +0000
Commit:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2025-06-04 20:16:03 +0000

    multimedia/supersonic: New port: Lightweight cross-platform desktop client for Subsonic music servers
    
    Supersonic is a lightweight cross-platform desktop client for
    Subsonic (or OpenSubsonic API), supporting Navidrome, Jellyfin,
    Gonic, LMS, Nextcloud Music, Airsonic-Advanced, Ampache, Funkwhale
    and Supysonic.
    
    PR:             275681
    Approved by:    acm (mentor)
---
 multimedia/Makefile             |  1 +
 multimedia/supersonic/Makefile  | 43 +++++++++++++++++++++++++++++++++++++++++
 multimedia/supersonic/distinfo  |  5 +++++
 multimedia/supersonic/pkg-descr |  4 ++++
 4 files changed, 53 insertions(+)

diff --git a/multimedia/Makefile b/multimedia/Makefile
index ceaa35501579..8ec0a45d7ce2 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -355,6 +355,7 @@
     SUBDIR += subtitlecomposer
     SUBDIR += subtitleoffsetmodifier
     SUBDIR += subtools
+    SUBDIR += supersonic
     SUBDIR += svt-av1
     SUBDIR += svt-av1-psy
     SUBDIR += svt-hevc
diff --git a/multimedia/supersonic/Makefile b/multimedia/supersonic/Makefile
new file mode 100644
index 000000000000..869ece50611e
--- /dev/null
+++ b/multimedia/supersonic/Makefile
@@ -0,0 +1,43 @@
+PORTNAME=	supersonic
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.15.2
+CATEGORIES=	multimedia
+
+MAINTAINER=	dtxdf@FreeBSD.org
+COMMENT=	Lightweight cross-platform desktop client for Subsonic music servers
+WWW=		https://github.com/dweymouth/${PORTNAME}/
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libmpv.so:multimedia/mpv
+
+USES=		desktop-file-utils gl go:modules localbase:ldflags pkgconfig \
+		xorg
+USE_GL=		gl
+USE_XORG=	x11 xau xcb xcursor xdmcp xi
+GO_MODULE=	github.com/dweymouth/${PORTNAME}
+
+PLIST_FILES=	bin/${PORTNAME} \
+		share/applications/supersonic-desktop.desktop \
+		share/icons/hicolor/128x128/apps/supersonic-desktop.png \
+		share/icons/hicolor/256x256/apps/supersonic-desktop.png \
+		share/icons/hicolor/512x512/apps/supersonic-desktop.png \
+		share/pixmaps/supersonic-desktop.png
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|Exec=supersonic-desktop|Exec=supersonic|' \
+		${WRKSRC}/res/supersonic-desktop.desktop
+
+post-install:
+	${INSTALL_DATA} ${WRKSRC}/res/supersonic-desktop.desktop \
+		${STAGEDIR}${DESKTOPDIR}
+.for s in 128 256 512
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps
+	${INSTALL_DATA} ${WRKSRC}/res/appicon-${s}.png \
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/supersonic-desktop.png
+.endfor
+	${INSTALL_DATA} ${WRKSRC}/res/appicon.png \
+		${STAGEDIR}${PREFIX}/share/pixmaps/supersonic-desktop.png
+
+.include <bsd.port.mk>
diff --git a/multimedia/supersonic/distinfo b/multimedia/supersonic/distinfo
new file mode 100644
index 000000000000..97ed90857ccb
--- /dev/null
+++ b/multimedia/supersonic/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1748988096
+SHA256 (go/multimedia_supersonic/supersonic-v0.15.2/v0.15.2.mod) = 4ffcab539a255536190a9f5accfaacc5d67b82c0ee87d32503867ed2eca14546
+SIZE (go/multimedia_supersonic/supersonic-v0.15.2/v0.15.2.mod) = 2844
+SHA256 (go/multimedia_supersonic/supersonic-v0.15.2/v0.15.2.zip) = 16465c90d3cfec01e7a1906315087d0877c34ce357704a31dcc51c6641b66def
+SIZE (go/multimedia_supersonic/supersonic-v0.15.2/v0.15.2.zip) = 65418048
diff --git a/multimedia/supersonic/pkg-descr b/multimedia/supersonic/pkg-descr
new file mode 100644
index 000000000000..2ec06fe9f5e6
--- /dev/null
+++ b/multimedia/supersonic/pkg-descr
@@ -0,0 +1,4 @@
+Supersonic is a lightweight cross-platform desktop client for
+Subsonic (or OpenSubsonic API), supporting Navidrome, Jellyfin,
+Gonic, LMS, Nextcloud Music, Airsonic-Advanced, Ampache, Funkwhale
+and Supysonic.