Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: New: audio/tuner: browse and play internet radio streams
To:
Chris Billington <emulti@disroot.org>
Cc:
ports@openbsd.org
Date:
Tue, 16 Jun 2026 12:06:46 +0100

Download raw body.

Thread
  • Stuart Henderson:

    New: audio/tuner: browse and play internet radio streams

  • 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).
    
    
  • Stuart Henderson:

    New: audio/tuner: browse and play internet radio streams