summaryrefslogtreecommitdiff
path: root/docs/meson-version.md
blob: 4a4ff825b472a67f7277c3d40c4d4a26a116d955 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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.