On Fri, 6 Dec 2024 14:30:02 +0000 Stuart Henderson <s...@spacehopper.org> wrote:
> 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 :-) I did some further research into Gradio, its successor Shortwave, libsoup2/3, Tuner, and alternative Internet Radio players. I first tried to convert Gradio to libsoup3 as it appears to use few libsoup functions, but didn't get far, as the libsoup2 documentation seems to have been taken offline and the learning curve is steep, for little benefit, as you observed. Libsoup3 is now a Gnome sub-project and libsoup.org is offline. The recent migration to incompatible libsoup3 seems to have caused major troubles and rework for packagers/distributions in the Linux ecosystem. I feel for them, since the additional functionality seems to be limited to adding Http2. Both Shortwave and Tuner are intended for or adding 'Gnome integration' and associated dependencies. I suspect it won't be long until some 'innovation' in Gnome/Systemd breaks these and other programs again. It seems to be the way Gnome works, in the hunt for the Year of the Linux Desktop, that twenty-year mirage. So I decided that following that train of abstractions, frameworks, fashionable languages and the associated learning curve is overkill when all I want to do is pick and listen to an internet audio stream. I'm not a Gnome user. Looking at alternatives: audio/curseradio doesn't seem to be functional any more due to changes in the Python lxml library to disable network resources by default, and the upstream is inactive anyway. There are a couple of other Python-based nCurses players like pyradio, though not in our Ports tree. Then I found an (ncurses) Internet Radio player written in C, ctune [1] that has the basic functionality I am looking for, is fast and low in resource usage, and is more in tune with the OpenBSD philosophy than the heavier GUI apps. Having tested it on a Linux machine, I'm attempting to get it to build on OpenBSD with a view to making a new port. I have run into some issues on the build which I will seek advice for in another message. -- Chris Billington [1] https://github.com/An7ar35/ctune