summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/wayland
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
commit8c22ff0d8b70d9b12f0487ef696a7e915b9e3173 (patch)
treeefdc32587159d0050a69009bdf2330a531727d95 /meta/recipes-graphics/wayland
parentd412d2747595c1cc4a5e3ca975e3adc31b2f7891 (diff)
downloadpoky-8c22ff0d8b70d9b12f0487ef696a7e915b9e3173.tar.gz
The poky repository master branch is no longer being updated.
You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics/wayland')
-rw-r--r--meta/recipes-graphics/wayland/libinput/run-ptest9
-rw-r--r--meta/recipes-graphics/wayland/libinput_1.29.1.bb48
-rw-r--r--meta/recipes-graphics/wayland/mtdev_1.1.7.bb17
-rw-r--r--meta/recipes-graphics/wayland/required-distro-features.inc8
-rw-r--r--meta/recipes-graphics/wayland/wayland-protocols_1.45.bb25
-rw-r--r--meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb23
-rw-r--r--meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch38
-rw-r--r--meta/recipes-graphics/wayland/wayland/run-ptest17
-rw-r--r--meta/recipes-graphics/wayland/wayland_1.24.0.bb61
-rw-r--r--meta/recipes-graphics/wayland/weston-init.bb112
-rw-r--r--meta/recipes-graphics/wayland/weston-init/init54
-rw-r--r--meta/recipes-graphics/wayland/weston-init/weston-autologin11
-rwxr-xr-xmeta/recipes-graphics/wayland/weston-init/weston-socket.sh20
-rwxr-xr-xmeta/recipes-graphics/wayland/weston-init/weston-start76
-rw-r--r--meta/recipes-graphics/wayland/weston-init/weston.env0
-rw-r--r--meta/recipes-graphics/wayland/weston-init/weston.ini75
-rw-r--r--meta/recipes-graphics/wayland/weston-init/weston.service71
-rw-r--r--meta/recipes-graphics/wayland/weston-init/weston.socket14
-rw-r--r--meta/recipes-graphics/wayland/weston/systemd-notify.weston-start9
-rw-r--r--meta/recipes-graphics/wayland/weston/weston.desktop9
-rw-r--r--meta/recipes-graphics/wayland/weston/weston.pngbin2383 -> 0 bytes
-rw-r--r--meta/recipes-graphics/wayland/weston/xwayland.weston-start6
-rw-r--r--meta/recipes-graphics/wayland/weston_14.0.2.bb142
23 files changed, 0 insertions, 845 deletions
diff --git a/meta/recipes-graphics/wayland/libinput/run-ptest b/meta/recipes-graphics/wayland/libinput/run-ptest
deleted file mode 100644
index d11e6eb25b..0000000000
--- a/meta/recipes-graphics/wayland/libinput/run-ptest
+++ /dev/null
@@ -1,9 +0,0 @@
1#!/bin/sh
2
3/usr/libexec/libinput/libinput-test-suite -j1
4if [ $? -eq 0 ]; then
5 echo 'PASS: libinput-test-suite'
6else
7 echo 'FAIL: libinput-test-suite'
8fi
9
diff --git a/meta/recipes-graphics/wayland/libinput_1.29.1.bb b/meta/recipes-graphics/wayland/libinput_1.29.1.bb
deleted file mode 100644
index 79df97ac06..0000000000
--- a/meta/recipes-graphics/wayland/libinput_1.29.1.bb
+++ /dev/null
@@ -1,48 +0,0 @@
1SUMMARY = "Library to handle input devices in Wayland compositors"
2DESCRIPTION = "libinput is a library to handle input devices in Wayland \
3compositors and to provide a generic X.Org input driver. It provides \
4device detection, device handling, input device event processing and \
5abstraction so minimize the amount of custom input code compositors need to \
6provide the common set of functionality that users expect."
7HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
8SECTION = "libs"
9
10LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a"
12
13DEPENDS = "libevdev udev mtdev"
14
15SRC_URI = "git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;branch=1.29-branch;tag=${PV} \
16 file://run-ptest \
17 "
18SRCREV = "dc2c1ad181be88e1487468f7ca6f9d320981f133"
19
20UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
21
22inherit meson pkgconfig lib_package ptest
23
24# Patch out build directory, otherwise it leaks into ptest binary
25do_configure:append() {
26 sed -i -e "s,${WORKDIR},,g" config.h
27 if [ -e "litest-config.h" ]; then
28 sed -i -e "s,${WORKDIR},,g" litest-config.h
29 fi
30}
31
32PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
33PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
34PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3 wayland-native"
35PACKAGECONFIG[tests] = "-Dtests=true -Dinstall-tests=true,-Dtests=false -Dinstall-tests=false"
36
37UDEVDIR = "`pkg-config --variable=udevdir udev`"
38
39EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
40 -Ddocumentation=false \
41 -Dzshcompletiondir=no"
42
43# package name changed in 1.8.1 upgrade: make sure package upgrades work
44RPROVIDES:${PN} = "libinput"
45RREPLACES:${PN} = "libinput"
46RCONFLICTS:${PN} = "libinput"
47
48FILES:${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite"
diff --git a/meta/recipes-graphics/wayland/mtdev_1.1.7.bb b/meta/recipes-graphics/wayland/mtdev_1.1.7.bb
deleted file mode 100644
index 24803c4238..0000000000
--- a/meta/recipes-graphics/wayland/mtdev_1.1.7.bb
+++ /dev/null
@@ -1,17 +0,0 @@
1SUMMARY = "Multitouch Protocol Translation Library"
2
3DESCRIPTION = "mtdev is a library which transforms all variants of kernel \
4multitouch events to the slotted type B protocol. The events put into mtdev may \
5be from any MT device, specifically type A without contact tracking, type A with \
6contact tracking, or type B with contact tracking"
7
8HOMEPAGE = "http://bitmath.org/code/mtdev/"
9SECTION = "libs"
10
11LICENSE = "MIT"
12LIC_FILES_CHKSUM = "file://COPYING;md5=ea6bd0268bb0fcd6b27698616ceee5d6"
13
14SRC_URI = "http://bitmath.org/code/${BPN}/${BP}.tar.bz2"
15SRC_URI[sha256sum] = "a107adad2101fecac54ac7f9f0e0a0dd155d954193da55c2340c97f2ff1d814e"
16
17inherit autotools pkgconfig
diff --git a/meta/recipes-graphics/wayland/required-distro-features.inc b/meta/recipes-graphics/wayland/required-distro-features.inc
deleted file mode 100644
index bb4a0e8ebd..0000000000
--- a/meta/recipes-graphics/wayland/required-distro-features.inc
+++ /dev/null
@@ -1,8 +0,0 @@
1# distro features required by weston recipes
2
3inherit features_check
4
5# requires pam enabled if started via systemd
6#
7REQUIRED_DISTRO_FEATURES = "wayland opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
8
diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.45.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.45.bb
deleted file mode 100644
index d98ccf964f..0000000000
--- a/meta/recipes-graphics/wayland/wayland-protocols_1.45.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1SUMMARY = "Collection of additional Wayland protocols"
2DESCRIPTION = "Wayland protocols that add functionality not \
3available in the Wayland core protocol. Such protocols either add \
4completely new functionality, or extend the functionality of some other \
5protocol either in Wayland core, or some other protocol in \
6wayland-protocols."
7HOMEPAGE = "http://wayland.freedesktop.org"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
10 file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
11
12SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
13SRC_URI[sha256sum] = "4d2b2a9e3e099d017dc8107bf1c334d27bb87d9e4aff19a0c8d856d17cd41ef0"
14
15UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
16UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)"
17
18DEPENDS += "wayland-native"
19
20inherit meson pkgconfig allarch
21
22EXTRA_OEMESON += "-Dtests=false"
23
24BBCLASSEXTEND = "native nativesdk"
25
diff --git a/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb b/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb
deleted file mode 100644
index 59d414a0a6..0000000000
--- a/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1SUMMARY = "Wayland utilities"
2DESCRIPTION = "Wayland-utils contains (for now) \
3wayland-info, a utility for displaying information about the Wayland \
4protocols supported by a Wayland compositor. \
5wayland-info is basically a standalone version of weston-info as found \
6in weston repository. "
7HOMEPAGE = "http://wayland.freedesktop.org"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \
10 "
11
12SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
13SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4"
14
15UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags"
16UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)"
17
18inherit meson pkgconfig
19
20DEPENDS += "wayland wayland-native wayland-protocols"
21
22PACKAGECONFIG ??= "drm"
23PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,libdrm"
diff --git a/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch b/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch
deleted file mode 100644
index c6ddf8a1f9..0000000000
--- a/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From a90bfa622f7323074c715674b368cba80bc7d196 Mon Sep 17 00:00:00 2001
2From: Joshua Watt <JPEWhacker@gmail.com>
3Date: Thu, 20 Feb 2020 15:20:45 -0600
4Subject: [PATCH] build: Fix strndup detection on MinGW
5
6GCC and meson conspire together to incorrectly detect that strndup()
7exists on MinGW as __builtin_strndup, when no such function exists. As a
8work around, meson will skip looking for __builtin functions if an
9'#include' is in the prefix, so add '#include <string.h>' when looking
10for strndup().
11
12See: https://github.com/mesonbuild/meson/issues/3672
13
14Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63]
15
16Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
17Signed-off-by: Denys Dmytriyenko <denis@denix.org>
18---
19 meson.build | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/meson.build b/meson.build
23index 8e28f2a..b56ba91 100644
24--- a/meson.build
25+++ b/meson.build
26@@ -45,11 +45,11 @@ have_funcs = [
27 'prctl',
28 'memfd_create',
29 'mremap',
30- 'strndup',
31 ]
32 foreach f: have_funcs
33 config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f))
34 endforeach
35+config_h.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup'))
36 config_h.set10('HAVE_XUCRED_CR_PID', cc.has_member('struct xucred', 'cr_pid', prefix : '#include <sys/ucred.h>'))
37 have_broken_msg_cmsg_cloexec = false
38 if host_machine.system() == 'freebsd'
diff --git a/meta/recipes-graphics/wayland/wayland/run-ptest b/meta/recipes-graphics/wayland/wayland/run-ptest
deleted file mode 100644
index 7e8d9de046..0000000000
--- a/meta/recipes-graphics/wayland/wayland/run-ptest
+++ /dev/null
@@ -1,17 +0,0 @@
1#!/bin/sh
2
3export WAYLAND_SCANNER=wayland-scanner
4export TEST_DATA_DIR=tests/data
5export TEST_OUTPUT_DIR=tests/output
6export SED=sed
7export WAYLAND_EGL_LIB=/usr/lib/libwayland-egl.so.1
8export NM=nm
9
10for i in `ls tests/*-test tests/wayland-egl-symbols-check tests/scanner-test.sh`; do
11 $i
12 if [ $? -eq 0 ]; then
13 echo "PASS: $i"
14 else
15 echo "FAIL: $i"
16 fi
17done
diff --git a/meta/recipes-graphics/wayland/wayland_1.24.0.bb b/meta/recipes-graphics/wayland/wayland_1.24.0.bb
deleted file mode 100644
index 5fb7951781..0000000000
--- a/meta/recipes-graphics/wayland/wayland_1.24.0.bb
+++ /dev/null
@@ -1,61 +0,0 @@
1SUMMARY = "Wayland, a protocol between a compositor and clients"
2DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \
3as well as a C library implementation of that protocol. The compositor can be \
4a standalone display server running on Linux kernel modesetting and evdev \
5input devices, an X application, or a wayland client itself. The clients can \
6be traditional applications, X servers (rootless or fullscreen) or other \
7display servers."
8HOMEPAGE = "http://wayland.freedesktop.org"
9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
11 file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce"
12
13DEPENDS = "expat libffi wayland-native"
14
15SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
16 file://run-ptest \
17 file://0001-build-Fix-strndup-detection-on-MinGW.patch \
18 "
19SRC_URI[sha256sum] = "82892487a01ad67b334eca83b54317a7c86a03a89cfadacfef5211f11a5d0536"
20
21UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags"
22UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
23
24inherit meson pkgconfig ptest
25
26PACKAGECONFIG ??= "dtd-validation"
27PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
28
29EXTRA_OEMESON = "-Ddocumentation=false"
30EXTRA_OEMESON:class-native = "-Ddocumentation=false"
31
32# Wayland installs a M4 macro for other projects to use, which uses the target
33# pkg-config to find files. Replace pkg-config with pkg-config-native.
34do_install:append:class-native() {
35 sed -e 's,PKG_CHECK_MODULES(.*),,g' \
36 -e 's,$PKG_CONFIG,pkg-config-native,g' \
37 -i ${D}/${datadir}/aclocal/wayland-scanner.m4
38}
39
40do_install_ptest() {
41 mkdir -p ${D}${PTEST_PATH}/tests/data
42 cp -rf ${B}/tests/*-test ${B}/tests/*-checker ${D}${PTEST_PATH}/tests
43 cp -rf ${B}/tests/*-checker ${D}${PTEST_PATH}
44 cp -rf ${S}/tests/scanner-test.sh ${D}${PTEST_PATH}/tests
45 cp -rf ${S}/tests/data/* ${D}${PTEST_PATH}/tests/data/
46 cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/
47}
48
49sysroot_stage_all:append:class-target () {
50 rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
51 cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
52}
53
54PACKAGES =+ "${PN}-tools"
55
56FILES:${PN}-tools = "${bindir}/wayland-scanner"
57FILES:${PN}-dev += "${datadir}/${BPN}/wayland-scanner.mk"
58
59BBCLASSEXTEND = "native nativesdk"
60
61RDEPENDS:${PN}-ptest += "binutils sed ${PN}-tools"
diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb
deleted file mode 100644
index e236bdb253..0000000000
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ /dev/null
@@ -1,112 +0,0 @@
1SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5PACKAGE_ARCH = "${MACHINE_ARCH}"
6
7SRC_URI = "file://init \
8 file://weston.env \
9 file://weston.ini \
10 file://weston.service \
11 file://weston.socket \
12 file://weston-socket.sh \
13 file://weston-autologin \
14 file://weston-start"
15
16S = "${UNPACKDIR}"
17
18PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}"
19PACKAGECONFIG:append:qemuriscv64 = " use-pixman"
20PACKAGECONFIG:append:qemuppc64 = " use-pixman"
21
22PACKAGECONFIG[xwayland] = ",,"
23PACKAGECONFIG[no-idle-timeout] = ",,"
24PACKAGECONFIG[use-pixman] = ",,"
25
26DEFAULTBACKEND ??= ""
27DEFAULTBACKEND:qemuall ?= "drm"
28WESTON_USER ??= "weston"
29WESTON_USER_HOME ??= "/home/${WESTON_USER}"
30
31do_install() {
32 # Install weston-start script
33 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
34 install -Dm755 ${S}/weston-start ${D}${bindir}/weston-start
35 sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
36 sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
37 install -Dm755 ${S}/init ${D}/${sysconfdir}/init.d/weston
38 sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston
39 fi
40
41 # Install Weston systemd service
42 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
43 install -D -p -m0644 ${S}/weston.service ${D}${systemd_system_unitdir}/weston.service
44 install -D -p -m0644 ${S}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
45 install -D -p -m0644 ${S}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh
46 sed -i -e s:@sysconfdir@:${sysconfdir}:g \
47 -e s:@bindir@:${bindir}:g \
48 -e s:@localstatedir@:${localstatedir}:g \
49 -e s:@runtimedir@:${runtimedir}:g \
50 -e s:@WESTON_USER@:${WESTON_USER}:g \
51 -e s:@WESTON_USER_HOME@:${WESTON_USER_HOME}:g \
52 ${D}${systemd_system_unitdir}/weston.service \
53 ${D}${systemd_system_unitdir}/weston.socket \
54 ${D}${sysconfdir}/profile.d/weston-socket.sh
55 fi
56
57 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
58 install -D -p -m0644 ${S}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
59 fi
60
61 install -D -p -m0644 ${S}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
62 install -Dm644 ${S}/weston.env ${D}${sysconfdir}/default/weston
63
64 if [ -n "${DEFAULTBACKEND}" ]; then
65 sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini
66 fi
67
68 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
69 sed -i -e "/^\[core\]/a xwayland=true" ${D}${sysconfdir}/xdg/weston/weston.ini
70 fi
71
72 if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then
73 sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
74 fi
75
76 if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then
77 sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini
78 fi
79
80 install -dm 755 -o ${WESTON_USER} -g ${WESTON_USER} ${D}/${WESTON_USER_HOME}
81}
82
83INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
84
85inherit update-rc.d systemd useradd
86
87USERADD_PACKAGES = "${PN}"
88
89# rdepends on weston which depends on virtual/egl
90#
91require ${THISDIR}/required-distro-features.inc
92
93RDEPENDS:${PN} = "weston kbd ${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'weston-xwayland', '', d)}"
94
95INITSCRIPT_NAME = "weston"
96INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
97
98FILES:${PN} += "\
99 ${sysconfdir}/xdg/weston/weston.ini \
100 ${sysconfdir}/profile.d/weston-socket.sh \
101 ${systemd_system_unitdir}/weston.service \
102 ${systemd_system_unitdir}/weston.socket \
103 ${sysconfdir}/default/weston \
104 ${sysconfdir}/pam.d/ \
105 ${WESTON_USER_HOME} \
106 "
107
108CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
109
110SYSTEMD_SERVICE:${PN} = "weston.service weston.socket"
111USERADD_PARAM:${PN} = "--home ${WESTON_USER_HOME} --shell /bin/sh --user-group -G video,input,render,seat,wayland ${WESTON_USER}"
112GROUPADD_PARAM:${PN} = "-r wayland; -r render; -r seat"
diff --git a/meta/recipes-graphics/wayland/weston-init/init b/meta/recipes-graphics/wayland/weston-init/init
deleted file mode 100644
index a5c54e001e..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/init
+++ /dev/null
@@ -1,54 +0,0 @@
1#!/bin/sh
2#
3### BEGIN INIT INFO
4# Provides: weston
5# Required-Start: $local_fs $remote_fs
6# Required-Stop: $local_fs $remote_fs
7# Default-Start: 2 3 4 5
8# Default-Stop: 0 1 6
9### END INIT INFO
10
11if test -e /etc/default/weston ; then
12 . /etc/default/weston
13fi
14
15killproc() {
16 pid=`/bin/pidof $1`
17 [ "$pid" != "" ] && kill $pid
18}
19
20read CMDLINE < /proc/cmdline
21for x in $CMDLINE; do
22 case $x in
23 weston=false)
24 echo "Weston disabled"
25 exit 0;
26 ;;
27 esac
28done
29
30case "$1" in
31 start)
32 . /etc/profile
33 export HOME=ROOTHOME
34
35 WESTON_USER=weston weston-start $OPTARGS &
36 ;;
37
38 stop)
39 echo "Stopping Weston"
40 killproc weston
41 ;;
42
43 restart)
44 $0 stop
45 sleep 1
46 $0 start
47 ;;
48
49 *)
50 echo "usage: $0 { start | stop | restart }"
51 ;;
52esac
53
54exit 0
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-autologin b/meta/recipes-graphics/wayland/weston-init/weston-autologin
deleted file mode 100644
index f6e6d106de..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/weston-autologin
+++ /dev/null
@@ -1,11 +0,0 @@
1auth required pam_nologin.so
2auth required pam_unix.so try_first_pass nullok
3
4account required pam_nologin.so
5account required pam_unix.so
6
7session required pam_env.so
8session required pam_unix.so
9-session optional pam_systemd.so type=wayland class=user desktop=weston
10-session optional pam_loginuid.so
11
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-socket.sh b/meta/recipes-graphics/wayland/weston-init/weston-socket.sh
deleted file mode 100755
index 8f652862da..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/weston-socket.sh
+++ /dev/null
@@ -1,20 +0,0 @@
1#!/bin/sh
2
3# set weston variables for use with global weston socket
4global_socket="@runtimedir@/wayland-0"
5if [ -e "$global_socket" ]; then
6 weston_group=$(stat -c "%G" "$global_socket")
7 if [ "$(id -u)" = "0" ]; then
8 export WAYLAND_DISPLAY="$global_socket"
9 else
10 case "$(groups "$USER")" in
11 *"$weston_group"*)
12 export WAYLAND_DISPLAY="$global_socket"
13 ;;
14 *)
15 ;;
16 esac
17 fi
18 unset weston_group
19fi
20unset global_socket
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start b/meta/recipes-graphics/wayland/weston-init/weston-start
deleted file mode 100755
index 3b13a0047a..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/weston-start
+++ /dev/null
@@ -1,76 +0,0 @@
1#!/bin/sh
2# Copyright (C) 2016 O.S. Systems Software LTDA.
3# Copyright (C) 2016 Freescale Semiconductor
4
5export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
6
7usage() {
8 cat <<EOF
9 $0 [<weston options>]
10EOF
11}
12
13## Module support
14modules_dir=@DATADIR@/weston-start
15
16# Add weston extra argument
17add_weston_argument() {
18 weston_args="$weston_args $1"
19}
20
21## Add module to --modules argument
22add_weston_module() {
23 if [[ "x${weston_modules}" == "x" ]]; then
24 weston_modules="--modules "
25 fi;
26 weston_modules+="${1},"
27}
28
29if [ -n "$WAYLAND_DISPLAY" ]; then
30 echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet."
31 exit 1
32fi
33
34if [ -n "$WESTON_USER" ]; then
35 if [ -z "$WESTON_GROUP" ]; then
36 # no explicit WESTON_GROUP given, therefore use WESTON_USER
37 export WESTON_GROUP="${WESTON_USER}"
38 fi
39fi
40
41weston_args=$*
42
43# Load and run modules
44if [ -d "$modules_dir" ]; then
45 for m in "$modules_dir"/*; do
46 # Skip backup files
47 if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then
48 continue
49 fi
50
51 # process module
52 . $m
53 if [[ x"{$weston_modules}" != "x" ]]; then
54 add_weston_argument "${weston_modules}"
55 fi;
56 done
57fi
58
59if test -z "$XDG_RUNTIME_DIR"; then
60 export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}`
61 if test -d "$XDG_RUNTIME_DIR"; then
62 # Check permissions on existing directory
63 if [ "$(stat -c %u-%a "$XDG_RUNTIME_DIR")" != "$(id -u ${WESTON_USER})-700" ]; then
64 echo "ERROR: $XDG_RUNTIME_DIR has incorrect permissions"
65 exit 1
66 fi
67 else
68 mkdir --mode 0700 --parents $XDG_RUNTIME_DIR
69 if [ -n "$WESTON_USER" ]
70 then
71 chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR
72 fi
73 fi
74fi
75
76su -c "XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR weston $weston_args --log=/tmp/weston.log" $WESTON_USER
diff --git a/meta/recipes-graphics/wayland/weston-init/weston.env b/meta/recipes-graphics/wayland/weston-init/weston.env
deleted file mode 100644
index e69de29bb2..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/weston.env
+++ /dev/null
diff --git a/meta/recipes-graphics/wayland/weston-init/weston.ini b/meta/recipes-graphics/wayland/weston-init/weston.ini
deleted file mode 100644
index 6bd5aef55a..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/weston.ini
+++ /dev/null
@@ -1,75 +0,0 @@
1# configuration file for Weston
2
3[core]
4#modules=xwayland.so,cms-colord.so
5#shell=desktop-shell.so
6#gbm-format=xrgb2101010
7require-input=false
8
9#[shell]
10#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
11#background-color=0xff002244
12#background-type=tile
13#clock-format=minutes
14#panel-color=0x90ff0000
15#locking=true
16#animation=zoom
17#startup-animation=fade
18#binding-modifier=ctrl
19#num-workspaces=6
20#cursor-theme=whiteglass
21#cursor-size=24
22
23#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
24#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
25#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
26#animation=fade
27
28#[launcher]
29#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
30#path=/usr/bin/gnome-terminal
31
32#[launcher]
33#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
34#path=/usr/bin/weston-terminal
35
36#[launcher]
37#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png
38#path=/usr/bin/google-chrome
39
40#[launcher]
41#icon=/usr/share/icons/gnome/24x24/apps/arts.png
42#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower
43
44#[input-method]
45#path=/usr/libexec/weston-keyboard
46
47#[output]
48#name=LVDS1
49#mode=1680x1050
50#transform=90
51#icc_profile=/usr/share/color/icc/colord/Bluish.icc
52
53#[output]
54#name=VGA1
55#mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
56#transform=flipped
57
58#[output]
59#name=X1
60#mode=1024x768
61#transform=flipped-90
62
63#[libinput]
64#enable_tap=true
65
66#[touchpad]
67#constant_accel_factor = 50
68#min_accel_factor = 0.16
69#max_accel_factor = 1.0
70
71[screen-share]
72command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
73
74#[xwayland]
75#path=/usr/bin/Xwayland
diff --git a/meta/recipes-graphics/wayland/weston-init/weston.service b/meta/recipes-graphics/wayland/weston-init/weston.service
deleted file mode 100644
index b7e845e88d..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/weston.service
+++ /dev/null
@@ -1,71 +0,0 @@
1# This is a system unit for launching Weston with auto-login as the
2# user configured here.
3#
4# Weston must be built with systemd support, and your weston.ini must load
5# the plugin systemd-notify.so.
6[Unit]
7Description=Weston, a Wayland compositor, as a system service
8Documentation=man:weston(1) man:weston.ini(5)
9Documentation=http://wayland.freedesktop.org/
10
11# Make sure we are started after logins are permitted.
12Requires=systemd-user-sessions.service
13After=systemd-user-sessions.service
14
15# If Plymouth is used, we want to start when it is on its way out.
16After=plymouth-quit-wait.service
17
18# D-Bus is necessary for contacting logind. Logind is required.
19Wants=dbus.socket
20After=dbus.socket
21
22# Ensure the socket is present
23Requires=weston.socket
24
25# Since we are part of the graphical session, make sure we are started before
26# it is complete.
27Before=graphical.target
28
29# Prevent starting on systems without virtual consoles, Weston requires one
30# for now.
31ConditionPathExists=/dev/tty0
32
33[Service]
34# Requires systemd-notify.so Weston plugin.
35Type=notify
36EnvironmentFile=@sysconfdir@/default/weston
37ExecStart=@bindir@/weston --modules=systemd-notify.so
38
39# Optional watchdog setup
40#TimeoutStartSec=60
41#WatchdogSec=20
42
43# The user to run Weston as.
44User=@WESTON_USER@
45Group=@WESTON_USER@
46
47# Make sure the working directory is the users home directory
48WorkingDirectory=@WESTON_USER_HOME@
49
50# Set up a full user session for the user, required by Weston.
51PAMName=weston-autologin
52
53# A virtual terminal is needed.
54TTYPath=/dev/tty7
55TTYReset=yes
56TTYVHangup=yes
57TTYVTDisallocate=yes
58
59# Fail to start if not controlling the tty.
60StandardInput=tty-fail
61StandardOutput=journal
62StandardError=journal
63
64# Log this user with utmp, letting it show up with commands 'w' and 'who'.
65UtmpIdentifier=tty7
66UtmpMode=user
67
68[Install]
69# Note: If you only want weston to start on-demand, remove this line with a
70# service drop file
71WantedBy=graphical.target
diff --git a/meta/recipes-graphics/wayland/weston-init/weston.socket b/meta/recipes-graphics/wayland/weston-init/weston.socket
deleted file mode 100644
index a7d461ee30..0000000000
--- a/meta/recipes-graphics/wayland/weston-init/weston.socket
+++ /dev/null
@@ -1,14 +0,0 @@
1[Unit]
2Description=Weston socket
3RequiresMountsFor=@runtimedir@
4
5[Socket]
6ListenStream=@runtimedir@/wayland-0
7SocketMode=0775
8SocketUser=@WESTON_USER@
9SocketGroup=wayland
10RemoveOnStop=yes
11
12[Install]
13WantedBy=sockets.target
14
diff --git a/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start b/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start
deleted file mode 100644
index a97e7b38d9..0000000000
--- a/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start
+++ /dev/null
@@ -1,9 +0,0 @@
1#!/bin/sh
2
3# SPDX-FileCopyrightText: Huawei Inc.
4# SPDX-License-Identifier: Apache-2.0
5
6
7if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then
8 add_weston_module "systemd-notify.so"
9fi
diff --git a/meta/recipes-graphics/wayland/weston/weston.desktop b/meta/recipes-graphics/wayland/weston/weston.desktop
deleted file mode 100644
index 1086ae8bf6..0000000000
--- a/meta/recipes-graphics/wayland/weston/weston.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
1[Desktop Entry]
2Encoding=UTF-8
3Type=Application
4Name=Weston
5Comment=Wayland Compostitor
6Exec=weston
7Icon=weston
8Terminal=false
9Categories=Utility;
diff --git a/meta/recipes-graphics/wayland/weston/weston.png b/meta/recipes-graphics/wayland/weston/weston.png
deleted file mode 100644
index ea8b7e0e23..0000000000
--- a/meta/recipes-graphics/wayland/weston/weston.png
+++ /dev/null
Binary files differ
diff --git a/meta/recipes-graphics/wayland/weston/xwayland.weston-start b/meta/recipes-graphics/wayland/weston/xwayland.weston-start
deleted file mode 100644
index 342ac8d129..0000000000
--- a/meta/recipes-graphics/wayland/weston/xwayland.weston-start
+++ /dev/null
@@ -1,6 +0,0 @@
1#!/bin/sh
2
3if type Xwayland >/dev/null 2>/dev/null; then
4 mkdir -m 775 -p /tmp/.X11-unix
5 chown root:video /tmp/.X11-unix
6fi
diff --git a/meta/recipes-graphics/wayland/weston_14.0.2.bb b/meta/recipes-graphics/wayland/weston_14.0.2.bb
deleted file mode 100644
index 451fb961a1..0000000000
--- a/meta/recipes-graphics/wayland/weston_14.0.2.bb
+++ /dev/null
@@ -1,142 +0,0 @@
1SUMMARY = "Weston, a Wayland compositor"
2DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
3HOMEPAGE = "http://wayland.freedesktop.org"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
6 file://libweston/compositor.c;endline=27;md5=eb6d5297798cabe2ddc65e2af519bcf0 \
7 "
8
9SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
10 file://weston.png \
11 file://weston.desktop \
12 file://xwayland.weston-start \
13 file://systemd-notify.weston-start \
14 "
15
16SRC_URI[sha256sum] = "b47216b3530da76d02a3a1acbf1846a9cd41d24caa86448f9c46f78f20b6e0ac"
17
18UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
19UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
20
21inherit meson pkgconfig useradd
22
23# depends on virtual/egl
24#
25require ${THISDIR}/required-distro-features.inc
26
27DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
28DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native libdisplay-info"
29
30LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}"
31
32WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
33
34EXTRA_OEMESON += "-Dpipewire=false -Dtests=false"
35
36PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
37 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
38 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
39 ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
40 image-jpeg \
41 screenshare \
42 shell-desktop \
43 shell-fullscreen \
44 shell-ivi \
45 shell-kiosk \
46 "
47
48# Can be 'damage', 'im', 'egl', 'shm', 'touch', 'dmabuf-feedback', 'dmabuf-v4l', 'dmabuf-egl' or 'all'
49SIMPLECLIENTS ?= "all"
50
51#
52# Compositor choices
53#
54# Weston on KMS
55PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev seatd virtual/egl virtual/libgles2 virtual/libgbm mtdev"
56# Weston on Wayland (nested Weston)
57PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
58# Weston on X11
59PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcursor"
60# Headless Weston
61PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
62# Weston on RDP
63PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp,freerdp"
64# VA-API desktop recorder
65PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
66# Weston with EGL support
67PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl"
68# Weston with lcms support
69PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms"
70# Weston with webp support
71PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
72# Weston with systemd support
73PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus"
74# Weston with Xwayland support (requires X11 and Wayland)
75PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xwayland"
76# Clients support
77PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
78# Virtual remote output with GStreamer on DRM backend
79PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
80# Weston with screen-share support
81PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false"
82# Traditional desktop shell
83PACKAGECONFIG[shell-desktop] = "-Dshell-desktop=true,-Dshell-desktop=false"
84# Fullscreen shell
85PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=false"
86# In-Vehicle Infotainment (IVI) shell
87PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
88# Kiosk shell
89PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
90# JPEG image loading support
91PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
92# screencasting via PipeWire
93PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire"
94# VNC remote screensharing
95PACKAGECONFIG[vnc] = "-Dbackend-vnc=true,-Dbackend-vnc=false,neatvnc libpam"
96
97do_install:append() {
98 # Weston doesn't need the .la files to load modules, so wipe them
99 rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
100
101 # If X11, ship a desktop file to launch it
102 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
103 install -d ${D}${datadir}/applications
104 install ${UNPACKDIR}/weston.desktop ${D}${datadir}/applications
105
106 install -d ${D}${datadir}/icons/hicolor/48x48/apps
107 install ${UNPACKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
108 fi
109
110 if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
111 install -Dm 644 ${UNPACKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
112 fi
113
114 if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
115 install -Dm 644 ${UNPACKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
116 fi
117
118 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
119 chmod u+s ${D}${bindir}/weston-launch
120 fi
121}
122
123PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
124 libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
125
126FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
127FILES:${PN} = "${sysconfdir} ${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
128
129FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
130SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
131
132FILES:${PN}-examples = "${bindir}/*"
133
134FILES:${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
135RDEPENDS:${PN}-xwayland += "xwayland"
136
137RDEPENDS:${PN} += "xkeyboard-config"
138RRECOMMENDS:${PN} = "weston-init liberation-fonts"
139RDEPENDS:${PN}-dev += "wayland-protocols-dev"
140
141USERADD_PACKAGES = "${PN}"
142GROUPADD_PARAM:${PN} = "--system weston-launch"