| 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. |