wayland: refresh poky backports to support Kirkstone

This commit is contained in:
Andreas Cord-Landwehr
2023-02-15 20:15:47 +01:00
parent f631b70642
commit 8a97b92bf9
11 changed files with 119 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
From b4c64b6f07743e3fb63ce52359bc664ab7d60df0 Mon Sep 17 00:00:00 2001
From: Joshua Watt <JPEWhacker@gmail.com>
Date: Thu, 20 Feb 2020 15:20:45 -0600
Subject: [PATCH] build: Fix strndup detection on MinGW
GCC and meson conspire together to incorrectly detect that strndup()
exists on MinGW as __builtin_strndup, when no such function exists. As a
work around, meson will skip looking for __builtin functions if an
'#include' is in the prefix, so add '#include <string.h>' when looking
for strndup().
See: https://github.com/mesonbuild/meson/issues/3672
Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 3bc25c9..adde7b9 100644
--- a/meson.build
+++ b/meson.build
@@ -38,11 +38,11 @@ have_funcs = [
'prctl',
'memfd_create',
'mremap',
- 'strndup',
]
foreach f: have_funcs
config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f))
endforeach
+config_h.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup'))
config_h.set10('HAVE_XUCRED_CR_PID', cc.has_member('struct xucred', 'cr_pid', prefix : '#include <sys/ucred.h>'))
have_broken_msg_cmsg_cloexec = false
if host_machine.system() == 'freebsd'
--
2.7.4

View File

@@ -0,0 +1,17 @@
#!/bin/sh
export WAYLAND_SCANNER=wayland-scanner
export TEST_DATA_DIR=tests/data
export TEST_OUTPUT_DIR=tests/output
export SED=sed
export WAYLAND_EGL_LIB=/usr/lib/libwayland-egl.so.1
export NM=nm
for i in `ls tests/*-test tests/wayland-egl-symbols-check tests/scanner-test.sh`; do
$i
if [ $? -eq 0 ]; then
echo "PASS: $i"
else
echo "FAIL: $i"
fi
done

View File

@@ -0,0 +1,61 @@
SUMMARY = "Wayland, a protocol between a compositor and clients"
DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \
as well as a C library implementation of that protocol. The compositor can be \
a standalone display server running on Linux kernel modesetting and evdev \
input devices, an X application, or a wayland client itself. The clients can \
be traditional applications, X servers (rootless or fullscreen) or other \
display servers."
HOMEPAGE = "http://wayland.freedesktop.org"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce"
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 \
"
SRC_URI[sha256sum] = "6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
inherit meson pkgconfig ptest
PACKAGECONFIG ??= "dtd-validation"
PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
EXTRA_OEMESON = "-Ddocumentation=false"
EXTRA_OEMESON:class-native = "-Ddocumentation=false"
# Wayland installs a M4 macro for other projects to use, which uses the target
# pkg-config to find files. Replace pkg-config with pkg-config-native.
do_install:append:class-native() {
sed -e 's,PKG_CHECK_MODULES(.*),,g' \
-e 's,$PKG_CONFIG,pkg-config-native,g' \
-i ${D}/${datadir}/aclocal/wayland-scanner.m4
}
do_install_ptest() {
mkdir -p ${D}${PTEST_PATH}/tests/data
cp -rf ${B}/tests/*-test ${B}/tests/*-checker ${D}${PTEST_PATH}/tests
cp -rf ${B}/tests/*-checker ${D}${PTEST_PATH}
cp -rf ${S}/tests/scanner-test.sh ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/data/* ${D}${PTEST_PATH}/tests/data/
cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
}
sysroot_stage_all:append:class-target () {
rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
}
PACKAGES =+ "${PN}-tools"
FILES:${PN}-tools = "${bindir}/wayland-scanner"
FILES:${PN}-dev += "${datadir}/${BPN}/wayland-scanner.mk"
BBCLASSEXTEND = "native nativesdk"
RDEPENDS:${PN}-ptest += "binutils sed ${PN}-tools"