Meson version policy === Aims --- * Stable versions of GLib should be buildable from source on the majority of systems which are still supported by their vendors, without requiring the user to manually build a number of dependencies * Unstable versions of GLib should be able to take advantage of newer build system features where they would make maintenance of GLib easier, without prejudicing the other aims Policy --- * Stable branches of GLib will not change their Meson dependency after the first release of that stable series * Unstable branches of GLib can bump their Meson dependency if - at least that version of Meson is currently [available in the freedesktop SDK](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/blob/master/elements/components/meson.bst); *and* - at least that version of Meson is currently available in Debian Testing, or - the Python version required by the new Meson dependency is available in Debian Stable *and* the oldest currently-supported Ubuntu LTS * The version of Meson used by GLib should be pinned and pre-installed in the CI `Dockerfile`s so that GLib is guaranteed to be built against the expected version The reasoning behind allowing a version bump if the Python which Meson depends on is available in Debian Stable is that it’s [straightforward to install a more recent Meson version using `pip`](https://mesonbuild.com/Getting-meson.html#installing-meson-with-pip). The reasoning behind requiring the version of Meson to be available in the freedesktop SDK is that it is used to build GLib on nightly pipelines in [gnome-build-meta](https://gitlab.gnome.org/GNOME/gnome-build-meta/), which is used to test GLib against multiple third party projects.