libportal: fix rare build race

There is a build race where the libportal.vapi is not always generated
before it is needed to build libportal-gtk*.vapi. Backport the fix from
upstream.

[ YOCTO #15479 ]

(From OE-Core rev: d7019c20a6516b1b98c1ce92eae8a536eddf379a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2d984e52cded09647b210bd79cfec9deb4b7b589)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Ross Burton
2024-05-10 15:45:35 +00:00
committed by Steve Sakoman
parent 88981b162e
commit 49ee090b26
2 changed files with 51 additions and 1 deletions

View File

@@ -0,0 +1,49 @@
From 26f96a178f8a0afded00bdd7238728c0b6e42a6b Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 9 May 2024 18:44:41 +0000
Subject: [PATCH] meson.build: fix build race when building GTK vapi files
There's a build race when building the GTK vapi files:
FAILED: libportal/libportal-gtk4.vapi
error: Package `libportal' not found in specified Vala API directories or GObject-Introspection GIR directories
This can be verified by adding "sleep 10;" to the command for the
libportal/libportal.vapi target in the generated build.ninja file.
The GTK vapi files need to have access to the generic libportal.vapi file,
but there is no explicit dependency. Switch the dependency name 'libportal'
to the dependency object libportal_vapi so that Meson generates the
dependency correctly.
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
libportal/meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libportal/meson.build b/libportal/meson.build
index fff7603..4e67f40 100644
--- a/libportal/meson.build
+++ b/libportal/meson.build
@@ -168,7 +168,7 @@ if gtk3_dep.found()
if vapi
libportal_gtk3_vapi = gnome.generate_vapi('libportal-gtk3',
sources: libportal_gtk3_gir[0],
- packages: ['gio-2.0', 'gtk+-3.0', 'libportal'],
+ packages: ['gio-2.0', 'gtk+-3.0', libportal_vapi],
gir_dirs: [meson.current_build_dir()],
vapi_dirs: [meson.current_build_dir()],
install: true,
@@ -227,7 +227,7 @@ if gtk4_dep.found()
if vapi
libportal_gtk4_vapi = gnome.generate_vapi('libportal-gtk4',
sources: libportal_gtk4_gir[0],
- packages: ['gio-2.0', 'gtk4', 'libportal'],
+ packages: ['gio-2.0', 'gtk4', libportal_vapi],
gir_dirs: [meson.current_build_dir()],
vapi_dirs: [meson.current_build_dir()],
install: true,
--
2.34.1

View File

@@ -6,7 +6,8 @@ BUGTRACKER = "https://github.com/flatpak/libportal/issues"
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404"
SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main"
SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main \
file://0001-meson.build-fix-build-race-when-building-GTK-vapi-fi.patch"
SRCREV = "e9ed3a50cdde321eaf42361212480a66eb94a57a"
S = "${WORKDIR}/git"