Date: Mon, 16 Feb 2026 13:32:00 +0000 From: Nicola Vitale <nivit@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: d02f3365ccaf - main - audio/waves: Add new port Message-ID: <69931c50.41338.1d9227fc@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by nivit: URL: https://cgit.FreeBSD.org/ports/commit/?id=d02f3365ccaf637ab44085bbd2d16fe06e904eca commit d02f3365ccaf637ab44085bbd2d16fe06e904eca Author: Nicola Vitale <nivit@FreeBSD.org> AuthorDate: 2026-02-16 13:28:28 +0000 Commit: Nicola Vitale <nivit@FreeBSD.org> CommitDate: 2026-02-16 13:28:28 +0000 audio/waves: Add new port Waves is a keyboard-driven terminal music player with Soulseek downloads, MusicBrainz tagging, Last.fm scrobbling, and radio mode. Features: - Browser: Browse music by Artist > Album > Track hierarchy - File Browser: Navigate filesystem with file/folder deletion - Playlists: Create, organize, and manage playlists with folder hierarchy - Favorites: Quick-access playlist with heart icon display - Playing Queue: Persistent queue with multi-selection, reordering, and undo/redo - Audio Playback: MP3, FLAC, OPUS/OGG, and M4A/AAC support with seeking - Album Art: Display album art in expanded player bar, auto-fetch during import - Full-Text Search: SQLite FTS5 search across library, files, and playlists - Download Manager: Search and download from Soulseek via slskd integration - Import System: MusicBrainz tagging, file renaming, and library integration - Last.fm Scrobbling: Track your listening history with offline queue support - Radio Mode: Endless playback with Last.fm similar artists and intelligent track selection - And more... https://github.com/llehouerou/waves --- audio/Makefile | 1 + audio/waves/Makefile | 39 +++++++++++++++++++++++++ audio/waves/distinfo | 5 ++++ audio/waves/files/patch-internal_lastfm_auth.go | 11 +++++++ audio/waves/files/pkg-message.in | 12 ++++++++ audio/waves/pkg-descr | 21 +++++++++++++ 6 files changed, 89 insertions(+) diff --git a/audio/Makefile b/audio/Makefile index 18650d1d0376..3935624289b3 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -847,6 +847,7 @@ SUBDIR += waon SUBDIR += wasabi SUBDIR += wavbreaker + SUBDIR += waves SUBDIR += wavegain SUBDIR += wavetral SUBDIR += wavpack diff --git a/audio/waves/Makefile b/audio/waves/Makefile new file mode 100644 index 000000000000..f230b5992d26 --- /dev/null +++ b/audio/waves/Makefile @@ -0,0 +1,39 @@ +PORTNAME= waves +DISTVERSIONPREFIX= v +DISTVERSION= 0.1.41 +CATEGORIES= audio + +MAINTAINER= nivit@FreeBSD.org +COMMENT= Terminal music player with MusicBrainz tagging, and Last.fm scrobbling +WWW= https://github.com/llehouerou/waves + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libasound.so:audio/alsa-lib +RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \ + xdg-open:devel/xdg-utils + +USES= go:modules pkgconfig + +GO_MODULE= github.com/llehouerou/waves + +SUB_FILES= pkg-message + +PLIST_FILES= bin/waves \ + share/waves/config.example.toml + +PORTDOCS= README.md + +OPTIONS_DEFINE= DOCS + +post-install: + ${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/config.example.toml \ + ${STAGEDIR}${DATADIR} + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/audio/waves/distinfo b/audio/waves/distinfo new file mode 100644 index 000000000000..c8a6188cbcb3 --- /dev/null +++ b/audio/waves/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1771234448 +SHA256 (go/audio_waves/waves-v0.1.41/v0.1.41.mod) = e201530a8efe1f32a067ec0e0a72695a36daf67e2b4ca5de414a30ccb373a2a2 +SIZE (go/audio_waves/waves-v0.1.41/v0.1.41.mod) = 3458 +SHA256 (go/audio_waves/waves-v0.1.41/v0.1.41.zip) = 01a4da8847604fdbcfe2ec6b6e1cd35204b8acd630795f60e766356d4a47226f +SIZE (go/audio_waves/waves-v0.1.41/v0.1.41.zip) = 1810584 diff --git a/audio/waves/files/patch-internal_lastfm_auth.go b/audio/waves/files/patch-internal_lastfm_auth.go new file mode 100644 index 000000000000..4e6fd7937cc8 --- /dev/null +++ b/audio/waves/files/patch-internal_lastfm_auth.go @@ -0,0 +1,11 @@ +--- internal/lastfm/auth.go.orig 1979-11-29 23:00:00 UTC ++++ internal/lastfm/auth.go +@@ -108,6 +108,8 @@ func OpenBrowser(url string) error { + switch runtime.GOOS { + case "darwin": + cmd = exec.Command("open", url) ++ case "freebsd": ++ cmd = exec.Command("xdg-open", url) + case "linux": + cmd = exec.Command("xdg-open", url) + case "windows": diff --git a/audio/waves/files/pkg-message.in b/audio/waves/files/pkg-message.in new file mode 100644 index 000000000000..79d5d5f8761a --- /dev/null +++ b/audio/waves/files/pkg-message.in @@ -0,0 +1,12 @@ +[ +{ + type: install + message: <<EOM +Before starting waves for the first time, run the following commands: + + mkdir ~/.config/waves + cp %%DATADIR%%/config.example.toml ~/.config/waves/config.toml + +Then customize that config file. +} +] diff --git a/audio/waves/pkg-descr b/audio/waves/pkg-descr new file mode 100644 index 000000000000..2f8395146429 --- /dev/null +++ b/audio/waves/pkg-descr @@ -0,0 +1,21 @@ +Waves is a keyboard-driven terminal music player with Soulseek downloads, +MusicBrainz tagging, Last.fm scrobbling, and radio mode. + +Features: + + - Browser: Browse music by Artist > Album > Track hierarchy + - File Browser: Navigate filesystem with file/folder deletion + - Playlists: Create, organize, and manage playlists with folder hierarchy + - Favorites: Quick-access playlist with heart icon display + - Playing Queue: Persistent queue with multi-selection, reordering, and + undo/redo + - Audio Playback: MP3, FLAC, OPUS/OGG, and M4A/AAC support with seeking + - Album Art: Display album art in expanded player bar, auto-fetch during + import + - Full-Text Search: SQLite FTS5 search across library, files, and playlists + - Download Manager: Search and download from Soulseek via slskd integration + - Import System: MusicBrainz tagging, file renaming, and library integration + - Last.fm Scrobbling: Track your listening history with offline queue support + - Radio Mode: Endless playback with Last.fm similar artists and intelligent + track selection + - And more...home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69931c50.41338.1d9227fc>
