[Buildroot] [git commit] package/weston: bump to version 8.0.0
Yann E. MORIN
yann.morin.1998 at free.fr
Sun Feb 2 09:58:07 UTC 2020
commit: https://git.buildroot.net/buildroot/commit/?id=4f217669de10f61d77e9ff834d9efdcee4efdf04
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Lots of changes with this big leap:
- autotools is deprecated and replaced with meson
- demo clients now need pango
---------------------------
The dbus option in autotools is replaced with launcher-logind in meson.
Replaced WESTON_NATIVE_BACKEND with backend-default in meson.
Added optional pipewire dependency.
Added patch fixing missing include in os-compatibility.c.
Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
Tested-by: Bernd Kuhls <bernd.kuhls at t-online.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
---
...ally-include-sys-mman.h-in-os-compatibili.patch | 38 +++++++
...add-missing-defines-for-pre-v3.17-kernels.patch | 42 ++++++++
package/weston/Config.in | 35 ++++++
package/weston/weston.hash | 10 +-
package/weston/weston.mk | 118 ++++++++++++---------
5 files changed, 185 insertions(+), 58 deletions(-)
diff --git a/package/weston/0001-unconditionally-include-sys-mman.h-in-os-compatibili.patch b/package/weston/0001-unconditionally-include-sys-mman.h-in-os-compatibili.patch
new file mode 100644
index 0000000000..0c632fbf35
--- /dev/null
+++ b/package/weston/0001-unconditionally-include-sys-mman.h-in-os-compatibili.patch
@@ -0,0 +1,38 @@
+From 888dd1ae6a0261230b2bc47079d7b20df8c05e68 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1 at gmail.com>
+Date: Sat, 1 Feb 2020 20:02:29 -0700
+Subject: [PATCH] unconditionally include sys/mman.h in os-compatibility.c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+../shared/os-compatibility.c:273:25: error: âPROT_READâ undeclared (first use in this function); did you mean âLOCK_READâ?
+ map = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, file->fd, 0);
+ ^~~~~~~~~
+ LOCK_READ
+
+Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
+[Upstream status:
+https://gitlab.freedesktop.org/wayland/weston/merge_requests/368]
+---
+ shared/os-compatibility.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c
+index 5e1ce479..ddc37807 100644
+--- a/shared/os-compatibility.c
++++ b/shared/os-compatibility.c
+@@ -35,9 +35,7 @@
+ #include <stdlib.h>
+ #include <libweston/zalloc.h>
+
+-#ifdef HAVE_MEMFD_CREATE
+ #include <sys/mman.h>
+-#endif
+
+ #include "os-compatibility.h"
+
+--
+2.20.1
+
diff --git a/package/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch b/package/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch
new file mode 100644
index 0000000000..39360f4fd2
--- /dev/null
+++ b/package/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch
@@ -0,0 +1,42 @@
+From f43c98b23e0d7731cd8d7a9b4510c359f3df7930 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1 at gmail.com>
+Date: Sat, 1 Feb 2020 23:32:29 -0700
+Subject: [PATCH] add missing defines for pre-v3.17 kernels
+
+Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
+[Upstream status:
+https://gitlab.freedesktop.org/wayland/weston/merge_requests/369]
+---
+ shared/os-compatibility.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c
+index ddc37807..26c39e67 100644
+--- a/shared/os-compatibility.c
++++ b/shared/os-compatibility.c
+@@ -39,6 +39,22 @@
+
+ #include "os-compatibility.h"
+
++#ifndef F_GET_SEALS
++#define F_GET_SEALS (1034)
++#endif
++
++#ifndef F_SEAL_SHRINK
++#define F_SEAL_SHRINK 0x0002
++#endif
++
++#ifndef F_SEAL_GROW
++#define F_SEAL_GROW 0x0004
++#endif
++
++#ifndef F_SEAL_WRITE
++#define F_SEAL_WRITE 0x0008
++#endif
++
+ #define READONLY_SEALS (F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE)
+
+ int
+--
+2.20.1
+
diff --git a/package/weston/Config.in b/package/weston/Config.in
index f874b0cc6a..6a80285c62 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -33,6 +33,26 @@ config BR2_PACKAGE_WESTON
if BR2_PACKAGE_WESTON
+choice
+ prompt "Backend default"
+ depends on BR2_PACKAGE_WESTON_FBDEV || \
+ BR2_PACKAGE_WESTON_DRM || \
+ BR2_PACKAGE_WESTON_X11
+
+config BR2_PACKAGE_WESTON_DEFAULT_BACKEND_FBDEV
+ bool "fbdev"
+ depends on BR2_PACKAGE_WESTON_FBDEV
+
+config BR2_PACKAGE_WESTON_DEFAULT_BACKEND_DRM
+ bool "drm"
+ depends on BR2_PACKAGE_WESTON_DRM
+
+config BR2_PACKAGE_WESTON_DEFAULT_BACKEND_X11
+ bool "X11"
+ depends on BR2_PACKAGE_WESTON_X11
+
+endchoice
+
# Helper to make sure at least one compositor is selected.
config BR2_PACKAGE_WESTON_HAS_COMPOSITOR
bool
@@ -100,7 +120,22 @@ comment "XWayland support needs libepoxy and X.org enabled"
config BR2_PACKAGE_WESTON_DEMO_CLIENTS
bool "demo clients"
+ depends on BR2_USE_MMU # pango
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
+ depends on BR2_TOOLCHAIN_HAS_THREADS # pango
+ depends on BR2_INSTALL_LIBSTDCPP # pango
+ depends on BR2_USE_WCHAR # pango
+ depends on BR2_PACKAGE_HAS_LIBGLES
+ depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+ select BR2_PACKAGE_PANGO
help
This enables the installation of Weston's demo clients.
+comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++"
+ depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGLES || \
+ !BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+
endif
diff --git a/package/weston/weston.hash b/package/weston/weston.hash
index c9b2d4b1ce..0be1855a86 100644
--- a/package/weston/weston.hash
+++ b/package/weston/weston.hash
@@ -1,5 +1,5 @@
-# From https://lists.freedesktop.org/archives/wayland-devel/2019-June/040661.html
-md5 e7b10710ef1eac82258f97bfd41fe534 weston-6.0.1.tar.xz
-sha1 3b39e454b3dc8dc32598790cfcc65728b448378b weston-6.0.1.tar.xz
-sha256 bf2f6d5aae2e11cabb6bd69a76bcf9edb084f8c3e14ca769bea7234a513155b4 weston-6.0.1.tar.xz
-sha512 3da04ff9b884480ce0824950347185e55584e3938021fe62014423d3d51577eafdda8de650a5de6eb37a842130c9cb14c7a952a560f6be93ff973164363af3d9 weston-6.0.1.tar.xz
+# From https://lists.freedesktop.org/archives/wayland-devel/2020-January/041147.html
+md5 53e4810d852df0601d01fd986a5b22b3 weston-8.0.0.tar.xz
+sha1 80200a9c677d34c2de52230be444bd03ecd84229 weston-8.0.0.tar.xz
+sha256 7518b49b2eaa1c3091f24671bdcc124fd49fc8f1af51161927afa4329c027848 weston-8.0.0.tar.xz
+sha512 74853b0c9cabbabe942a2d057b65e4e97b48dc5f4df6d7b9ffc10ec52bc787009b12b900be6b426551902b920b7308baa967b7489761641dc9c31cf90440950c weston-8.0.0.tar.xz
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 154ae38b83..ad15591e87 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -4,37 +4,33 @@
#
################################################################################
-WESTON_VERSION = 6.0.1
+WESTON_VERSION = 8.0.0
WESTON_SITE = http://wayland.freedesktop.org/releases
WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
WESTON_LICENSE = MIT
WESTON_LICENSE_FILES = COPYING
WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
- libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \
- $(if $(BR2_PACKAGE_WEBP),webp)
+ libxkbcommon pixman libpng jpeg udev cairo libinput libdrm
WESTON_CONF_OPTS = \
- --with-dtddir=$(STAGING_DIR)/usr/share/wayland \
- --disable-headless-compositor \
- --disable-colord \
- --disable-devdocs \
- --disable-setuid-install \
- --enable-autotools
-
-WESTON_MAKE_OPTS = \
- WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
-
-# Uses VIDIOC_EXPBUF, only available from 3.8+
-ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),)
-WESTON_CONF_OPTS += --disable-simple-dmabuf-v4l-client
+ -Dbuild.pkg_config_path=$(HOST_DIR)/lib/pkgconfig \
+ -Dremoting=false \
+ -Dbackend-headless=false \
+ -Dcolor-management-colord=false
+
+ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_SYSTEMD),yy)
+WESTON_CONF_OPTS += -Dlauncher-logind=true
+WESTON_DEPENDENCIES += dbus systemd
+else
+WESTON_CONF_OPTS += -Dlauncher-logind=false
endif
-ifeq ($(BR2_PACKAGE_DBUS),y)
-WESTON_CONF_OPTS += --enable-dbus
-WESTON_DEPENDENCIES += dbus
+ifeq ($(BR2_PACKAGE_WEBP),y)
+WESTON_CONF_OPTS += -Dimage-webp=true
+WESTON_DEPENDENCIES += webp
else
-WESTON_CONF_OPTS += --disable-dbus
+WESTON_CONF_OPTS += -Dimage-webp=false
endif
# weston-launch must be u+s root in order to work properly
@@ -45,93 +41,109 @@ endef
define WESTON_USERS
- - weston-launch -1 - - - - Weston launcher group
endef
-WESTON_CONF_OPTS += --enable-weston-launch
+WESTON_CONF_OPTS += -Dweston-launch=true
WESTON_DEPENDENCIES += linux-pam
else
-WESTON_CONF_OPTS += --disable-weston-launch
+WESTON_CONF_OPTS += -Dweston-launch=false
+endif
+
+# Uses VIDIOC_EXPBUF, only available from 3.8+
+ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),y)
+WESTON_CONF_OPTS += -Dsimple-clients=dmabuf-v4l
+else
+WESTON_CONF_OPTS += -Dsimple-clients=
endif
ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
-WESTON_CONF_OPTS += --enable-egl
+WESTON_CONF_OPTS += -Drenderer-gl=true
WESTON_DEPENDENCIES += libegl libgles
else
WESTON_CONF_OPTS += \
- --disable-egl \
- --disable-simple-dmabuf-drm-client \
- --disable-simple-egl-clients
+ -Drenderer-gl=false
endif
ifeq ($(BR2_PACKAGE_WESTON_RDP),y)
WESTON_DEPENDENCIES += freerdp
-WESTON_CONF_OPTS += --enable-rdp-compositor
+WESTON_CONF_OPTS += -Dbackend-rdp=true
else
-WESTON_CONF_OPTS += --disable-rdp-compositor
+WESTON_CONF_OPTS += -Dbackend-rdp=false
endif
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
-WESTON_CONF_OPTS += \
- --enable-fbdev-compositor \
- WESTON_NATIVE_BACKEND=fbdev-backend.so
+WESTON_CONF_OPTS += -Dbackend-fbdev=true
+ifeq ($(BR2_PACKAGE_WESTON_DEFAULT_BACKEND_FBDEV),y)
+WESTON_CONF_OPTS += -Dbackend-default=fbdev
+endif
else
-WESTON_CONF_OPTS += --disable-fbdev-compositor
+WESTON_CONF_OPTS += -Dbackend-fbdev=false
endif
ifeq ($(BR2_PACKAGE_WESTON_DRM),y)
-WESTON_CONF_OPTS += \
- --enable-drm-compositor \
- WESTON_NATIVE_BACKEND=drm-backend.so
+WESTON_CONF_OPTS += -Dbackend-drm=true
+ifeq ($(BR2_PACKAGE_WESTON_DEFAULT_BACKEND_DRM),y)
+WESTON_CONF_OPTS += -Dbackend-default=drm
+endif
else
-WESTON_CONF_OPTS += --disable-drm-compositor
+WESTON_CONF_OPTS += -Dbackend-drm=false
endif
ifeq ($(BR2_PACKAGE_WESTON_X11),y)
-WESTON_CONF_OPTS += \
- --enable-x11-compositor \
- WESTON_NATIVE_BACKEND=x11-backend.so
+WESTON_CONF_OPTS += -Dbackend-x11=true
+ifeq ($(BR2_PACKAGE_WESTON_DEFAULT_BACKEND_X11),y)
+WESTON_CONF_OPTS += -Dbackend-default=x11
+endif
WESTON_DEPENDENCIES += libxcb xlib_libX11
else
-WESTON_CONF_OPTS += --disable-x11-compositor
+WESTON_CONF_OPTS += -Dbackend-x11=false
endif
ifeq ($(BR2_PACKAGE_WESTON_XWAYLAND),y)
-WESTON_CONF_OPTS += --enable-xwayland
+WESTON_CONF_OPTS += -Dxwayland=true
WESTON_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor
else
-WESTON_CONF_OPTS += --disable-xwayland
+WESTON_CONF_OPTS += -Dxwayland=false
endif
ifeq ($(BR2_PACKAGE_LIBVA),y)
-WESTON_CONF_OPTS += --enable-vaapi-recorder
+WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=true
WESTON_DEPENDENCIES += libva
else
-WESTON_CONF_OPTS += --disable-vaapi-recorder
+WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=false
endif
ifeq ($(BR2_PACKAGE_LCMS2),y)
-WESTON_CONF_OPTS += --enable-lcms
+WESTON_CONF_OPTS += -Dcolor-management-lcms=true
WESTON_DEPENDENCIES += lcms2
else
-WESTON_CONF_OPTS += --disable-lcms
+WESTON_CONF_OPTS += -Dcolor-management-lcms=false
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
-WESTON_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
+WESTON_CONF_OPTS += -Dsystemd=true
WESTON_DEPENDENCIES += systemd
else
-WESTON_CONF_OPTS += --disable-systemd-login --disable-systemd-notify
+WESTON_CONF_OPTS += -Dsystemd=false
endif
ifeq ($(BR2_PACKAGE_LIBXML2),y)
-WESTON_CONF_OPTS += --enable-junit-xml
+WESTON_CONF_OPTS += -Dtest-junit-xml=true
WESTON_DEPENDENCIES += libxml2
else
-WESTON_CONF_OPTS += --disable-junit-xml
+WESTON_CONF_OPTS += -Dtest-junit-xml=false
+endif
+
+ifeq ($(BR2_PACKAGE_PIPEWIRE)$(BR2_PACKAGE_WESTON_DRM),yy)
+WESTON_CONF_OPTS += -Dpipewire=true
+WESTON_DEPENDENCIES += pipewire
+else
+WESTON_CONF_OPTS += -Dpipewire=false
endif
ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y)
-WESTON_CONF_OPTS += --enable-demo-clients-install
+WESTON_CONF_OPTS += -Ddemo-clients=true
+WESTON_DEPENDENCIES += pango
else
-WESTON_CONF_OPTS += --disable-demo-clients-install
+WESTON_CONF_OPTS += -Ddemo-clients=false
endif
-$(eval $(autotools-package))
+$(eval $(meson-package))
More information about the buildroot
mailing list