From: Stuart Henderson Subject: Re: New: audio/tuner: browse and play internet radio streams To: Chris Billington Cc: ports@openbsd.org Date: Thu, 25 Jun 2026 09:09:40 +0100 On 2026/06/25 16:07, Chris Billington wrote: > Chris Billington wrote: > > Stuart Henderson wrote: > > > On 2026/06/16 14:38, Chris Billington wrote: > > > > Attached: audio/tuner internet radio browser/player that can > > > > also play video > > > > streams in mpv > > > > > > > > Upstream: https://github.com/tuner-labs/tuner > > > > > > > > Rationale: > > > > - existing port audio/gradio has not been maintained since 2019 and has > > > > unpleasant bugs switching streams that will presumably never be fixed. > > > > > > > > - existing port audio/curseradio (ncurses) currently fails to > > > > start with an > > > > OPML browsing error > > > > > > > > - Tuner upstream has 27 contributors and seems to be actively > > > > maintained. > > > > > > > > After patching a mutex lock/unlock issue the port tests fine on > > > > 7.9-stable. > > > > Patch submitted upstream. > > > > > > > > To play AAC streams gst-libav is an optional dependency. I > > > > wasn't sure how > > > > to best handle this. > > > > > > > > Testers on 7.9-current welcome, unfortunately I don't have a > > > > machine with > > > > -current handy. > > > > > > > > Looking for comments and OK's, am happy to take maintainer. > > > > > > > > Chris > > > > > > : GH_TAGNAME =    v2.1.0 > > > : GH_ACCOUNT =    tuner-labs > > > : GH_PROJECT =    tuner > > > : DISTNAME =      ${GH_PROJECT:L}-${GH_TAGNAME:S/^v//} > > > : #EPOCH =         0 > > > : #REVISION =      0 > > > > > > the DISTNAME line is doing nothing, it just sets it to the same string > > > used by default, so drop it, along with #EPOCH/REVISION > > > > > > : # GPLv3 > > > > > > files have "SPDX-License-Identifier: GPL-3.0-or-later" so please write > > > GPLv3+ > > > > > > : WANTLIB += c execinfo gdk-3 gdk_pixbuf-2.0 gee-0.8 > > > : WANTLIB += gio-2.0 glib-2.0 gobject-2.0 gstplayer-1.0 gstreamer-1.0 > > > : WANTLIB += gtk-3 intl json-glib-1.0 pango-1.0 > > > : WANTLIB += soup-3.0 > > > : > > > : LIB_DEPENDS =           devel/json-glib \ > > > :             devel/libgee \ > > > :                         devel/libsoup3 \ > > > :                         multimedia/gstreamer1/plugins-bad \ > > > :                         x11/gtk+3 > > > > > > just use tabs rather than a mix of tabs and spaces > > > > > > : LDFLAGS =        L${LOCALBASE}/lib > > > : LDFLAGS +=              -lexecinfo > > > > > > this is doing nothing, the LDFLAGS make variable is not passed in to > > > the build > > > > > > : -meson.add_install_script ( > > > : -    glib_compile_schemas, > > > : -    schemas_dir, > > > : -    install_tag: 'schemas' > > > : -) > > > : +#meson.add_install_script ( > > > : +#    glib_compile_schemas, > > > : +#    schemas_dir, > > > : +#    install_tag: 'schemas' > > > : +#) > > > this patch is a bit unclear and makes it looks like it's disabling > > > install of schemas (which is wrong), but actually it's disabling > > > a bogus schema compile job. > > > > > > updated tgz attached (so far I've only built, not run it). > > > > > Thanks Stuart for tidying my untidiness! I was too pleased having zapped > > the mutex bug (doesn't bother Linux, it seems) that I forgot to put > > things in good order. > > Works fine on 7.9-stable. > > > > Regards, > > Chris > I have given this a good test on 7.9-current amd64 including several of the > various TV channels in the radio-browser directory, which seem to decode > fine using Gstreamer. > > AAC audio playback (commonly used for Internet radio and video stations in > the directory) seems to work OK using the fdkaacdec decoder in > gst-plugins-bad, but that codec is only ranked 'marginal'. The primary AAC > decoder avdec_aac is ranked as 'primary'. > > To handle this I am wondering if a dependency (or optional dependency) on > gst-libav would be sensible, or if it should be handled as a note in a > pkg-readme. ports/packages don't have an "optional dep" mechanism, the only way is to either mention it somewhere, or add the dep. in this case, I think: just add the dep.