[Buildroot] [PATCH v11 1/1] package/weston: bump to version 8.0.0
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Feb 3 16:26:21 UTC 2020
James, All,
On 2020-02-03 04:08 -0700, James Hilliard spake thusly:
> The autotools build system is deprecated and replaced with meson for weston.
>
> We need to enable pango when building demo clients since it is required
> by meson.
>
> The dbus option in autotools is replaced with launcher-logind in meson
> which is only ever used with systemd, so add it to the condition.
>
> Replaced WESTON_NATIVE_BACKEND with backend-default in meson.
>
> Added systemd dependency as launcher-logind depends on both dbus
> and systemd and is the only dependency that requires dbus.
>
> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
> Tested-by: Bernd Kuhls <bernd.kuhls at t-online.de>
Applied to master, thanks! :-)
Regards,
Yann E. MORIN.
> ---
> Changes v10 -> v11:
> - rebase and cleanup
>
> Changes v9 -> v10:
> - style and config cleanup
> - removed and disabled pipewire
>
> Changes v8 -> v9:
> - add patch fixing missing defines on pre-v3.17 kernels
>
> Changes v7 -> v8:
> - add patch fixing missing sys/mman.h includes
>
> Changes v6 -> v7:
> - bump weston from 7.0.0 to 8.0.0
>
> Changes v5 -> v6:
> - add pipewire support
>
> Changes v4 -> v5:
> - fix up demo clients dependencies
>
> Changes v3 -> v4:
> - bump weston from 6.0.1 to 7.0.0
>
> Changes v2 -> v3:
> - fix dmabuf-v4l headers check
> - add choice menu to select default weston backend
>
> Changes v1 -> v2:
> - Require both systemd and dbus for launcher-logind
> - Move dmabuf-v4l out of egl/gl block
> - Update imx-gpu-g2d requirement block
> ---
> ...include-sys-mman.h-in-os-compatibili.patch | 38 ++++++++
> ...issing-defines-for-pre-v3.17-kernels.patch | 42 ++++++++
> package/weston/Config.in | 15 +++
> package/weston/weston.hash | 10 +-
> package/weston/weston.mk | 95 ++++++++++---------
> 5 files changed, 149 insertions(+), 51 deletions(-)
> create mode 100644 package/weston/0001-unconditionally-include-sys-mman.h-in-os-compatibili.patch
> create mode 100644 package/weston/0002-add-missing-defines-for-pre-v3.17-kernels.patch
>
> 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 230417ac2c..bf783b70d4 100644
> --- a/package/weston/Config.in
> +++ b/package/weston/Config.in
> @@ -121,7 +121,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_INSTALL_LIBSTDCPP # pango
> + depends on BR2_TOOLCHAIN_HAS_THREADS # 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_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
> + !BR2_USE_WCHAR || !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 746befd2b3..95cf80be40 100644
> --- a/package/weston/weston.mk
> +++ b/package/weston/weston.mk
> @@ -4,37 +4,41 @@
> #
> ################################################################################
>
> -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
> + -Dbuild.pkg_config_path=$(HOST_DIR)/lib/pkgconfig \
> + -Dbackend-headless=false \
> + -Dcolor-management-colord=false \
> + -Dremoting=false \
> + -Dpipewire=false
>
> # Uses VIDIOC_EXPBUF, only available from 3.8+
> -ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),)
> -WESTON_CONF_OPTS += --disable-simple-dmabuf-v4l-client
> +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_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,90 +49,89 @@ 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
>
> 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_CONF_OPTS += -Dbackend-fbdev=true
> 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_CONF_OPTS += -Dbackend-drm=true
> 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_CONF_OPTS += -Dbackend-x11=true
> WESTON_DEPENDENCIES += libxcb xlib_libX11
> else
> -WESTON_CONF_OPTS += --disable-x11-compositor
> +WESTON_CONF_OPTS += -Dbackend-x11=false
> endif
>
> # We're guaranteed to have at least one backend
> -WESTON_CONF_OPTS += WESTON_NATIVE_BACKEND=$(call qstrip,$(BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR))
> +WESTON_CONF_OPTS += -Dbackend-default=$(call qstrip,$(BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR))
>
> 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_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))
> --
> 2.20.1
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list