[WIP] port to libsoup3
This is an initial port of the soup sink/src to the upcoming libsoup3
(https://blog.tingping.se/2021/02/23/future-of-libsoup.html). For now it's a work in progress.
The main problematic thing that potentially concerns me is the ABI. This is also why there isn't support for building both variants of the plugin at once, just one or the other - since libsoup2
and 3 are not ABI compatible but share symbol names, loading both versions into one process has potentially disastrous consequences. This already shows when you actually do build both versions at once and try to run tests (one set of tests just fails).
At compile-time, you can pick which version of libsoup you want to build with. As it seems right now, distributions will have to carefully deal with managing both versions (and probably stick with one version unless specifically safe, i.e. it is ensured that the other version of libsoup is not anywhere in the dependency tree) until the old version can be dropped.
Either way, for now putting this up here for early review.