xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Wayland, a protocol between a compositor and clients"
2*4882a593SmuzhiyunDESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \
3*4882a593Smuzhiyunas well as a C library implementation of that protocol. The compositor can be \
4*4882a593Smuzhiyuna standalone display server running on Linux kernel modesetting and evdev \
5*4882a593Smuzhiyuninput devices, an X application, or a wayland client itself. The clients can \
6*4882a593Smuzhiyunbe traditional applications, X servers (rootless or fullscreen) or other \
7*4882a593Smuzhiyundisplay servers."
8*4882a593SmuzhiyunHOMEPAGE = "http://wayland.freedesktop.org"
9*4882a593SmuzhiyunLICENSE = "MIT"
10*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
11*4882a593Smuzhiyun                    file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce"
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunDEPENDS = "expat libffi wayland-native"
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunSRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
16*4882a593Smuzhiyun           file://run-ptest \
17*4882a593Smuzhiyun           file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \
18*4882a593Smuzhiyun           file://0001-build-Fix-strndup-detection-on-MinGW.patch \
19*4882a593Smuzhiyun           file://CVE-2021-3782.patch \
20*4882a593Smuzhiyun           "
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunSRC_URI[sha256sum] = "b8a034154c7059772e0fdbd27dbfcda6c732df29cae56a82274f6ec5d7cd8725"
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
25*4882a593Smuzhiyun
26*4882a593Smuzhiyuninherit meson pkgconfig ptest
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunPACKAGECONFIG ??= "dtd-validation"
29*4882a593SmuzhiyunPACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunEXTRA_OEMESON = "-Ddocumentation=false"
32*4882a593SmuzhiyunEXTRA_OEMESON:class-native = "-Ddocumentation=false"
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun# Wayland installs a M4 macro for other projects to use, which uses the target
35*4882a593Smuzhiyun# pkg-config to find files.  Replace pkg-config with pkg-config-native.
36*4882a593Smuzhiyundo_install:append:class-native() {
37*4882a593Smuzhiyun  sed -e 's,PKG_CHECK_MODULES(.*),,g' \
38*4882a593Smuzhiyun      -e 's,$PKG_CONFIG,pkg-config-native,g' \
39*4882a593Smuzhiyun      -i ${D}/${datadir}/aclocal/wayland-scanner.m4
40*4882a593Smuzhiyun}
41*4882a593Smuzhiyun
42*4882a593Smuzhiyundo_install_ptest() {
43*4882a593Smuzhiyun    mkdir -p ${D}${PTEST_PATH}/tests/data
44*4882a593Smuzhiyun    cp -rf ${B}/tests/*-test ${B}/tests/*-checker ${D}${PTEST_PATH}/tests
45*4882a593Smuzhiyun    cp -rf ${B}/tests/*-checker ${D}${PTEST_PATH}
46*4882a593Smuzhiyun    cp -rf ${S}/tests/scanner-test.sh ${D}${PTEST_PATH}/tests
47*4882a593Smuzhiyun    cp -rf ${S}/tests/data/* ${D}${PTEST_PATH}/tests/data/
48*4882a593Smuzhiyun    cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
49*4882a593Smuzhiyun}
50*4882a593Smuzhiyun
51*4882a593Smuzhiyunsysroot_stage_all:append:class-target () {
52*4882a593Smuzhiyun	rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
53*4882a593Smuzhiyun	cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
54*4882a593Smuzhiyun}
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunPACKAGES =+ "${PN}-tools"
57*4882a593Smuzhiyun
58*4882a593SmuzhiyunFILES:${PN}-tools = "${bindir}/wayland-scanner"
59*4882a593SmuzhiyunFILES:${PN}-dev += "${datadir}/${BPN}/wayland-scanner.mk"
60*4882a593Smuzhiyun
61*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk"
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "binutils sed ${PN}-tools"
64