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.