IBBoard / cawbird

A fork of the Corebird GTK Twitter client that continues to work with Twitter
https://ibboard.co.uk/cawbird/
GNU General Public License v3.0
310 stars 37 forks source link

Switch to libsoup3 #464

Closed jbicha closed 1 year ago

jbicha commented 2 years ago

Describe the bug

There is a new major release of libsoup. GNOME 43 is switching its core apps and libraries to use libsoup3.

Also, there is a new version of librest (0.9.1) which uses libsoup.

It's not possible for an app to link against libsoup2 and libsoup3 simultaneously. Distros would prefer to not keep the old librest around so please update cawbird so that it can be built against libsoup3 and the new librest 1.0 API.

Documentation

CodedOre commented 2 years ago

I am currently working on rewriting Cawbird with a new backend. This rewrite is using libsoup3, so we're working on this.

IBBoard commented 2 years ago

Distros may prefer not to keep the old librest around, but they also prefer not to do updates to new major versions of libraries (e.g. libsoup) within a release. I suspect most distros are fine for now, or they will lose a lot of apps that haven't been able to update yet.

As CodedOre said, they're doing a rewrite and all of the new libraries are going to be used there.

jbicha commented 2 years ago

Hi, I am a distro developer for Debian and Ubuntu. While libsoup2.4 will remain in Debian and Ubuntu for a while, librest will be switched to use libsoup3 and we're not going to keep the old librest around just for cawbird. Sorry.

At least for Ubuntu, the next release is the first release after an LTS so people can just keep using Ubuntu 22.04 LTS. cawbird was never in Debian Testing. But people can easily use the Flatpak or Snap version of cawbird which aren't affected by this issue.

IBBoard commented 1 year ago

Closing on the basis that Cawbird 2.0 will fix this, and the librest developers decided to make it impossible for us to support the Twitter v1 API because it only uses OAuth 1.0. And we couldn't move to Twitter v2 because it (still?) isn't feature complete.

Distros need to either hold back and not break apps, find a way to package both, or tell their users that they can't have certain apps because library developers made sweeping breaking changes.