GLib's move to meson from autotools means we are effectively starting
from scratch with non-linux build fixes. Support for python 2 has
also been dropped (given that meson requires python 3). I replaced
sysutils/gio-fam with a build option.
The full lengthy list of changes is available from:
https://gitlab.gnome.org/GNOME/glib/tags/2.60.2
Some highlights:
* Improve network status detection with NetworkManager (!781)
* Add async GIO API: g_file_query_default_handler_async(), g_app_info_launch_uris_async() (#1249, #1347)
* Add overlay support to g_resources_get_info(). (#1445)
* Add writev() and writev_all() APIs to GOutputStream and GPollableOutputStream,
and provide implementations of them for many subclasses. (#1431)
* Hide bind mounts from GIO mount listings. (#1271)
* Automatically realign data passed to `g_variant_new_from_bytes()` or
`g_variant_new_from_data()` if it is not correctly aligned. This prevents
misaligned accesses on architectures which don’t support them. Callers should
still aim to correctly align data to get higher performance. (#1342)
* Support `ld -b binary` (on platforms which support it; i.e. Linux) to provide
large pre-compiled `GResource` resources with a fast compilation time. (#1489+* Drop Python 2 support and require Python 3.4+. See discussion on
https://mail.gnome.org/archives/desktop-devel-list/2018-July/msg00004.html.
(!196)
* Various fixes to eliminate thread races, found by thread sanitizer (tsan).
python 3 is strict about file encodings. After glib-mkenums was
translated from perl to python, build failures occur due to e.g.,
ISO-8859-1 characters in authors' names as reported by martin@ in
PR pkg/52631 for xfce4-gtk2-engines, but also causing build failures
for at least libgnome and libgnomeui.
Chritoph Reiter produced an elegant workaround, making use of the
open() function's error decoding "replace" option:
'replace' causes a replacement marker (such as '?') to be inserted
where there is malformed data.
which is applied here.
https://bugzilla.gnome.org/show_bug.cgi?id=785113#c27