Merge "Fix crashes in various GParamSpec creation functions" into tizen
[platform/upstream/glib.git] / docs / meson-version.md
1 Meson version policy
2 ===
3
4 Aims
5 ---
6
7  * Stable versions of GLib should be buildable from source on the majority of
8    systems which are still supported by their vendors, without requiring the
9    user to manually build a number of dependencies
10  * Unstable versions of GLib should be able to take advantage of newer build
11    system features where they would make maintenance of GLib easier, without
12    prejudicing the other aims
13
14 Policy
15 ---
16
17  * Stable branches of GLib will not change their Meson dependency after the
18    first release of that stable series
19  * Unstable branches of GLib can bump their Meson dependency if
20    - at least that version of Meson is currently [available in the freedesktop
21      SDK](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/blob/master/elements/components/meson.bst); *and*
22    - at least that version of Meson is currently available in Debian Testing, or
23    - the Python version required by the new Meson dependency is available in
24      Debian Stable *and* the oldest currently-supported Ubuntu LTS
25  * The version of Meson used by GLib should be pinned and pre-installed in the
26    CI `Dockerfile`s so that GLib is guaranteed to be built against the expected
27    version
28
29 The reasoning behind allowing a version bump if the Python which Meson depends
30 on is available in Debian Stable is that it’s [straightforward to install a more
31 recent Meson version using
32 `pip`](https://mesonbuild.com/Getting-meson.html#installing-meson-with-pip).
33
34 The reasoning behind requiring the version of Meson to be available in the
35 freedesktop SDK is that it is used to build GLib on nightly pipelines in
36 [gnome-build-meta](https://gitlab.gnome.org/GNOME/gnome-build-meta/), which is
37 used to test GLib against multiple third party projects.