Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/libexec/libinput/libinput-test-suite -j1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo 'PASS: libinput-test-suite'
|
||||
else
|
||||
echo 'FAIL: libinput-test-suite'
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
SUMMARY = "Library to handle input devices in Wayland compositors"
|
||||
DESCRIPTION = "libinput is a library to handle input devices in Wayland \
|
||||
compositors and to provide a generic X.Org input driver. It provides \
|
||||
device detection, device handling, input device event processing and \
|
||||
abstraction so minimize the amount of custom input code compositors need to \
|
||||
provide the common set of functionality that users expect."
|
||||
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
|
||||
SECTION = "libs"
|
||||
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a"
|
||||
|
||||
DEPENDS = "libevdev udev mtdev"
|
||||
|
||||
SRC_URI = "git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;branch=main \
|
||||
file://run-ptest \
|
||||
"
|
||||
SRCREV = "3fd38d89276b679ac3565efd7c2150fd047902cb"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
|
||||
|
||||
inherit meson pkgconfig lib_package ptest
|
||||
|
||||
# Patch out build directory, otherwise it leaks into ptest binary
|
||||
do_configure:append() {
|
||||
sed -i -e "s,${WORKDIR},,g" config.h
|
||||
if [ -e "litest-config.h" ]; then
|
||||
sed -i -e "s,${WORKDIR},,g" litest-config.h
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
|
||||
PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
|
||||
PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3 wayland-native"
|
||||
PACKAGECONFIG[tests] = "-Dtests=true -Dinstall-tests=true,-Dtests=false -Dinstall-tests=false,libcheck"
|
||||
|
||||
UDEVDIR = "`pkg-config --variable=udevdir udev`"
|
||||
|
||||
EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
|
||||
-Ddocumentation=false \
|
||||
-Dzshcompletiondir=no"
|
||||
|
||||
# package name changed in 1.8.1 upgrade: make sure package upgrades work
|
||||
RPROVIDES:${PN} = "libinput"
|
||||
RREPLACES:${PN} = "libinput"
|
||||
RCONFLICTS:${PN} = "libinput"
|
||||
|
||||
FILES:${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite"
|
||||
18
sources/poky/meta/recipes-graphics/wayland/mtdev_1.1.6.bb
Normal file
18
sources/poky/meta/recipes-graphics/wayland/mtdev_1.1.6.bb
Normal file
@@ -0,0 +1,18 @@
|
||||
SUMMARY = "Multitouch Protocol Translation Library"
|
||||
|
||||
DESCRIPTION = "mtdev is a library which transforms all variants of kernel \
|
||||
multitouch events to the slotted type B protocol. The events put into mtdev may \
|
||||
be from any MT device, specifically type A without contact tracking, type A with \
|
||||
contact tracking, or type B with contact tracking"
|
||||
|
||||
HOMEPAGE = "http://bitmath.org/code/mtdev/"
|
||||
SECTION = "libs"
|
||||
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea6bd0268bb0fcd6b27698616ceee5d6"
|
||||
|
||||
SRC_URI = "http://bitmath.org/code/${BPN}/${BP}.tar.bz2"
|
||||
SRC_URI[md5sum] = "bf8ef2482e84a00b5db8fbd3ce00e249"
|
||||
SRC_URI[sha256sum] = "15d7b28da8ac71d8bc8c9287c2045fd174267bc740bec10cfda332dc1204e0e0"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
@@ -0,0 +1,8 @@
|
||||
# distro features required by weston recipes
|
||||
|
||||
inherit features_check
|
||||
|
||||
# requires pam enabled if started via systemd
|
||||
#
|
||||
REQUIRED_DISTRO_FEATURES = "wayland opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
SUMMARY = "Collection of additional Wayland protocols"
|
||||
DESCRIPTION = "Wayland protocols that add functionality not \
|
||||
available in the Wayland core protocol. Such protocols either add \
|
||||
completely new functionality, or extend the functionality of some other \
|
||||
protocol either in Wayland core, or some other protocol in \
|
||||
wayland-protocols."
|
||||
HOMEPAGE = "http://wayland.freedesktop.org"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
|
||||
file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
|
||||
|
||||
SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
|
||||
SRC_URI[sha256sum] = "94f0c50b090d6e61a03f62048467b19abbe851be4e11ae7b36f65f8b98c3963a"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
|
||||
|
||||
inherit meson pkgconfig allarch
|
||||
|
||||
EXTRA_OEMESON += "-Dtests=false"
|
||||
|
||||
PACKAGES = "${PN}"
|
||||
FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
SUMMARY = "Wayland utilities"
|
||||
DESCRIPTION = "Wayland-utils contains (for now) \
|
||||
wayland-info, a utility for displaying information about the Wayland \
|
||||
protocols supported by a Wayland compositor. \
|
||||
wayland-info is basically a standalone version of weston-info as found \
|
||||
in weston repository. "
|
||||
HOMEPAGE = "http://wayland.freedesktop.org"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \
|
||||
"
|
||||
|
||||
SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
|
||||
SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags"
|
||||
|
||||
inherit meson pkgconfig
|
||||
|
||||
DEPENDS += "wayland wayland-native wayland-protocols"
|
||||
|
||||
PACKAGECONFIG ??= "drm"
|
||||
PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,libdrm"
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
17
sources/poky/meta/recipes-graphics/wayland/wayland/run-ptest
Normal file
17
sources/poky/meta/recipes-graphics/wayland/wayland/run-ptest
Normal 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
|
||||
62
sources/poky/meta/recipes-graphics/wayland/wayland_1.22.0.bb
Normal file
62
sources/poky/meta/recipes-graphics/wayland/wayland_1.22.0.bb
Normal file
@@ -0,0 +1,62 @@
|
||||
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 \
|
||||
file://0002-Consider-pkgconfig-sysroot-for-pkgdatadir.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags"
|
||||
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"
|
||||
106
sources/poky/meta/recipes-graphics/wayland/weston-init.bb
Normal file
106
sources/poky/meta/recipes-graphics/wayland/weston-init.bb
Normal file
@@ -0,0 +1,106 @@
|
||||
SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
SRC_URI = "file://init \
|
||||
file://weston.env \
|
||||
file://weston.ini \
|
||||
file://weston.service \
|
||||
file://weston.socket \
|
||||
file://weston-socket.sh \
|
||||
file://weston-autologin \
|
||||
file://weston-start"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}"
|
||||
PACKAGECONFIG:append:qemuriscv64 = " use-pixman"
|
||||
PACKAGECONFIG:append:qemuppc64 = " use-pixman"
|
||||
|
||||
PACKAGECONFIG[xwayland] = ",,"
|
||||
PACKAGECONFIG[no-idle-timeout] = ",,"
|
||||
PACKAGECONFIG[use-pixman] = ",,"
|
||||
|
||||
DEFAULTBACKEND ??= ""
|
||||
DEFAULTBACKEND:qemuall ?= "drm"
|
||||
|
||||
do_install() {
|
||||
# Install weston-start script
|
||||
if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
|
||||
install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
|
||||
sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
|
||||
sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
|
||||
install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
|
||||
sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston
|
||||
fi
|
||||
|
||||
# Install Weston systemd service
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
|
||||
install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
|
||||
install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
|
||||
install -D -p -m0644 ${WORKDIR}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh
|
||||
sed -i -e s:/etc:${sysconfdir}:g \
|
||||
-e s:/usr/bin:${bindir}:g \
|
||||
-e s:/var:${localstatedir}:g \
|
||||
${D}${systemd_system_unitdir}/weston.service
|
||||
fi
|
||||
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
|
||||
install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
|
||||
fi
|
||||
|
||||
install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
|
||||
install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
|
||||
|
||||
if [ -n "${DEFAULTBACKEND}" ]; then
|
||||
sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini
|
||||
fi
|
||||
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
|
||||
sed -i -e "/^\[core\]/a xwayland=true" ${D}${sysconfdir}/xdg/weston/weston.ini
|
||||
fi
|
||||
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then
|
||||
sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
|
||||
fi
|
||||
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then
|
||||
sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini
|
||||
fi
|
||||
|
||||
install -dm 755 -o weston -g weston ${D}/home/weston
|
||||
}
|
||||
|
||||
INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
|
||||
|
||||
inherit update-rc.d systemd useradd
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
|
||||
# rdepends on weston which depends on virtual/egl
|
||||
#
|
||||
require ${THISDIR}/required-distro-features.inc
|
||||
|
||||
RDEPENDS:${PN} = "weston kbd ${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'weston-xwayland', '', d)}"
|
||||
|
||||
INITSCRIPT_NAME = "weston"
|
||||
INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
|
||||
|
||||
FILES:${PN} += "\
|
||||
${sysconfdir}/xdg/weston/weston.ini \
|
||||
${sysconfdir}/profile.d/weston-socket.sh \
|
||||
${systemd_system_unitdir}/weston.service \
|
||||
${systemd_system_unitdir}/weston.socket \
|
||||
${sysconfdir}/default/weston \
|
||||
${sysconfdir}/pam.d/ \
|
||||
/home/weston \
|
||||
"
|
||||
|
||||
CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "weston.service weston.socket"
|
||||
USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input,render,wayland weston"
|
||||
GROUPADD_PARAM:${PN} = "-r wayland; -r render"
|
||||
|
||||
54
sources/poky/meta/recipes-graphics/wayland/weston-init/init
Normal file
54
sources/poky/meta/recipes-graphics/wayland/weston-init/init
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: weston
|
||||
# Required-Start: $local_fs $remote_fs
|
||||
# Required-Stop: $local_fs $remote_fs
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
### END INIT INFO
|
||||
|
||||
if test -e /etc/default/weston ; then
|
||||
. /etc/default/weston
|
||||
fi
|
||||
|
||||
killproc() {
|
||||
pid=`/bin/pidof $1`
|
||||
[ "$pid" != "" ] && kill $pid
|
||||
}
|
||||
|
||||
read CMDLINE < /proc/cmdline
|
||||
for x in $CMDLINE; do
|
||||
case $x in
|
||||
weston=false)
|
||||
echo "Weston disabled"
|
||||
exit 0;
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
. /etc/profile
|
||||
export HOME=ROOTHOME
|
||||
|
||||
WESTON_USER=weston weston-start $OPTARGS &
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "Stopping Weston"
|
||||
killproc weston
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
sleep 1
|
||||
$0 start
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "usage: $0 { start | stop | restart }"
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,11 @@
|
||||
auth required pam_nologin.so
|
||||
auth required pam_unix.so try_first_pass nullok
|
||||
|
||||
account required pam_nologin.so
|
||||
account required pam_unix.so
|
||||
|
||||
session required pam_env.so
|
||||
session required pam_unix.so
|
||||
-session optional pam_systemd.so type=wayland class=user desktop=weston
|
||||
-session optional pam_loginuid.so
|
||||
|
||||
20
sources/poky/meta/recipes-graphics/wayland/weston-init/weston-socket.sh
Executable file
20
sources/poky/meta/recipes-graphics/wayland/weston-init/weston-socket.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
# set weston variables for use with global weston socket
|
||||
global_socket="/run/wayland-0"
|
||||
if [ -e "$global_socket" ]; then
|
||||
weston_group=$(stat -c "%G" "$global_socket")
|
||||
if [ "$(id -u)" = "0" ]; then
|
||||
export WAYLAND_DISPLAY="$global_socket"
|
||||
else
|
||||
case "$(groups "$USER")" in
|
||||
*"$weston_group"*)
|
||||
export WAYLAND_DISPLAY="$global_socket"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
unset weston_group
|
||||
fi
|
||||
unset global_socket
|
||||
71
sources/poky/meta/recipes-graphics/wayland/weston-init/weston-start
Executable file
71
sources/poky/meta/recipes-graphics/wayland/weston-init/weston-start
Executable file
@@ -0,0 +1,71 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) 2016 O.S. Systems Software LTDA.
|
||||
# Copyright (C) 2016 Freescale Semiconductor
|
||||
|
||||
export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
$0 [<weston options>]
|
||||
EOF
|
||||
}
|
||||
|
||||
## Module support
|
||||
modules_dir=@DATADIR@/weston-start
|
||||
|
||||
# Add weston extra argument
|
||||
add_weston_argument() {
|
||||
weston_args="$weston_args $1"
|
||||
}
|
||||
|
||||
## Add module to --modules argument
|
||||
add_weston_module() {
|
||||
if [[ "x${weston_modules}" == "x" ]]; then
|
||||
weston_modules="--modules "
|
||||
fi;
|
||||
weston_modules+="${1},"
|
||||
}
|
||||
|
||||
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$WESTON_USER" ]; then
|
||||
if [ -z "$WESTON_GROUP" ]; then
|
||||
# no explicit WESTON_GROUP given, therefore use WESTON_USER
|
||||
export WESTON_GROUP="${WESTON_USER}"
|
||||
fi
|
||||
fi
|
||||
|
||||
weston_args=$*
|
||||
|
||||
# Load and run modules
|
||||
if [ -d "$modules_dir" ]; then
|
||||
for m in "$modules_dir"/*; do
|
||||
# Skip backup files
|
||||
if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# process module
|
||||
. $m
|
||||
if [[ x"{$weston_modules}" != "x" ]]; then
|
||||
add_weston_argument "${weston_modules}"
|
||||
fi;
|
||||
done
|
||||
fi
|
||||
|
||||
if test -z "$XDG_RUNTIME_DIR"; then
|
||||
export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}`
|
||||
if ! test -d "$XDG_RUNTIME_DIR"; then
|
||||
mkdir --parents $XDG_RUNTIME_DIR
|
||||
chmod 0700 $XDG_RUNTIME_DIR
|
||||
fi
|
||||
if [ -n "$WESTON_USER" ]
|
||||
then
|
||||
chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR
|
||||
fi
|
||||
fi
|
||||
|
||||
su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args --log=/tmp/weston.log" $WESTON_USER
|
||||
@@ -0,0 +1,75 @@
|
||||
# configuration file for Weston
|
||||
|
||||
[core]
|
||||
#modules=xwayland.so,cms-colord.so
|
||||
#shell=desktop-shell.so
|
||||
#gbm-format=xrgb2101010
|
||||
require-input=false
|
||||
|
||||
#[shell]
|
||||
#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
|
||||
#background-color=0xff002244
|
||||
#background-type=tile
|
||||
#clock-format=minutes
|
||||
#panel-color=0x90ff0000
|
||||
#locking=true
|
||||
#animation=zoom
|
||||
#startup-animation=fade
|
||||
#binding-modifier=ctrl
|
||||
#num-workspaces=6
|
||||
#cursor-theme=whiteglass
|
||||
#cursor-size=24
|
||||
|
||||
#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
|
||||
#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
|
||||
#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
|
||||
#animation=fade
|
||||
|
||||
#[launcher]
|
||||
#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
|
||||
#path=/usr/bin/gnome-terminal
|
||||
|
||||
#[launcher]
|
||||
#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
|
||||
#path=/usr/bin/weston-terminal
|
||||
|
||||
#[launcher]
|
||||
#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png
|
||||
#path=/usr/bin/google-chrome
|
||||
|
||||
#[launcher]
|
||||
#icon=/usr/share/icons/gnome/24x24/apps/arts.png
|
||||
#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower
|
||||
|
||||
#[input-method]
|
||||
#path=/usr/libexec/weston-keyboard
|
||||
|
||||
#[output]
|
||||
#name=LVDS1
|
||||
#mode=1680x1050
|
||||
#transform=90
|
||||
#icc_profile=/usr/share/color/icc/colord/Bluish.icc
|
||||
|
||||
#[output]
|
||||
#name=VGA1
|
||||
#mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
|
||||
#transform=flipped
|
||||
|
||||
#[output]
|
||||
#name=X1
|
||||
#mode=1024x768
|
||||
#transform=flipped-90
|
||||
|
||||
#[libinput]
|
||||
#enable_tap=true
|
||||
|
||||
#[touchpad]
|
||||
#constant_accel_factor = 50
|
||||
#min_accel_factor = 0.16
|
||||
#max_accel_factor = 1.0
|
||||
|
||||
[screen-share]
|
||||
command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
|
||||
|
||||
#[xwayland]
|
||||
#path=/usr/bin/Xwayland
|
||||
@@ -0,0 +1,71 @@
|
||||
# This is a system unit for launching Weston with auto-login as the
|
||||
# user configured here.
|
||||
#
|
||||
# Weston must be built with systemd support, and your weston.ini must load
|
||||
# the plugin systemd-notify.so.
|
||||
[Unit]
|
||||
Description=Weston, a Wayland compositor, as a system service
|
||||
Documentation=man:weston(1) man:weston.ini(5)
|
||||
Documentation=http://wayland.freedesktop.org/
|
||||
|
||||
# Make sure we are started after logins are permitted.
|
||||
Requires=systemd-user-sessions.service
|
||||
After=systemd-user-sessions.service
|
||||
|
||||
# If Plymouth is used, we want to start when it is on its way out.
|
||||
After=plymouth-quit-wait.service
|
||||
|
||||
# D-Bus is necessary for contacting logind. Logind is required.
|
||||
Wants=dbus.socket
|
||||
After=dbus.socket
|
||||
|
||||
# Ensure the socket is present
|
||||
Requires=weston.socket
|
||||
|
||||
# Since we are part of the graphical session, make sure we are started before
|
||||
# it is complete.
|
||||
Before=graphical.target
|
||||
|
||||
# Prevent starting on systems without virtual consoles, Weston requires one
|
||||
# for now.
|
||||
ConditionPathExists=/dev/tty0
|
||||
|
||||
[Service]
|
||||
# Requires systemd-notify.so Weston plugin.
|
||||
Type=notify
|
||||
EnvironmentFile=/etc/default/weston
|
||||
ExecStart=/usr/bin/weston --modules=systemd-notify.so
|
||||
|
||||
# Optional watchdog setup
|
||||
#TimeoutStartSec=60
|
||||
#WatchdogSec=20
|
||||
|
||||
# The user to run Weston as.
|
||||
User=weston
|
||||
Group=weston
|
||||
|
||||
# Make sure the working directory is the users home directory
|
||||
WorkingDirectory=/home/weston
|
||||
|
||||
# Set up a full user session for the user, required by Weston.
|
||||
PAMName=weston-autologin
|
||||
|
||||
# A virtual terminal is needed.
|
||||
TTYPath=/dev/tty7
|
||||
TTYReset=yes
|
||||
TTYVHangup=yes
|
||||
TTYVTDisallocate=yes
|
||||
|
||||
# Fail to start if not controlling the tty.
|
||||
StandardInput=tty-fail
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
# Log this user with utmp, letting it show up with commands 'w' and 'who'.
|
||||
UtmpIdentifier=tty7
|
||||
UtmpMode=user
|
||||
|
||||
[Install]
|
||||
# Note: If you only want weston to start on-demand, remove this line with a
|
||||
# service drop file
|
||||
WantedBy=graphical.target
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Weston socket
|
||||
RequiresMountsFor=/run
|
||||
|
||||
[Socket]
|
||||
ListenStream=/run/wayland-0
|
||||
SocketMode=0775
|
||||
SocketUser=weston
|
||||
SocketGroup=wayland
|
||||
RemoveOnStop=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From e050830898ea37d30ef1c5339cb1665bdb92dcdc Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 14 Dec 2023 09:13:54 -0800
|
||||
Subject: [PATCH] libweston,tools: Include libgen.h for basename signature
|
||||
|
||||
Latest musl has removed the declaration from string.h [1] as it only
|
||||
implements POSIX version alone and string.h in glibc implements GNU
|
||||
version of basename. This now results in compile errors on musl.
|
||||
|
||||
This might be a warning with older compilers but it is error with
|
||||
Clang-17+ as it treats -Wimplicit-function-declaration as error
|
||||
|
||||
[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1420]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
libweston/backend-drm/libbacklight.c | 1 +
|
||||
tools/zunitc/src/zunitc_impl.c | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libweston/backend-drm/libbacklight.c b/libweston/backend-drm/libbacklight.c
|
||||
index ca7f2d6..74690fa 100644
|
||||
--- a/libweston/backend-drm/libbacklight.c
|
||||
+++ b/libweston/backend-drm/libbacklight.c
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <drm.h>
|
||||
#include <fcntl.h>
|
||||
#include <malloc.h>
|
||||
+#include <libgen.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
diff --git a/tools/zunitc/src/zunitc_impl.c b/tools/zunitc/src/zunitc_impl.c
|
||||
index 18f0301..9b460fa 100644
|
||||
--- a/tools/zunitc/src/zunitc_impl.c
|
||||
+++ b/tools/zunitc/src/zunitc_impl.c
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
+#include <libgen.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
@@ -0,0 +1,27 @@
|
||||
From 534cfa08ea0a0c2646b4aec20b16bf95f6d0aae6 Mon Sep 17 00:00:00 2001
|
||||
From: Lukasz Czechowski <lukasz.czechowski@thaumatec.com>
|
||||
Date: Mon, 3 Jun 2024 13:39:27 +0200
|
||||
Subject: [PATCH] vnc: Allow neatvnc in version 0.8.0
|
||||
|
||||
Neat VNC 0.8.0 does not introduce any changes that breaks API used
|
||||
by VNC backend, so it is safe to extend compatibility.
|
||||
|
||||
Upstream-Status: Backport [05e5405651054c580b248c4ab2791ed8d66369e3]
|
||||
Signed-off-by: Lukasz Czechowski <lukasz.czechowski@thaumatec.com>
|
||||
---
|
||||
libweston/backend-vnc/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libweston/backend-vnc/meson.build b/libweston/backend-vnc/meson.build
|
||||
index b7b6916..39b15cf 100644
|
||||
--- a/libweston/backend-vnc/meson.build
|
||||
+++ b/libweston/backend-vnc/meson.build
|
||||
@@ -3,7 +3,7 @@ if not get_option('backend-vnc')
|
||||
endif
|
||||
|
||||
config_h.set('BUILD_VNC_COMPOSITOR', '1')
|
||||
-dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.8.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
|
||||
+dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.9.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
|
||||
if not dep_neatvnc.found()
|
||||
error('VNC backend requires neatvnc which was not found. Or, you can use \'-Dbackend-vnc=false\'.')
|
||||
endif
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-FileCopyrightText: Huawei Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
||||
if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then
|
||||
add_weston_module "systemd-notify.so"
|
||||
fi
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Name=Weston
|
||||
Comment=Wayland Compostitor
|
||||
Exec=weston
|
||||
Icon=weston
|
||||
Terminal=false
|
||||
Categories=Utility;
|
||||
BIN
sources/poky/meta/recipes-graphics/wayland/weston/weston.png
Normal file
BIN
sources/poky/meta/recipes-graphics/wayland/weston/weston.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
if type Xwayland >/dev/null 2>/dev/null; then
|
||||
mkdir -m 775 -p /tmp/.X11-unix
|
||||
chown root:video /tmp/.X11-unix
|
||||
fi
|
||||
147
sources/poky/meta/recipes-graphics/wayland/weston_13.0.1.bb
Normal file
147
sources/poky/meta/recipes-graphics/wayland/weston_13.0.1.bb
Normal file
@@ -0,0 +1,147 @@
|
||||
SUMMARY = "Weston, a Wayland compositor"
|
||||
DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
|
||||
HOMEPAGE = "http://wayland.freedesktop.org"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
|
||||
file://libweston/compositor.c;endline=27;md5=eb6d5297798cabe2ddc65e2af519bcf0 \
|
||||
"
|
||||
|
||||
SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
|
||||
file://0001-libweston-tools-Include-libgen.h-for-basename-signat.patch \
|
||||
file://0001-vnc-Allow-neatvnc-in-version-0.8.0.patch \
|
||||
file://weston.png \
|
||||
file://weston.desktop \
|
||||
file://xwayland.weston-start \
|
||||
file://systemd-notify.weston-start \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "ea1566ab4f5ffce7e9fd4f7a1fca5b30caae4d50023bf459213994094e02b29a"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
|
||||
UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
|
||||
|
||||
inherit meson pkgconfig useradd
|
||||
|
||||
# depends on virtual/egl
|
||||
#
|
||||
require ${THISDIR}/required-distro-features.inc
|
||||
|
||||
DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
|
||||
DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
|
||||
|
||||
LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}"
|
||||
|
||||
WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
|
||||
|
||||
EXTRA_OEMESON += "-Dpipewire=false"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
|
||||
${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
|
||||
image-jpeg \
|
||||
screenshare \
|
||||
shell-desktop \
|
||||
shell-fullscreen \
|
||||
shell-ivi \
|
||||
shell-kiosk \
|
||||
"
|
||||
|
||||
# Can be 'damage', 'im', 'egl', 'shm', 'touch', 'dmabuf-feedback', 'dmabuf-v4l', 'dmabuf-egl' or 'all'
|
||||
SIMPLECLIENTS ?= "all"
|
||||
|
||||
#
|
||||
# Compositor choices
|
||||
#
|
||||
# Weston on KMS
|
||||
PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev seatd virtual/egl virtual/libgles2 virtual/libgbm mtdev"
|
||||
# Weston on Wayland (nested Weston)
|
||||
PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
|
||||
# Weston on X11
|
||||
PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcursor"
|
||||
# Headless Weston
|
||||
PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
|
||||
# Weston on RDP
|
||||
PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
|
||||
# VA-API desktop recorder
|
||||
PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
|
||||
# Weston with EGL support
|
||||
PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl"
|
||||
# Weston with lcms support
|
||||
PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms"
|
||||
# Weston with webp support
|
||||
PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
|
||||
# Weston with systemd support
|
||||
PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus"
|
||||
# Weston with Xwayland support (requires X11 and Wayland)
|
||||
PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xcb-util-cursor xwayland"
|
||||
# colord CMS support
|
||||
PACKAGECONFIG[colord] = "-Ddeprecated-color-management-colord=true,-Ddeprecated-color-management-colord=false,colord"
|
||||
# Clients support
|
||||
PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
|
||||
# Virtual remote output with GStreamer on DRM backend
|
||||
PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
# Weston with screen-share support
|
||||
PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false"
|
||||
# Traditional desktop shell
|
||||
PACKAGECONFIG[shell-desktop] = "-Dshell-desktop=true,-Dshell-desktop=false"
|
||||
# Fullscreen shell
|
||||
PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=false"
|
||||
# In-Vehicle Infotainment (IVI) shell
|
||||
PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
|
||||
# Kiosk shell
|
||||
PACKAGECONFIG[shell-kiosk] = "-Dshell-kiosk=true,-Dshell-kiosk=false"
|
||||
# JPEG image loading support
|
||||
PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
|
||||
# screencasting via PipeWire
|
||||
PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipewire"
|
||||
# VNC remote screensharing
|
||||
PACKAGECONFIG[vnc] = "-Dbackend-vnc=true,-Dbackend-vnc=false,neatvnc"
|
||||
|
||||
|
||||
do_install:append() {
|
||||
# Weston doesn't need the .la files to load modules, so wipe them
|
||||
rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
|
||||
|
||||
# If X11, ship a desktop file to launch it
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
|
||||
install -d ${D}${datadir}/applications
|
||||
install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
|
||||
|
||||
install -d ${D}${datadir}/icons/hicolor/48x48/apps
|
||||
install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
|
||||
fi
|
||||
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
|
||||
install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
|
||||
fi
|
||||
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
|
||||
install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
|
||||
fi
|
||||
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
|
||||
chmod u+s ${D}${bindir}/weston-launch
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
|
||||
libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
|
||||
|
||||
FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
|
||||
FILES:${PN} = "${sysconfdir} ${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
|
||||
|
||||
FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
|
||||
SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
|
||||
|
||||
FILES:${PN}-examples = "${bindir}/*"
|
||||
|
||||
FILES:${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
|
||||
RDEPENDS:${PN}-xwayland += "xwayland"
|
||||
|
||||
RDEPENDS:${PN} += "xkeyboard-config"
|
||||
RRECOMMENDS:${PN} = "weston-init liberation-fonts"
|
||||
RRECOMMENDS:${PN}-dev += "wayland-protocols"
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
GROUPADD_PARAM:${PN} = "--system weston-launch"
|
||||
Reference in New Issue
Block a user