glib/docs/meson-version.md

38 lines
1.7 KiB
Markdown
Raw Normal View History

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