Bundle newer meson

We will rebase mutter to GNOME 49, where at least meson 1.5.0 is
required.

That requirement is due to the port to meson's wayland module for
generating protocol headers, so reverting the change would result
in conflicts in all future protocol-related backports.

To avoid this, use a recent-enough bundled meson version for the
build.

It's not pretty, but it works…
This commit is contained in:
Florian Müllner 2025-11-07 15:25:08 +01:00
parent 094ea04d97
commit 085a619a79
No known key found for this signature in database
3 changed files with 35 additions and 0 deletions

1
.gitignore vendored
View File

@ -227,3 +227,4 @@ mutter-2.31.5.tar.bz2
/mutter-47.0.tar.xz
/mutter-47.4.tar.xz
/mutter-47.5.tar.xz
/meson-1.5.0.tar.gz

View File

@ -21,6 +21,10 @@ License: GPL-2.0-or-later
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/%{name}/%{major_version}/%{name}-%{tarball_version}.tar.xz
# meson >= 1.5.0 is required
%global meson_ver 1.5.0
Source2: https://github.com/mesonbuild/meson/releases/download/%{meson_ver}/meson-%{meson_ver}.tar.gz
# Work-around for OpenJDK's compliance test
Patch: 0001-window-actor-Special-case-shaped-Java-windows.patch
@ -160,6 +164,9 @@ BuildRequires: pkgconfig(xwayland)
BuildRequires: python3-dbusmock
# for meson
BuildRequires: python3-devel
Requires: control-center-filesystem
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
Requires: gnome-settings-daemon
@ -231,13 +238,39 @@ the functionality of the installed %{name} package.
%prep
%autosetup -S git -n %{name}-%{tarball_version}
# Extract meson
tar -xvf %{SOURCE2}
%build
# Build meson
cd meson-%{meson_ver}
%py3_build
%py3_install
%global __meson %{buildroot}%{_bindir}/meson
export PYTHONPATH=%{buildroot}%{python3_sitelib}:%{python3_sitelib}
cd -
%meson -Degl_device=true
%meson_build
%install
cd meson-%{meson_ver}
%py3_build
%py3_install
%global __meson %{buildroot}%{_bindir}/meson
export PYTHONPATH=%{buildroot}%{python3_sitelib}:%{python3_sitelib}
cd -
%meson_install
# Delete files installed by meson
rm -f %{buildroot}%{_bindir}/meson
rm -rf %{buildroot}%{_mandir}/man1/meson.1*
rm -f %{buildroot}%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
rm -f %{buildroot}%{_datadir}/bash-completion/completions/meson
rm -f %{buildroot}%{_datadir}/zsh/site-functions/_meson
rm -rf %{buildroot}%{python3_sitelib}
%find_lang %{name}
%files -f %{name}.lang

View File

@ -1 +1,2 @@
SHA512 (mutter-47.5.tar.xz) = a0faade5f29a8ab4f43ecf806e2187a0683bd076ff6296f0bec13ef891f5112eefece2b29302336314da7f4b2748deca0d3b0b5ec8cc761bce7daf87dc089c01
SHA512 (meson-1.5.0.tar.gz) = f0a25cf134949739c698eddaea602bf7852866b3fee3d2c11c1e6b6e48c944cf92abc3d171a2e42e21077edc01f1e7079d451f5624e2b6131382e114e814db3e