weston: update to 10.0.0

- https://lists.freedesktop.org/archives/wayland-devel/2022-February/042103.html
- updated dependencies & build opts
- updated config files
- fixed License
This commit is contained in:
SupervisedThinking 2022-02-02 11:53:00 +01:00
parent ccd90a3a56
commit 69e731499d
4 changed files with 31 additions and 88 deletions

View File

@ -2,10 +2,12 @@
idle-time=0
[shell]
locking=false
background-color=0x00000000
background-image=/usr/share/weston/splash-2160.png
background-image=/usr/share/weston/libreelec-wallpaper-2160.png
background-type=scale-crop
background-color=0x00000000
clock-format=minutes-24h
locking=false
[launcher]
path=/usr/lib/kodi/kodi.bin

View File

@ -2,34 +2,50 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="weston"
PKG_VERSION="9.0.0"
PKG_SHA256="5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe"
PKG_LICENSE="OSS"
PKG_VERSION="10.0.0"
PKG_SHA256="5c23964112b90238bed39e5dd1e41cd71a79398813cdc3bbb15a9fdc94e547ae"
PKG_LICENSE="MIT"
PKG_SITE="https://wayland.freedesktop.org/"
PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols libdrm libxkbcommon libinput cairo libjpeg-turbo dbus"
PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols libdrm libxkbcommon libinput cairo pango libjpeg-turbo dbus seatd"
PKG_LONGDESC="Reference implementation of a Wayland compositor"
PKG_MESON_OPTS_TARGET="-Dbackend-drm-screencast-vaapi=false \
PKG_MESON_OPTS_TARGET="-Dbackend-drm=true \
-Dbackend-drm-screencast-vaapi=false \
-Dbackend-headless=false \
-Dbackend-rdp=false \
-Dscreenshare=false \
-Dbackend-wayland=false \
-Dbackend-x11=false \
-Dbackend-fbdev=false \
-Ddeprecated-backend-fbdev=false \
-Dbackend-default=drm \
-Drenderer-gl=true \
-Dweston-launch=false \
-Dxwayland=false \
-Dsystemd=true \
-Dremoting=false \
-Dpipewire=false \
-Dshell-desktop=true \
-Dshell-fullscreen=false \
-Dshell-ivi=false \
-Dshell-kiosk=false \
-Ddesktop-shell-client-default="weston-desktop-shell" \
-Ddeprecated-wl-shell=false \
-Dcolor-management-lcms=false \
-Dcolor-management-colord=false \
-Dlauncher-logind=false \
-Dlauncher-libseat=true \
-Dimage-jpeg=true \
-Dimage-webp=false \
-Dtools=['terminal']
-Ddemo-clients=false \
-Dsimple-clients=egl \
-Dsimple-clients=[] \
-Dresize-pool=false \
-Dwcap-decode=false \
-Dtest-junit-xml=false"
-Dtest-junit-xml=false \
-Dtest-skip-is-failure=false \
-Dtest-gl-renderer=false \
-Ddoc=false"
pre_configure_target() {
# weston does not build with NDEBUG (requires assert for tests)
@ -42,12 +58,9 @@ post_makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/weston
cp ${PKG_DIR}/config/weston.ini ${INSTALL}/usr/share/weston
find_file_path "splash/splash-2160.png" && cp ${FOUND_PATH} ${INSTALL}/usr/share/weston
find_file_path "splash/splash-2160.png" && cp ${FOUND_PATH} ${INSTALL}/usr/share/weston/libreelec-wallpaper-2160.png
safe_remove ${INSTALL}/usr/share/wayland-sessions
safe_remove ${INSTALL}/usr/bin/weston-calibrator
safe_remove ${INSTALL}/usr/bin/weston-simple-*
safe_remove ${INSTALL}/usr/bin/weston-touch-calibrator
}
post_install() {

View File

@ -1,73 +0,0 @@
From ae69381b6eb43ab63992906d1bf29ffd2b4df10d Mon Sep 17 00:00:00 2001
From: Manuel Stoeckl <code@mstoeckl.com>
Date: Sun, 30 Aug 2020 18:49:18 -0400
Subject: [PATCH] compositor: avoid setting WAYLAND_DISPLAY=wayland-0
This commit alters the way that Weston picks a Wayland display socket
name. Instead of using wl_display_add_socket_auto to look for the first
available name in wayland-0, wayland-1, .... to wayland-32, the code now
checks names wayland-1, wayland-2, .... up to wayland-32.
This change is a workaround for a suboptimal behavior of
libwayland-client. If a client program calls wl_display_connect(NULL) and
the WAYLAND_DISPLAY environment variable is not set, then the program will
by default try to connect to 'wayland-0'. This is a problem when a
computer has a running Wayland compositor but is being accessed in some
other fashion, such as through an X session on a different virtual
terminal, over ssh, etc. Client programs launched through those means may
attempt to connect to an unrelated compositor. Changing libwayland
behavior to remove the default would also work, but a) libraries have
stronger backward compatibility expectations b) that would likely break
more people's setups than just changing Weston would.
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
---
compositor/main.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/compositor/main.c b/compositor/main.c
index 2554b7627..0c8c8e027 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -825,24 +825,29 @@ handle_primary_client_destroyed(struct wl_listener *listener, void *data)
static int
weston_create_listening_socket(struct wl_display *display, const char *socket_name)
{
+ char name_candidate[16];
+
if (socket_name) {
if (wl_display_add_socket(display, socket_name)) {
weston_log("fatal: failed to add socket: %s\n",
strerror(errno));
return -1;
}
+
+ setenv("WAYLAND_DISPLAY", socket_name, 1);
+ return 0;
} else {
- socket_name = wl_display_add_socket_auto(display);
- if (!socket_name) {
- weston_log("fatal: failed to add socket: %s\n",
- strerror(errno));
- return -1;
+ for (int i = 1; i <= 32; i++) {
+ sprintf(name_candidate, "wayland-%d", i);
+ if (wl_display_add_socket(display, name_candidate) >= 0) {
+ setenv("WAYLAND_DISPLAY", name_candidate, 1);
+ return 0;
+ }
}
+ weston_log("fatal: failed to add socket: %s\n",
+ strerror(errno));
+ return -1;
}
-
- setenv("WAYLAND_DISPLAY", socket_name, 1);
-
- return 0;
}
WL_EXPORT void *
--
GitLab

View File

@ -1,4 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/var/run/0-runtime-dir