2022-05-05 20:08:19 +02:00
|
|
|
|
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
|
2022-11-24 13:13:21 +01:00
|
|
|
|
- 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
|
2022-05-05 20:08:19 +02:00
|
|
|
|
- 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).
|
2022-11-24 13:13:21 +01:00
|
|
|
|
|
|
|
|
|
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.
|