Hi Alex,

this patch is needed for building kwin and layer-shell-qt from meta-kde layer. Right now, we carry this patch for Wayland to fix essentially pkg-config's call "pkg-config --variable=pkgdatadir wayland-client" to locate the folder with wayland.xml, which is needed during code generation of the C & C++ API with wayland-scanner and qtwaylandscanner. Without the patch the pkgdatadir location is reported, and I think that is the biggest issue here, to be "/usr/share/wayland/" as an absolute path and thus breaks out of the recipe-sysroot and leaks the host system's wayland.xml in the build process.

Regarding a switch away from pkg-config, I like to let others comment with more insights into that topic :)

Best regards,
Andreas

On 05.10.23 10:53, Alexander Kanavin wrote:
Can you show where this is causing problems for you? We're not seeing
the issue in CI builds, so the problem this is solving needs to be
better explained.

Also upstream has a point: we should migrate away from a long
unmaintained freedesktop pkg-config.

Alex

On Sun, 1 Oct 2023 at 12:28, Andreas Cord-Landwehr <cordlandw...@kde.org> wrote:

Fix pkgconfig find calls to find wayland protocol XML files.
See discussion in:
https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/102

Signed-off-by: Andreas Cord-Landwehr <cordlandw...@kde.org>
---
  ...der-pkgconfig-sysroot-for-pkgdatadir.patch | 46 +++++++++++++++++++
  .../wayland/wayland_1.22.0.bb                 |  1 +
  2 files changed, 47 insertions(+)
  create mode 100644 
meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch

diff --git 
a/meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch
 
b/meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch
new file mode 100644
index 0000000000..4573bb635a
--- /dev/null
+++ 
b/meta/recipes-graphics/wayland/wayland/0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch
@@ -0,0 +1,46 @@
+From ff8ecbe8891d592e645927659318720f9e190054 Mon Sep 17 00:00:00 2001
+From: Andreas Cord-Landwehr <cordlandw...@kde.org>
+Date: Sun, 6 Feb 2022 17:23:46 +0100
+Subject: [PATCH] Consider pkgconfig sysroot for pkgdatadir
+
+For libs/cflags this is done automatically, but not for manually accessed
+variables. This matches what wayland-protocols does.
+
+Upstream-Status: Submitted 
[https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/272]
+---
+ src/meson.build | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index a8a1d2b..721e151 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -65,7 +65,7 @@ if get_option('scanner')
+               version: meson.project_version(),
+               variables: [
+                       'datarootdir=' + join_paths('${prefix}', 
get_option('datadir')),
+-                      'pkgdatadir=' + join_paths('${datarootdir}', 
meson.project_name()),
++                      'pkgdatadir=' + 
join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name()),
+                       'bindir=' + join_paths('${prefix}', 
get_option('bindir')),
+                       'wayland_scanner=${bindir}/wayland-scanner'
+               ],
+@@ -211,7 +211,7 @@ if get_option('libraries')
+               filebase: 'wayland-server',
+               variables: [
+                       'datarootdir=' + join_paths('${prefix}', 
get_option('datadir')),
+-                      'pkgdatadir=' + join_paths('${datarootdir}', 
meson.project_name())
++                      'pkgdatadir=' + 
join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name())
+               ]
+       )
+
+@@ -250,7 +250,7 @@ if get_option('libraries')
+               filebase: 'wayland-client',
+               variables: [
+                       'datarootdir=' + join_paths('${prefix}', 
get_option('datadir')),
+-                      'pkgdatadir=' + join_paths('${datarootdir}', 
meson.project_name())
++                      'pkgdatadir=' + 
join_paths('${pc_sysrootdir}${datarootdir}', meson.project_name())
+               ]
+       )
+
+--
+2.37.2
diff --git a/meta/recipes-graphics/wayland/wayland_1.22.0.bb 
b/meta/recipes-graphics/wayland/wayland_1.22.0.bb
index 26bad580eb..17e4a0cd98 100644
--- a/meta/recipes-graphics/wayland/wayland_1.22.0.bb
+++ b/meta/recipes-graphics/wayland/wayland_1.22.0.bb
@@ -15,6 +15,7 @@ DEPENDS = "expat libffi wayland-native"
  SRC_URI = 
"https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz
 \
             file://run-ptest \
             file://0001-build-Fix-strndup-detection-on-MinGW.patch \
+           file://0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch \
             "
  SRC_URI[sha256sum] = 
"1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842"

--
2.39.2




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#188729): 
https://lists.openembedded.org/g/openembedded-core/message/188729
Mute This Topic: https://lists.openembedded.org/mt/101689465/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to