Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: audio/gradio crashes on selecting radio station
To:
Chris Billington <cbillington@emulti.net>
Cc:
ports@openbsd.org
Date:
Fri, 6 Dec 2024 14:30:02 +0000

Download raw body.

Thread
On 2024/12/06 13:41, Chris Billington wrote:
> Thank you for the detailed analysis Stuart.
> 
> It's true that Gradio has largely disappeared from the packaging in Linux distributions after
> the author deprecated it and stopped development. The replacement, Shortwave, is a
> heavier-weight program written in Rust, and from memory downloads hundreds of crates when
> building. It is also more tightly integrated with Gnome.

That is fairly normal for rust. If you consider the libraries used by
gradio the total build for the whole lot would be pretty heavy too -
likely taking longer overall - but of course shared libraries are
common with C/C++ so they're only built once.

(Of course this does result in what you're seeing here when a common
library changes incompatibly!).

> There is a similar program, Tuner [1], which is written in Vala and uses libsoup 3.x. I have
> used it on Linux installs and it does effectively the same job despite some quirks. I will have
> a go at building it on 7.6 and see if I can create a port, a process new to me.
> Or are there other lightweight alternatives?

> [1] https://github.com/louis77/tuner

I don't know what other software there is like this, but tuner does
seem worth a look. It uses libsoup 3 and it seems the other dependencies
are in ports (check https://github.com/louis77/tuner/blob/main/meson.build
install pkglocatedb and "pkglocate lib<whatever>" to check where to find
them).

I haven't ported vala software myself but a quick look at other ports
using vala + meson (x11/gtk-vnc, x11/spice-gtk, www/tuba, graphics/peek
to pick a few) doesn't show anything surprising, it doesn't seem
especially likely to be a difficult choice as a first port and I'm
sure there are a few people who will be happy to help if you get stuck.
(Especially if it means there's a good replacement for one of the few
remaining soup 2.x ports :-)