Remove copylibs from GLib
GLib has accumulated a number of copylibs in its code over the years. Since each of these was added, the state of the art of building things has moved on a bit — we now have Meson subprojects, and git submodules, for example.
We might be able to make GLib a bit easier to maintain and contribute to, by removing these copylibs and only pulling them in at build time. We might be able to remove some of them completely if they are no longer used (I haven’t checked).
This would stop new contributors from editing them (and causing divergence from the upstream code), would reduce the amount of code seemingly to be maintained in GLib, and might reduce the tarball size a bit.
Copylibs I can think of (there may be others):
-
glib/valgrind.h
(we could depend onvalgrind.h
from/usr/include
) -
glib/libcharset/
-
Also needs its exclusion from SCAN_BUILD_FLAGS
to be removed when it’s made a subproject (see #1767 (closed))
-
-
glib/gnulib/
(caution: we only want to include a limited number of gnulib modules) -
glib/dirent/
-
gio/xdgmime/
(Meson subproject or git submodule, but we need to reconcile our differences from upstream first: https://gitlab.freedesktop.org/xdg/xdgmime/-/issues/32 / #2349)-
Also needs its exclusion from SCAN_BUILD_FLAGS
to be removed when it’s made a subproject (see #1767 (closed))
-
-
gio/gvdb/
(Meson subproject or git submodule) — !2733 (merged) -
glib/win_iconv.c
(we should use https://github.com/win-iconv/win-iconv and reconcile our slight divergence from it) -
girepository/cmph
(copy of https://cmph.sourceforge.net/; see #3155 (closed))-
Also needs its exclusion from SCAN_BUILD_FLAGS
to be removed when it’s made a subproject (see #1767 (closed))
-
Edited by Philip Withnall