flatpak / xdg-desktop-portal

Desktop integration portal
https://flatpak.github.io/xdg-desktop-portal/
GNU Lesser General Public License v2.1
601 stars 194 forks source link

Build using Meson? #716

Closed smcv closed 2 years ago

smcv commented 2 years ago

Similar to flatpak/flatpak#2241, xdg-desktop-portal could build using Meson, to get a less annoying build system that does not rely on adding autogenerated goo to the tarball releases.

Unlike Flatpak, xdg-desktop-portal git HEAD already needs Meson indirectly: it requires GLib 2.60.0 or later, and GLib 2.60.0 required Meson 0.48.0 or newer. So nobody can backport the latest xdg-desktop-portal git HEAD to ancient distributions anyway, unless they would still be in a position to backport it if it was using Meson.

In .deb world, a Meson 0.48 dependency would mean the oldest target release for backporting would be Debian 10 (already superseded by Debian 11), or Ubuntu 20.04 LTS (will be superseded by 22.04 LTS within the next 2 months or so). I don't know what the equivalent RPM distributions look like.

(This assumes that people needing retrocomputing don't backport Meson - which is also relatively straightforward, and in my Steam Runtime day job I have it working in an Ubuntu 12.04-based environment, running on a backported copy of Python 3.5.)

Conan-Kudo commented 2 years ago

In the RPM world, here's what we're looking at in terms of relevant backport targets:

RHEL 7 and SLE 12 don't offer Meson at all. Only RHEL 7 even offers Flatpak in the first place, but it's very old (1.0.x), and xdg-desktop-portal is just as old (1.0.x).

smcv commented 2 years ago

Red Hat Enterprise Linux 8.6: Meson 0.58.2 Red Hat Enterprise Linux 8.5: Meson 0.55.3 SUSE Linux Enterprise 15.4: Meson 0.59.4 SUSE Linux Enterprise 15.3: Meson 0.54.2

Are these minor-version releases supported as separate branches (like the way you can choose to install either Debian 10 or Debian 11 and you will still get security updates), or does the newer one supersede the old one (like the way Debian 11.0 and 11.1 are no longer supported because Debian 11.2 replaces them)?

smcv commented 2 years ago

Unlike Flatpak, xdg-desktop-portal git HEAD already needs Meson indirectly: it requires GLib 2.60.0 or later, and GLib 2.60.0 required Meson 0.48.0 or newer

Actually that's not true: x-d-p doesn't officially require GLib 2.60, it just detects that version as an optional thing. The actual minimal version isn't documented.

Conan-Kudo commented 2 years ago

Red Hat Enterprise Linux 8.6: Meson 0.58.2 Red Hat Enterprise Linux 8.5: Meson 0.55.3 SUSE Linux Enterprise 15.4: Meson 0.59.4 SUSE Linux Enterprise 15.3: Meson 0.54.2

Are these minor-version releases supported as separate branches (like the way you can choose to install either Debian 10 or Debian 11 and you will still get security updates), or does the newer one supersede the old one (like the way Debian 11.0 and 11.1 are no longer supported because Debian 11.2 replaces them)?

For RHEL the latter, for SLE the former. RHEL 8.6 and SLE 15.4 are not released yet.

3v1n0 commented 2 years ago

I guess there's no point to keep the autotools stuff here, I feel using a stable meson version as dependency looks somewhat the way to go to me.