Libnice should have libsoup as depency?

Maybe we have finally found a perfect solution to this issue.

First, the difference between the older libnice from Gentoo and the new libnice from Git is:

$ diff /usr/share/gir-1.0/Nice-0.1.gir /opt/gtk/share/gir-1.0/Nice-0.1.gir 
14c14
<              shared-library=""
---
>              shared-library="libnice.so.10"

So the Git libnice now specifies a shared-library string, which lets gobject-introspection now load all the other libs including libsoup. My guess is that gobject-introspection loads all the libs listed by ldd with dlopen.

But we may have a solution now: After finding the new location https://gnome.pages.gitlab.gnome.org/gobject-introspection/girepository/ I was again meditating about all the available functions, until I discovered https://gnome.pages.gitlab.gnome.org/gobject-introspection/girepository/gi-GITypelib.html#g-typelib-free.

And I realized that that function was never called at the end of function gintro/gen.nim at master · StefanSalewski/gintro · GitHub. Actually, when we wrote that code for Nim bindings generation seven years ago, we left out all the unref/free functions by intent.

But the fantastic news seems to be, that calling g_typelib_free() unloads all loaded symbols, so name conflicts for already existing symbols do not occur any longer. We intended to archive the same by processing each lib in a separate process, which is very difficult.

Well, we have to do more test, especially with the ArchLinux which generated most trouble, but it looks really promising now.