Hello Andreas,

thanks for the explanation, this s fine, but can you add it to the
commit message so it's preserved in history?

I'd say we do need to switch to a maintained implementation of
pkgconfig, and align with regular distros on that, Ross, do you know
if something's holding that back (other than the usual lack of
time/people/patience with chasing corner cases etc).

Alex

On Thu, 5 Oct 2023 at 21:18, Andreas Cord-Landwehr <cordlandw...@kde.org> wrote:
>
> 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 (#188942): 
https://lists.openembedded.org/g/openembedded-core/message/188942
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