Message ID | 20231011191959.3666657-1-cordlandwehr@kde.org |
---|---|
State | Accepted, archived |
Commit | 428ffec520ff25b2a29d506d7af9e6ba8a150d8f |
Headers | show |
Series | [v2] wayland: consider pkgconfig sysroot for pkgdatadir | expand |
On 2023-10-11 15:19, Andreas Cord-Landwehr wrote: > Fix pkgconfig find calls to find wayland protocol XML files, which are > installed into /usr/share/wayland/. This patch fixes specifically the > call `pkg-config --variable=pkgdatadir wayland-client` to locate the > folder containing wayland.xml. Without the patch, only the host system's > data dir /usr/share/wayland is reported (and that only when > wayland-protocols dev package is available) thus leaking a path from the > host system into the recipe build. > > Access to wayland.xml is required by projects that generate wayland API > via waylandscanner like KDE's kwin or layer-shell-qt. > > See further details of upstream discussion in: > https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/102 > > Signed-off-by: Andreas Cord-Landwehr <cordlandwehr@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 <cordlandwehr@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] There should be a Signed-off-by tag here as well. Can you add one and resubmit? > +--- > + 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" > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#188970): https://lists.openembedded.org/g/openembedded-core/message/188970 > Mute This Topic: https://lists.openembedded.org/mt/101904034/7611679 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [tgamblin@baylibre.com] > -=-=-=-=-=-=-=-=-=-=-=- >
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 <cordlandwehr@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"
Fix pkgconfig find calls to find wayland protocol XML files, which are installed into /usr/share/wayland/. This patch fixes specifically the call `pkg-config --variable=pkgdatadir wayland-client` to locate the folder containing wayland.xml. Without the patch, only the host system's data dir /usr/share/wayland is reported (and that only when wayland-protocols dev package is available) thus leaking a path from the host system into the recipe build. Access to wayland.xml is required by projects that generate wayland API via waylandscanner like KDE's kwin or layer-shell-qt. See further details of upstream discussion in: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/102 Signed-off-by: Andreas Cord-Landwehr <cordlandwehr@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