All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston
@ 2020-02-02  7:16 James Hilliard
  2020-02-02  7:16 ` [Buildroot] [PATCH v9 2/3] package/wayland-protocols: bump to version 1.18 James Hilliard
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: James Hilliard @ 2020-02-02  7:16 UTC (permalink / raw)
  To: buildroot

This is in preparation for migration of weston to the meson build system.
Since weston-imx is based off of a much older version of weston it is
difficult to maintain as part of the weston package.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/Config.in                  |   1 +
 package/weston-imx/Config.in       | 108 ++++++++++++++++++++++
 package/weston-imx/weston-imx.hash |   2 +
 package/weston-imx/weston-imx.mk   | 144 +++++++++++++++++++++++++++++
 package/weston/Config.in           |   2 +
 package/weston/weston.hash         |   2 -
 package/weston/weston.mk           |  16 ----
 7 files changed, 257 insertions(+), 18 deletions(-)
 create mode 100644 package/weston-imx/Config.in
 create mode 100644 package/weston-imx/weston-imx.hash
 create mode 100644 package/weston-imx/weston-imx.mk

diff --git a/package/Config.in b/package/Config.in
index c8f23c2712..d1b31d63fb 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -342,6 +342,7 @@ comment "QT libraries and helper libraries"
 endif
 	source "package/tekui/Config.in"
 	source "package/weston/Config.in"
+	source "package/weston-imx/Config.in"
 	source "package/x11r7/Config.in"
 
 comment "X applications"
diff --git a/package/weston-imx/Config.in b/package/weston-imx/Config.in
new file mode 100644
index 0000000000..a82cb947a0
--- /dev/null
+++ b/package/weston-imx/Config.in
@@ -0,0 +1,108 @@
+comment "weston-imx needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
+	depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
+	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
+		!BR2_ENABLE_LOCALE
+
+config BR2_PACKAGE_WESTON_IMX
+	bool "weston-imx"
+	depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
+	depends on BR2_ENABLE_LOCALE # libinput
+	depends on BR2_PACKAGE_HAS_UDEV
+	depends on !BR2_STATIC_LIBS # wayland
+	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
+	select BR2_PACKAGE_WAYLAND
+	select BR2_PACKAGE_WAYLAND_PROTOCOLS
+	select BR2_PACKAGE_LIBXKBCOMMON
+	select BR2_PACKAGE_CAIRO
+	select BR2_PACKAGE_CAIRO_PNG
+	select BR2_PACKAGE_LIBPNG
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBINPUT
+	select BR2_PACKAGE_LIBDRM
+	# Runtime dependency
+	select BR2_PACKAGE_XKEYBOARD_CONFIG
+	# Make sure at least one compositor is selected.
+	select BR2_PACKAGE_WESTON_IMX_FBDEV if !BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
+	help
+	  Weston is the reference implementation of a Wayland
+	  compositor, and a useful compositor in its own right.
+	  Weston has various backends that lets it run on Linux kernel
+	  modesetting and evdev input as well as under X11.
+
+	  http://wayland.freedesktop.org/
+
+if BR2_PACKAGE_WESTON_IMX
+
+# Helper to make sure at least one compositor is selected.
+config BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
+	bool
+
+config BR2_PACKAGE_WESTON_IMX_DRM
+	bool "DRM compositor"
+	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
+	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
+
+# Uses libgbm from mesa3d
+comment "DRM compositor needs an OpenGL EGL backend provided by mesa3d"
+	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
+
+config BR2_PACKAGE_WESTON_IMX_FBDEV
+	bool "fbdev compositor"
+
+# FreeRDP needs threads and !static, already the case for weston
+config BR2_PACKAGE_WESTON_IMX_RDP
+	bool "RDP compositor"
+	depends on BR2_USE_MMU # freerdp, libglib2
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_USE_WCHAR # freerdp
+	depends on BR2_INSTALL_LIBSTDCPP # freerdp
+	select BR2_PACKAGE_FREERDP
+	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
+	help
+	  This enables the RDP backend, which allows accessing weston
+	  through the network with any RDP-compliant client.
+
+	  Please note that one must pass those options to weston for RDP
+	  to be functional:
+	    --rdp-tls-cert=/path/to/server.crt
+	    --rdp-tls-key=/path/to/server.key
+
+	  By default, Buildroot installs such files in
+	  /etc/freerdp/server/ so you may want to change them in a
+	  post-build script or a rootfs overlay.
+
+comment "RDP compositor needs a toolchain w/ wchar, C++"
+	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_WESTON_IMX_X11
+	bool "X11 compositor"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_LIBXCB
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
+
+comment "X11 compositor needs X.org enabled"
+	depends on !BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_WESTON_IMX_XWAYLAND
+	bool "XWayland support"
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_LIBEPOXY
+	select BR2_PACKAGE_CAIRO
+	select BR2_PACKAGE_LIBXCB
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XLIB_LIBXCURSOR
+
+comment "XWayland support needs libepoxy and X.org enabled"
+	depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
+
+config BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS
+	bool "demo clients"
+	help
+	  This enables the installation of Weston's demo clients.
+
+endif
diff --git a/package/weston-imx/weston-imx.hash b/package/weston-imx/weston-imx.hash
new file mode 100644
index 0000000000..759a9b6554
--- /dev/null
+++ b/package/weston-imx/weston-imx.hash
@@ -0,0 +1,2 @@
+# locally computed
+sha256 f39f7a24a01b023aa204ad47977a6476c17a307769f29d408621a05b5cbbcfc7  weston-imx-rel_imx_4.9.51_8mq_ga.tar.gz
diff --git a/package/weston-imx/weston-imx.mk b/package/weston-imx/weston-imx.mk
new file mode 100644
index 0000000000..e803fa3ee2
--- /dev/null
+++ b/package/weston-imx/weston-imx.mk
@@ -0,0 +1,144 @@
+################################################################################
+#
+# weston-imx
+#
+################################################################################
+
+WESTON_IMX_VERSION = rel_imx_4.9.51_8mq_ga
+WESTON_IMX_SITE = https://source.codeaurora.org/external/imx/weston-imx
+WESTON_IMX_SITE_METHOD = git
+WESTON_IMX_AUTORECONF = YES
+WESTON_IMX_LICENSE = MIT
+WESTON_IMX_LICENSE_FILES = COPYING
+
+WESTON_IMX_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
+	libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \
+	$(if $(BR2_PACKAGE_WEBP),webp)
+
+WESTON_IMX_CONF_OPTS = \
+	--with-dtddir=$(STAGING_DIR)/usr/share/wayland \
+	--disable-headless-compositor \
+	--disable-colord \
+	--disable-devdocs \
+	--disable-setuid-install
+
+WESTON_IMX_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_IMX_CONF_OPTS += --disable-simple-dmabuf-v4l-client
+endif
+
+ifeq ($(BR2_PACKAGE_DBUS),y)
+WESTON_IMX_CONF_OPTS += --enable-dbus
+WESTON_IMX_DEPENDENCIES += dbus
+else
+WESTON_IMX_CONF_OPTS += --disable-dbus
+endif
+
+# weston-launch must be u+s root in order to work properly
+ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
+define WESTON_IMX_PERMISSIONS
+	/usr/bin/weston-launch f 4755 0 0 - - - - -
+endef
+define WESTON_IMX_USERS
+	- - weston-launch -1 - - - - Weston launcher group
+endef
+WESTON_IMX_CONF_OPTS += --enable-weston-launch
+WESTON_IMX_DEPENDENCIES += linux-pam
+else
+WESTON_IMX_CONF_OPTS += --disable-weston-launch
+endif
+
+ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
+WESTON_IMX_DEPENDENCIES += imx-gpu-g2d
+# --enable-imxg2d actually disables it, so no CONF_OPTS
+else
+WESTON_IMX_CONF_OPTS += --disable-imxg2d
+endif
+
+ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
+WESTON_IMX_CONF_OPTS += --enable-egl
+WESTON_IMX_DEPENDENCIES += libegl libgles
+else
+WESTON_IMX_CONF_OPTS += \
+	--disable-egl \
+	--disable-simple-dmabuf-drm-client \
+	--disable-simple-egl-clients
+endif
+
+ifeq ($(BR2_PACKAGE_WESTON_IMX_RDP),y)
+WESTON_IMX_DEPENDENCIES += freerdp
+WESTON_IMX_CONF_OPTS += --enable-rdp-compositor
+else
+WESTON_IMX_CONF_OPTS += --disable-rdp-compositor
+endif
+
+ifeq ($(BR2_PACKAGE_WESTON_IMX_FBDEV),y)
+WESTON_IMX_CONF_OPTS += \
+	--enable-fbdev-compositor \
+	WESTON_IMX_NATIVE_BACKEND=fbdev-backend.so
+else
+WESTON_IMX_CONF_OPTS += --disable-fbdev-compositor
+endif
+
+ifeq ($(BR2_PACKAGE_WESTON_IMX_DRM),y)
+WESTON_IMX_CONF_OPTS += \
+	--enable-drm-compositor \
+	WESTON_IMX_NATIVE_BACKEND=drm-backend.so
+else
+WESTON_IMX_CONF_OPTS += --disable-drm-compositor
+endif
+
+ifeq ($(BR2_PACKAGE_WESTON_IMX_X11),y)
+WESTON_IMX_CONF_OPTS += \
+	--enable-x11-compositor \
+	WESTON_IMX_NATIVE_BACKEND=x11-backend.so
+WESTON_IMX_DEPENDENCIES += libxcb xlib_libX11
+else
+WESTON_IMX_CONF_OPTS += --disable-x11-compositor
+endif
+
+ifeq ($(BR2_PACKAGE_WESTON_IMX_XWAYLAND),y)
+WESTON_IMX_CONF_OPTS += --enable-xwayland
+WESTON_IMX_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor
+else
+WESTON_IMX_CONF_OPTS += --disable-xwayland
+endif
+
+ifeq ($(BR2_PACKAGE_LIBVA),y)
+WESTON_IMX_CONF_OPTS += --enable-vaapi-recorder
+WESTON_IMX_DEPENDENCIES += libva
+else
+WESTON_IMX_CONF_OPTS += --disable-vaapi-recorder
+endif
+
+ifeq ($(BR2_PACKAGE_LCMS2),y)
+WESTON_IMX_CONF_OPTS += --enable-lcms
+WESTON_IMX_DEPENDENCIES += lcms2
+else
+WESTON_IMX_CONF_OPTS += --disable-lcms
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+WESTON_IMX_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
+WESTON_IMX_DEPENDENCIES += systemd
+else
+WESTON_IMX_CONF_OPTS += --disable-systemd-login --disable-systemd-notify
+endif
+
+ifeq ($(BR2_PACKAGE_LIBXML2),y)
+WESTON_IMX_CONF_OPTS += --enable-junit-xml
+WESTON_IMX_DEPENDENCIES += libxml2
+else
+WESTON_IMX_CONF_OPTS += --disable-junit-xml
+endif
+
+ifeq ($(BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS),y)
+WESTON_IMX_CONF_OPTS += --enable-demo-clients-install
+else
+WESTON_IMX_CONF_OPTS += --disable-demo-clients-install
+endif
+
+$(eval $(autotools-package))
diff --git a/package/weston/Config.in b/package/weston/Config.in
index f874b0cc6a..5a5e288540 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -1,10 +1,12 @@
 comment "weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
+	depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
 	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
 		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
 		!BR2_ENABLE_LOCALE
 
 config BR2_PACKAGE_WESTON
 	bool "weston"
+	depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
 	depends on BR2_ENABLE_LOCALE # libinput
 	depends on BR2_PACKAGE_HAS_UDEV
 	depends on !BR2_STATIC_LIBS # wayland
diff --git a/package/weston/weston.hash b/package/weston/weston.hash
index a2dddf7a5b..c9b2d4b1ce 100644
--- a/package/weston/weston.hash
+++ b/package/weston/weston.hash
@@ -3,5 +3,3 @@ 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
-# locally computed
-sha256 0f0de7b7b1f65870139c95dde7abc19ed305631ae7c5d37c386db40cde108632  weston-rel_imx_4.9.51_8mq_ga.tar.gz
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index ee3d3be87e..154ae38b83 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -4,16 +4,9 @@
 #
 ################################################################################
 
-ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
-WESTON_VERSION = rel_imx_4.9.51_8mq_ga
-WESTON_SITE = https://source.codeaurora.org/external/imx/weston-imx
-WESTON_SITE_METHOD = git
-WESTON_AUTORECONF = YES
-else
 WESTON_VERSION = 6.0.1
 WESTON_SITE = http://wayland.freedesktop.org/releases
 WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
-endif
 WESTON_LICENSE = MIT
 WESTON_LICENSE_FILES = COPYING
 
@@ -58,15 +51,6 @@ else
 WESTON_CONF_OPTS += --disable-weston-launch
 endif
 
-ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
-ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
-WESTON_DEPENDENCIES += imx-gpu-g2d
-# --enable-imxg2d actually disables it, so no CONF_OPTS
-else
-WESTON_CONF_OPTS += --disable-imxg2d
-endif
-endif
-
 ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
 WESTON_CONF_OPTS += --enable-egl
 WESTON_DEPENDENCIES += libegl libgles
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 2/3] package/wayland-protocols: bump to version 1.18
  2020-02-02  7:16 [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston James Hilliard
@ 2020-02-02  7:16 ` James Hilliard
  2020-02-02  7:16 ` [Buildroot] [PATCH v9 3/3] package/weston: bump to version 8.0.0 James Hilliard
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: James Hilliard @ 2020-02-02  7:16 UTC (permalink / raw)
  To: buildroot

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/wayland-protocols/wayland-protocols.hash | 8 ++++----
 package/wayland-protocols/wayland-protocols.mk   | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/package/wayland-protocols/wayland-protocols.hash b/package/wayland-protocols/wayland-protocols.hash
index d62a433dfd..a27ff9e52c 100644
--- a/package/wayland-protocols/wayland-protocols.hash
+++ b/package/wayland-protocols/wayland-protocols.hash
@@ -1,5 +1,5 @@
-# From https://lists.freedesktop.org/archives/wayland-devel/2018-November/039662.html
-md5 55ddd5fdb02b73b9de9559aaec267315  wayland-protocols-1.17.tar.xz
-sha1 7d2569c838c776545e3eb1b1049b9c37178aae24  wayland-protocols-1.17.tar.xz
-sha256 df1319cf9705643aea9fd16f9056f4e5b2471bd10c0cc3713d4a4cdc23d6812f  wayland-protocols-1.17.tar.xz
+# From https://lists.freedesktop.org/archives/wayland-devel/2019-July/040756.html
+md5 af38f22d8e233c2f2e00ddc8dcc94694  wayland-protocols-1.18.tar.xz
+sha1 aa2f132c082f3c790bd046283b3ef7ce3fb11370  wayland-protocols-1.18.tar.xz
+sha256 3d73b7e7661763dc09d7d9107678400101ecff2b5b1e531674abfa81e04874b3  wayland-protocols-1.18.tar.xz
 sha256 f1a2b233e8a9a71c40f4aa885be08a0842ac85bb8588703c1dd7e6e6502e3124  COPYING
diff --git a/package/wayland-protocols/wayland-protocols.mk b/package/wayland-protocols/wayland-protocols.mk
index 5ed4c3bc90..fbfa99558d 100644
--- a/package/wayland-protocols/wayland-protocols.mk
+++ b/package/wayland-protocols/wayland-protocols.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-WAYLAND_PROTOCOLS_VERSION = 1.17
+WAYLAND_PROTOCOLS_VERSION = 1.18
 WAYLAND_PROTOCOLS_SITE = http://wayland.freedesktop.org/releases
 WAYLAND_PROTOCOLS_SOURCE = wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION).tar.xz
 WAYLAND_PROTOCOLS_LICENSE = MIT
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 3/3] package/weston: bump to version 8.0.0
  2020-02-02  7:16 [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston James Hilliard
  2020-02-02  7:16 ` [Buildroot] [PATCH v9 2/3] package/wayland-protocols: bump to version 1.18 James Hilliard
@ 2020-02-02  7:16 ` James Hilliard
  2020-02-02 10:52   ` Yann E. MORIN
  2020-02-02 10:13 ` [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston Yann E. MORIN
  2020-02-02 16:42 ` Michael Walle
  3 siblings, 1 reply; 9+ messages in thread
From: James Hilliard @ 2020-02-02  7:16 UTC (permalink / raw)
  To: buildroot

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.

We need to explicitly set the image-webp option to avoid failures when
building without webp.

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@gmail.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>

---
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                      |  35 ++++++
 package/weston/weston.hash                    |  10 +-
 package/weston/weston.mk                      | 118 ++++++++++--------
 5 files changed, 185 insertions(+), 58 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@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@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@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@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 5a5e288540..a707b64d00 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -35,6 +35,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
@@ -102,7 +122,22 @@ comment "XWayland support needs libepoxy and X.org enabled"
 
 config BR2_PACKAGE_WESTON_DEMO_CLIENTS
 	bool "demo clients"
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+	depends on BR2_USE_WCHAR # pango
+	depends on BR2_TOOLCHAIN_HAS_THREADS # pango
+	depends on BR2_USE_MMU # pango
+	depends on BR2_INSTALL_LIBSTDCPP # pango
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
+	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))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston
  2020-02-02  7:16 [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston James Hilliard
  2020-02-02  7:16 ` [Buildroot] [PATCH v9 2/3] package/wayland-protocols: bump to version 1.18 James Hilliard
  2020-02-02  7:16 ` [Buildroot] [PATCH v9 3/3] package/weston: bump to version 8.0.0 James Hilliard
@ 2020-02-02 10:13 ` Yann E. MORIN
  2020-02-02 10:35   ` ratbert90
  2020-02-02 16:42 ` Michael Walle
  3 siblings, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2020-02-02 10:13 UTC (permalink / raw)
  To: buildroot

James, All,

On 2020-02-02 00:16 -0700, James Hilliard spake thusly:
> This is in preparation for migration of weston to the meson build system.
> Since weston-imx is based off of a much older version of weston it is
> difficult to maintain as part of the weston package.
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>

Applied to master after a few fixes; please review the new commit log
for the details.

Thanks for staying on board all this time! :-)

Regards,
Yann E. MORIN.

> ---
>  package/Config.in                  |   1 +
>  package/weston-imx/Config.in       | 108 ++++++++++++++++++++++
>  package/weston-imx/weston-imx.hash |   2 +
>  package/weston-imx/weston-imx.mk   | 144 +++++++++++++++++++++++++++++
>  package/weston/Config.in           |   2 +
>  package/weston/weston.hash         |   2 -
>  package/weston/weston.mk           |  16 ----
>  7 files changed, 257 insertions(+), 18 deletions(-)
>  create mode 100644 package/weston-imx/Config.in
>  create mode 100644 package/weston-imx/weston-imx.hash
>  create mode 100644 package/weston-imx/weston-imx.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index c8f23c2712..d1b31d63fb 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -342,6 +342,7 @@ comment "QT libraries and helper libraries"
>  endif
>  	source "package/tekui/Config.in"
>  	source "package/weston/Config.in"
> +	source "package/weston-imx/Config.in"
>  	source "package/x11r7/Config.in"
>  
>  comment "X applications"
> diff --git a/package/weston-imx/Config.in b/package/weston-imx/Config.in
> new file mode 100644
> index 0000000000..a82cb947a0
> --- /dev/null
> +++ b/package/weston-imx/Config.in
> @@ -0,0 +1,108 @@
> +comment "weston-imx needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
> +	depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> +	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
> +		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
> +		!BR2_ENABLE_LOCALE
> +
> +config BR2_PACKAGE_WESTON_IMX
> +	bool "weston-imx"
> +	depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> +	depends on BR2_ENABLE_LOCALE # libinput
> +	depends on BR2_PACKAGE_HAS_UDEV
> +	depends on !BR2_STATIC_LIBS # wayland
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
> +	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
> +	select BR2_PACKAGE_WAYLAND
> +	select BR2_PACKAGE_WAYLAND_PROTOCOLS
> +	select BR2_PACKAGE_LIBXKBCOMMON
> +	select BR2_PACKAGE_CAIRO
> +	select BR2_PACKAGE_CAIRO_PNG
> +	select BR2_PACKAGE_LIBPNG
> +	select BR2_PACKAGE_JPEG
> +	select BR2_PACKAGE_LIBINPUT
> +	select BR2_PACKAGE_LIBDRM
> +	# Runtime dependency
> +	select BR2_PACKAGE_XKEYBOARD_CONFIG
> +	# Make sure at least one compositor is selected.
> +	select BR2_PACKAGE_WESTON_IMX_FBDEV if !BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +	help
> +	  Weston is the reference implementation of a Wayland
> +	  compositor, and a useful compositor in its own right.
> +	  Weston has various backends that lets it run on Linux kernel
> +	  modesetting and evdev input as well as under X11.
> +
> +	  http://wayland.freedesktop.org/
> +
> +if BR2_PACKAGE_WESTON_IMX
> +
> +# Helper to make sure at least one compositor is selected.
> +config BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +	bool
> +
> +config BR2_PACKAGE_WESTON_IMX_DRM
> +	bool "DRM compositor"
> +	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
> +	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +
> +# Uses libgbm from mesa3d
> +comment "DRM compositor needs an OpenGL EGL backend provided by mesa3d"
> +	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
> +
> +config BR2_PACKAGE_WESTON_IMX_FBDEV
> +	bool "fbdev compositor"
> +
> +# FreeRDP needs threads and !static, already the case for weston
> +config BR2_PACKAGE_WESTON_IMX_RDP
> +	bool "RDP compositor"
> +	depends on BR2_USE_MMU # freerdp, libglib2
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4
> +	depends on BR2_USE_WCHAR # freerdp
> +	depends on BR2_INSTALL_LIBSTDCPP # freerdp
> +	select BR2_PACKAGE_FREERDP
> +	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +	help
> +	  This enables the RDP backend, which allows accessing weston
> +	  through the network with any RDP-compliant client.
> +
> +	  Please note that one must pass those options to weston for RDP
> +	  to be functional:
> +	    --rdp-tls-cert=/path/to/server.crt
> +	    --rdp-tls-key=/path/to/server.key
> +
> +	  By default, Buildroot installs such files in
> +	  /etc/freerdp/server/ so you may want to change them in a
> +	  post-build script or a rootfs overlay.
> +
> +comment "RDP compositor needs a toolchain w/ wchar, C++"
> +	depends on BR2_USE_MMU
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4
> +	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
> +
> +config BR2_PACKAGE_WESTON_IMX_X11
> +	bool "X11 compositor"
> +	depends on BR2_PACKAGE_XORG7
> +	select BR2_PACKAGE_LIBXCB
> +	select BR2_PACKAGE_XLIB_LIBX11
> +	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +
> +comment "X11 compositor needs X.org enabled"
> +	depends on !BR2_PACKAGE_XORG7
> +
> +config BR2_PACKAGE_WESTON_IMX_XWAYLAND
> +	bool "XWayland support"
> +	depends on BR2_PACKAGE_XORG7
> +	depends on BR2_PACKAGE_LIBEPOXY
> +	select BR2_PACKAGE_CAIRO
> +	select BR2_PACKAGE_LIBXCB
> +	select BR2_PACKAGE_XLIB_LIBX11
> +	select BR2_PACKAGE_XLIB_LIBXCURSOR
> +
> +comment "XWayland support needs libepoxy and X.org enabled"
> +	depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
> +
> +config BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS
> +	bool "demo clients"
> +	help
> +	  This enables the installation of Weston's demo clients.
> +
> +endif
> diff --git a/package/weston-imx/weston-imx.hash b/package/weston-imx/weston-imx.hash
> new file mode 100644
> index 0000000000..759a9b6554
> --- /dev/null
> +++ b/package/weston-imx/weston-imx.hash
> @@ -0,0 +1,2 @@
> +# locally computed
> +sha256 f39f7a24a01b023aa204ad47977a6476c17a307769f29d408621a05b5cbbcfc7  weston-imx-rel_imx_4.9.51_8mq_ga.tar.gz
> diff --git a/package/weston-imx/weston-imx.mk b/package/weston-imx/weston-imx.mk
> new file mode 100644
> index 0000000000..e803fa3ee2
> --- /dev/null
> +++ b/package/weston-imx/weston-imx.mk
> @@ -0,0 +1,144 @@
> +################################################################################
> +#
> +# weston-imx
> +#
> +################################################################################
> +
> +WESTON_IMX_VERSION = rel_imx_4.9.51_8mq_ga
> +WESTON_IMX_SITE = https://source.codeaurora.org/external/imx/weston-imx
> +WESTON_IMX_SITE_METHOD = git
> +WESTON_IMX_AUTORECONF = YES
> +WESTON_IMX_LICENSE = MIT
> +WESTON_IMX_LICENSE_FILES = COPYING
> +
> +WESTON_IMX_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
> +	libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \
> +	$(if $(BR2_PACKAGE_WEBP),webp)
> +
> +WESTON_IMX_CONF_OPTS = \
> +	--with-dtddir=$(STAGING_DIR)/usr/share/wayland \
> +	--disable-headless-compositor \
> +	--disable-colord \
> +	--disable-devdocs \
> +	--disable-setuid-install
> +
> +WESTON_IMX_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_IMX_CONF_OPTS += --disable-simple-dmabuf-v4l-client
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DBUS),y)
> +WESTON_IMX_CONF_OPTS += --enable-dbus
> +WESTON_IMX_DEPENDENCIES += dbus
> +else
> +WESTON_IMX_CONF_OPTS += --disable-dbus
> +endif
> +
> +# weston-launch must be u+s root in order to work properly
> +ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
> +define WESTON_IMX_PERMISSIONS
> +	/usr/bin/weston-launch f 4755 0 0 - - - - -
> +endef
> +define WESTON_IMX_USERS
> +	- - weston-launch -1 - - - - Weston launcher group
> +endef
> +WESTON_IMX_CONF_OPTS += --enable-weston-launch
> +WESTON_IMX_DEPENDENCIES += linux-pam
> +else
> +WESTON_IMX_CONF_OPTS += --disable-weston-launch
> +endif
> +
> +ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
> +WESTON_IMX_DEPENDENCIES += imx-gpu-g2d
> +# --enable-imxg2d actually disables it, so no CONF_OPTS
> +else
> +WESTON_IMX_CONF_OPTS += --disable-imxg2d
> +endif
> +
> +ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
> +WESTON_IMX_CONF_OPTS += --enable-egl
> +WESTON_IMX_DEPENDENCIES += libegl libgles
> +else
> +WESTON_IMX_CONF_OPTS += \
> +	--disable-egl \
> +	--disable-simple-dmabuf-drm-client \
> +	--disable-simple-egl-clients
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_RDP),y)
> +WESTON_IMX_DEPENDENCIES += freerdp
> +WESTON_IMX_CONF_OPTS += --enable-rdp-compositor
> +else
> +WESTON_IMX_CONF_OPTS += --disable-rdp-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_FBDEV),y)
> +WESTON_IMX_CONF_OPTS += \
> +	--enable-fbdev-compositor \
> +	WESTON_IMX_NATIVE_BACKEND=fbdev-backend.so
> +else
> +WESTON_IMX_CONF_OPTS += --disable-fbdev-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_DRM),y)
> +WESTON_IMX_CONF_OPTS += \
> +	--enable-drm-compositor \
> +	WESTON_IMX_NATIVE_BACKEND=drm-backend.so
> +else
> +WESTON_IMX_CONF_OPTS += --disable-drm-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_X11),y)
> +WESTON_IMX_CONF_OPTS += \
> +	--enable-x11-compositor \
> +	WESTON_IMX_NATIVE_BACKEND=x11-backend.so
> +WESTON_IMX_DEPENDENCIES += libxcb xlib_libX11
> +else
> +WESTON_IMX_CONF_OPTS += --disable-x11-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_XWAYLAND),y)
> +WESTON_IMX_CONF_OPTS += --enable-xwayland
> +WESTON_IMX_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor
> +else
> +WESTON_IMX_CONF_OPTS += --disable-xwayland
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBVA),y)
> +WESTON_IMX_CONF_OPTS += --enable-vaapi-recorder
> +WESTON_IMX_DEPENDENCIES += libva
> +else
> +WESTON_IMX_CONF_OPTS += --disable-vaapi-recorder
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LCMS2),y)
> +WESTON_IMX_CONF_OPTS += --enable-lcms
> +WESTON_IMX_DEPENDENCIES += lcms2
> +else
> +WESTON_IMX_CONF_OPTS += --disable-lcms
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +WESTON_IMX_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
> +WESTON_IMX_DEPENDENCIES += systemd
> +else
> +WESTON_IMX_CONF_OPTS += --disable-systemd-login --disable-systemd-notify
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBXML2),y)
> +WESTON_IMX_CONF_OPTS += --enable-junit-xml
> +WESTON_IMX_DEPENDENCIES += libxml2
> +else
> +WESTON_IMX_CONF_OPTS += --disable-junit-xml
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS),y)
> +WESTON_IMX_CONF_OPTS += --enable-demo-clients-install
> +else
> +WESTON_IMX_CONF_OPTS += --disable-demo-clients-install
> +endif
> +
> +$(eval $(autotools-package))
> diff --git a/package/weston/Config.in b/package/weston/Config.in
> index f874b0cc6a..5a5e288540 100644
> --- a/package/weston/Config.in
> +++ b/package/weston/Config.in
> @@ -1,10 +1,12 @@
>  comment "weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
> +	depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>  	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
>  		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
>  		!BR2_ENABLE_LOCALE
>  
>  config BR2_PACKAGE_WESTON
>  	bool "weston"
> +	depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>  	depends on BR2_ENABLE_LOCALE # libinput
>  	depends on BR2_PACKAGE_HAS_UDEV
>  	depends on !BR2_STATIC_LIBS # wayland
> diff --git a/package/weston/weston.hash b/package/weston/weston.hash
> index a2dddf7a5b..c9b2d4b1ce 100644
> --- a/package/weston/weston.hash
> +++ b/package/weston/weston.hash
> @@ -3,5 +3,3 @@ 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
> -# locally computed
> -sha256 0f0de7b7b1f65870139c95dde7abc19ed305631ae7c5d37c386db40cde108632  weston-rel_imx_4.9.51_8mq_ga.tar.gz
> diff --git a/package/weston/weston.mk b/package/weston/weston.mk
> index ee3d3be87e..154ae38b83 100644
> --- a/package/weston/weston.mk
> +++ b/package/weston/weston.mk
> @@ -4,16 +4,9 @@
>  #
>  ################################################################################
>  
> -ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
> -WESTON_VERSION = rel_imx_4.9.51_8mq_ga
> -WESTON_SITE = https://source.codeaurora.org/external/imx/weston-imx
> -WESTON_SITE_METHOD = git
> -WESTON_AUTORECONF = YES
> -else
>  WESTON_VERSION = 6.0.1
>  WESTON_SITE = http://wayland.freedesktop.org/releases
>  WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
> -endif
>  WESTON_LICENSE = MIT
>  WESTON_LICENSE_FILES = COPYING
>  
> @@ -58,15 +51,6 @@ else
>  WESTON_CONF_OPTS += --disable-weston-launch
>  endif
>  
> -ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
> -ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
> -WESTON_DEPENDENCIES += imx-gpu-g2d
> -# --enable-imxg2d actually disables it, so no CONF_OPTS
> -else
> -WESTON_CONF_OPTS += --disable-imxg2d
> -endif
> -endif
> -
>  ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
>  WESTON_CONF_OPTS += --enable-egl
>  WESTON_DEPENDENCIES += libegl libgles
> -- 
> 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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston
  2020-02-02 10:13 ` [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston Yann E. MORIN
@ 2020-02-02 10:35   ` ratbert90
  0 siblings, 0 replies; 9+ messages in thread
From: ratbert90 @ 2020-02-02 10:35 UTC (permalink / raw)
  To: buildroot

Congratulations!

________________________________
From: buildroot <buildroot-bounces@busybox.net> on behalf of Yann E. MORIN <yann.morin.1998@free.fr>
Sent: Sunday, February 2, 2020 11:13:47 AM
To: James Hilliard <james.hilliard1@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>; buildroot at buildroot.org <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston

James, All,

On 2020-02-02 00:16 -0700, James Hilliard spake thusly:
> This is in preparation for migration of weston to the meson build system.
> Since weston-imx is based off of a much older version of weston it is
> difficult to maintain as part of the weston package.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>

Applied to master after a few fixes; please review the new commit log
for the details.

Thanks for staying on board all this time! :-)

Regards,
Yann E. MORIN.

> ---
>  package/Config.in                  |   1 +
>  package/weston-imx/Config.in       | 108 ++++++++++++++++++++++
>  package/weston-imx/weston-imx.hash |   2 +
>  package/weston-imx/weston-imx.mk   | 144 +++++++++++++++++++++++++++++
>  package/weston/Config.in           |   2 +
>  package/weston/weston.hash         |   2 -
>  package/weston/weston.mk           |  16 ----
>  7 files changed, 257 insertions(+), 18 deletions(-)
>  create mode 100644 package/weston-imx/Config.in
>  create mode 100644 package/weston-imx/weston-imx.hash
>  create mode 100644 package/weston-imx/weston-imx.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index c8f23c2712..d1b31d63fb 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -342,6 +342,7 @@ comment "QT libraries and helper libraries"
>  endif
>        source "package/tekui/Config.in"
>        source "package/weston/Config.in"
> +     source "package/weston-imx/Config.in"
>        source "package/x11r7/Config.in"
>
>  comment "X applications"
> diff --git a/package/weston-imx/Config.in b/package/weston-imx/Config.in
> new file mode 100644
> index 0000000000..a82cb947a0
> --- /dev/null
> +++ b/package/weston-imx/Config.in
> @@ -0,0 +1,108 @@
> +comment "weston-imx needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
> +     depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> +     depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
> +             !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
> +             !BR2_ENABLE_LOCALE
> +
> +config BR2_PACKAGE_WESTON_IMX
> +     bool "weston-imx"
> +     depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> +     depends on BR2_ENABLE_LOCALE # libinput
> +     depends on BR2_PACKAGE_HAS_UDEV
> +     depends on !BR2_STATIC_LIBS # wayland
> +     depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
> +     depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
> +     select BR2_PACKAGE_WAYLAND
> +     select BR2_PACKAGE_WAYLAND_PROTOCOLS
> +     select BR2_PACKAGE_LIBXKBCOMMON
> +     select BR2_PACKAGE_CAIRO
> +     select BR2_PACKAGE_CAIRO_PNG
> +     select BR2_PACKAGE_LIBPNG
> +     select BR2_PACKAGE_JPEG
> +     select BR2_PACKAGE_LIBINPUT
> +     select BR2_PACKAGE_LIBDRM
> +     # Runtime dependency
> +     select BR2_PACKAGE_XKEYBOARD_CONFIG
> +     # Make sure at least one compositor is selected.
> +     select BR2_PACKAGE_WESTON_IMX_FBDEV if !BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +     help
> +       Weston is the reference implementation of a Wayland
> +       compositor, and a useful compositor in its own right.
> +       Weston has various backends that lets it run on Linux kernel
> +       modesetting and evdev input as well as under X11.
> +
> +       http://wayland.freedesktop.org/
> +
> +if BR2_PACKAGE_WESTON_IMX
> +
> +# Helper to make sure at least one compositor is selected.
> +config BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +     bool
> +
> +config BR2_PACKAGE_WESTON_IMX_DRM
> +     bool "DRM compositor"
> +     depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
> +     select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +
> +# Uses libgbm from mesa3d
> +comment "DRM compositor needs an OpenGL EGL backend provided by mesa3d"
> +     depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
> +
> +config BR2_PACKAGE_WESTON_IMX_FBDEV
> +     bool "fbdev compositor"
> +
> +# FreeRDP needs threads and !static, already the case for weston
> +config BR2_PACKAGE_WESTON_IMX_RDP
> +     bool "RDP compositor"
> +     depends on BR2_USE_MMU # freerdp, libglib2
> +     depends on BR2_TOOLCHAIN_HAS_SYNC_4
> +     depends on BR2_USE_WCHAR # freerdp
> +     depends on BR2_INSTALL_LIBSTDCPP # freerdp
> +     select BR2_PACKAGE_FREERDP
> +     select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +     help
> +       This enables the RDP backend, which allows accessing weston
> +       through the network with any RDP-compliant client.
> +
> +       Please note that one must pass those options to weston for RDP
> +       to be functional:
> +         --rdp-tls-cert=/path/to/server.crt
> +         --rdp-tls-key=/path/to/server.key
> +
> +       By default, Buildroot installs such files in
> +       /etc/freerdp/server/ so you may want to change them in a
> +       post-build script or a rootfs overlay.
> +
> +comment "RDP compositor needs a toolchain w/ wchar, C++"
> +     depends on BR2_USE_MMU
> +     depends on BR2_TOOLCHAIN_HAS_SYNC_4
> +     depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
> +
> +config BR2_PACKAGE_WESTON_IMX_X11
> +     bool "X11 compositor"
> +     depends on BR2_PACKAGE_XORG7
> +     select BR2_PACKAGE_LIBXCB
> +     select BR2_PACKAGE_XLIB_LIBX11
> +     select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
> +
> +comment "X11 compositor needs X.org enabled"
> +     depends on !BR2_PACKAGE_XORG7
> +
> +config BR2_PACKAGE_WESTON_IMX_XWAYLAND
> +     bool "XWayland support"
> +     depends on BR2_PACKAGE_XORG7
> +     depends on BR2_PACKAGE_LIBEPOXY
> +     select BR2_PACKAGE_CAIRO
> +     select BR2_PACKAGE_LIBXCB
> +     select BR2_PACKAGE_XLIB_LIBX11
> +     select BR2_PACKAGE_XLIB_LIBXCURSOR
> +
> +comment "XWayland support needs libepoxy and X.org enabled"
> +     depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
> +
> +config BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS
> +     bool "demo clients"
> +     help
> +       This enables the installation of Weston's demo clients.
> +
> +endif
> diff --git a/package/weston-imx/weston-imx.hash b/package/weston-imx/weston-imx.hash
> new file mode 100644
> index 0000000000..759a9b6554
> --- /dev/null
> +++ b/package/weston-imx/weston-imx.hash
> @@ -0,0 +1,2 @@
> +# locally computed
> +sha256 f39f7a24a01b023aa204ad47977a6476c17a307769f29d408621a05b5cbbcfc7  weston-imx-rel_imx_4.9.51_8mq_ga.tar.gz
> diff --git a/package/weston-imx/weston-imx.mk b/package/weston-imx/weston-imx.mk
> new file mode 100644
> index 0000000000..e803fa3ee2
> --- /dev/null
> +++ b/package/weston-imx/weston-imx.mk
> @@ -0,0 +1,144 @@
> +################################################################################
> +#
> +# weston-imx
> +#
> +################################################################################
> +
> +WESTON_IMX_VERSION = rel_imx_4.9.51_8mq_ga
> +WESTON_IMX_SITE = https://source.codeaurora.org/external/imx/weston-imx
> +WESTON_IMX_SITE_METHOD = git
> +WESTON_IMX_AUTORECONF = YES
> +WESTON_IMX_LICENSE = MIT
> +WESTON_IMX_LICENSE_FILES = COPYING
> +
> +WESTON_IMX_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
> +     libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \
> +     $(if $(BR2_PACKAGE_WEBP),webp)
> +
> +WESTON_IMX_CONF_OPTS = \
> +     --with-dtddir=$(STAGING_DIR)/usr/share/wayland \
> +     --disable-headless-compositor \
> +     --disable-colord \
> +     --disable-devdocs \
> +     --disable-setuid-install
> +
> +WESTON_IMX_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_IMX_CONF_OPTS += --disable-simple-dmabuf-v4l-client
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DBUS),y)
> +WESTON_IMX_CONF_OPTS += --enable-dbus
> +WESTON_IMX_DEPENDENCIES += dbus
> +else
> +WESTON_IMX_CONF_OPTS += --disable-dbus
> +endif
> +
> +# weston-launch must be u+s root in order to work properly
> +ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
> +define WESTON_IMX_PERMISSIONS
> +     /usr/bin/weston-launch f 4755 0 0 - - - - -
> +endef
> +define WESTON_IMX_USERS
> +     - - weston-launch -1 - - - - Weston launcher group
> +endef
> +WESTON_IMX_CONF_OPTS += --enable-weston-launch
> +WESTON_IMX_DEPENDENCIES += linux-pam
> +else
> +WESTON_IMX_CONF_OPTS += --disable-weston-launch
> +endif
> +
> +ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
> +WESTON_IMX_DEPENDENCIES += imx-gpu-g2d
> +# --enable-imxg2d actually disables it, so no CONF_OPTS
> +else
> +WESTON_IMX_CONF_OPTS += --disable-imxg2d
> +endif
> +
> +ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
> +WESTON_IMX_CONF_OPTS += --enable-egl
> +WESTON_IMX_DEPENDENCIES += libegl libgles
> +else
> +WESTON_IMX_CONF_OPTS += \
> +     --disable-egl \
> +     --disable-simple-dmabuf-drm-client \
> +     --disable-simple-egl-clients
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_RDP),y)
> +WESTON_IMX_DEPENDENCIES += freerdp
> +WESTON_IMX_CONF_OPTS += --enable-rdp-compositor
> +else
> +WESTON_IMX_CONF_OPTS += --disable-rdp-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_FBDEV),y)
> +WESTON_IMX_CONF_OPTS += \
> +     --enable-fbdev-compositor \
> +     WESTON_IMX_NATIVE_BACKEND=fbdev-backend.so
> +else
> +WESTON_IMX_CONF_OPTS += --disable-fbdev-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_DRM),y)
> +WESTON_IMX_CONF_OPTS += \
> +     --enable-drm-compositor \
> +     WESTON_IMX_NATIVE_BACKEND=drm-backend.so
> +else
> +WESTON_IMX_CONF_OPTS += --disable-drm-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_X11),y)
> +WESTON_IMX_CONF_OPTS += \
> +     --enable-x11-compositor \
> +     WESTON_IMX_NATIVE_BACKEND=x11-backend.so
> +WESTON_IMX_DEPENDENCIES += libxcb xlib_libX11
> +else
> +WESTON_IMX_CONF_OPTS += --disable-x11-compositor
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_XWAYLAND),y)
> +WESTON_IMX_CONF_OPTS += --enable-xwayland
> +WESTON_IMX_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor
> +else
> +WESTON_IMX_CONF_OPTS += --disable-xwayland
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBVA),y)
> +WESTON_IMX_CONF_OPTS += --enable-vaapi-recorder
> +WESTON_IMX_DEPENDENCIES += libva
> +else
> +WESTON_IMX_CONF_OPTS += --disable-vaapi-recorder
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LCMS2),y)
> +WESTON_IMX_CONF_OPTS += --enable-lcms
> +WESTON_IMX_DEPENDENCIES += lcms2
> +else
> +WESTON_IMX_CONF_OPTS += --disable-lcms
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +WESTON_IMX_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
> +WESTON_IMX_DEPENDENCIES += systemd
> +else
> +WESTON_IMX_CONF_OPTS += --disable-systemd-login --disable-systemd-notify
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBXML2),y)
> +WESTON_IMX_CONF_OPTS += --enable-junit-xml
> +WESTON_IMX_DEPENDENCIES += libxml2
> +else
> +WESTON_IMX_CONF_OPTS += --disable-junit-xml
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS),y)
> +WESTON_IMX_CONF_OPTS += --enable-demo-clients-install
> +else
> +WESTON_IMX_CONF_OPTS += --disable-demo-clients-install
> +endif
> +
> +$(eval $(autotools-package))
> diff --git a/package/weston/Config.in b/package/weston/Config.in
> index f874b0cc6a..5a5e288540 100644
> --- a/package/weston/Config.in
> +++ b/package/weston/Config.in
> @@ -1,10 +1,12 @@
>  comment "weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
> +     depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>        depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
>                !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
>                !BR2_ENABLE_LOCALE
>
>  config BR2_PACKAGE_WESTON
>        bool "weston"
> +     depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>        depends on BR2_ENABLE_LOCALE # libinput
>        depends on BR2_PACKAGE_HAS_UDEV
>        depends on !BR2_STATIC_LIBS # wayland
> diff --git a/package/weston/weston.hash b/package/weston/weston.hash
> index a2dddf7a5b..c9b2d4b1ce 100644
> --- a/package/weston/weston.hash
> +++ b/package/weston/weston.hash
> @@ -3,5 +3,3 @@ 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
> -# locally computed
> -sha256 0f0de7b7b1f65870139c95dde7abc19ed305631ae7c5d37c386db40cde108632  weston-rel_imx_4.9.51_8mq_ga.tar.gz
> diff --git a/package/weston/weston.mk b/package/weston/weston.mk
> index ee3d3be87e..154ae38b83 100644
> --- a/package/weston/weston.mk
> +++ b/package/weston/weston.mk
> @@ -4,16 +4,9 @@
>  #
>  ################################################################################
>
> -ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
> -WESTON_VERSION = rel_imx_4.9.51_8mq_ga
> -WESTON_SITE = https://source.codeaurora.org/external/imx/weston-imx
> -WESTON_SITE_METHOD = git
> -WESTON_AUTORECONF = YES
> -else
>  WESTON_VERSION = 6.0.1
>  WESTON_SITE = http://wayland.freedesktop.org/releases
>  WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
> -endif
>  WESTON_LICENSE = MIT
>  WESTON_LICENSE_FILES = COPYING
>
> @@ -58,15 +51,6 @@ else
>  WESTON_CONF_OPTS += --disable-weston-launch
>  endif
>
> -ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
> -ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
> -WESTON_DEPENDENCIES += imx-gpu-g2d
> -# --enable-imxg2d actually disables it, so no CONF_OPTS
> -else
> -WESTON_CONF_OPTS += --disable-imxg2d
> -endif
> -endif
> -
>  ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
>  WESTON_CONF_OPTS += --enable-egl
>  WESTON_DEPENDENCIES += libegl libgles
> --
> 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.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20200202/194f00ef/attachment.html>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 3/3] package/weston: bump to version 8.0.0
  2020-02-02  7:16 ` [Buildroot] [PATCH v9 3/3] package/weston: bump to version 8.0.0 James Hilliard
@ 2020-02-02 10:52   ` Yann E. MORIN
  2020-02-02 11:43     ` James Hilliard
  0 siblings, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2020-02-02 10:52 UTC (permalink / raw)
  To: buildroot

James, All,

On 2020-02-02 00:16 -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."

> We need to explicitly set the image-webp option to avoid failures when
> building without webp.

There's no need for this kind of detail in the commit log.

> Replaced WESTON_NATIVE_BACKEND with backend-default in meson.

This should be a preparatory patch, because it also makes sense with the
current situation.

However, if only the RDP backend isenabled, there is then no default.
That's not good.

Furthermore, the choise of a default is before the actual selection, so
it means the user as to back and forth to change the default.

I would alternatively suggest that the choice indeed stays first, but
that dthe dependency is incerted: the choice seelcts the defautl
backend:

    choice
        bool "default compositor"

        config BR2_PKG_WESON_DEFAULT_FB
            bool "fb"
            select BR2_PKG_WESTON_FB

        config BR2_PKG_WESTON_DEFAULT_DRM
            bool "drm"
            depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
            select BR2_PKG_WESTON_DRM

        comment ""drm backend needs mesa3d w/ EGL driver"
            depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL

        [...x11, rdp...]

    endchoice

    config BR2_PKG_WESTON_DEFAULT_COMPOSITOR
        string
        default "fbdev" if BR2_PKG_WESON_DEFAULT_FB
        default "drm"   if BR2_PKG_WESON_DEFAULT_DRM
        [...]

    config BR2_PKG_WESTON_FB
        bool "fb compositor"

    config BR2_PKG_WESTON_DRM
        bool "drm compositor"
        depends on BR2_PACKAGE_MESA3D_OPENGL_EGL

    [...]

> Added optional pipewire dependency.

This should be done in a follow up patch.

> Added patch fixing missing include in os-compatibility.c.

Such details are not needed in the commit log, as long as the patch
description is good enough (which it should be). Otherwise, you'd also
have to explain the second patch too...

> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[--SNIP--]
> @@ -102,7 +122,22 @@ comment "XWayland support needs libepoxy and X.org enabled"
>  
>  config BR2_PACKAGE_WESTON_DEMO_CLIENTS
>  	bool "demo clients"
> +	depends on BR2_PACKAGE_HAS_LIBGLES
> +	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
> +	depends on BR2_USE_WCHAR # pango
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # pango
> +	depends on BR2_USE_MMU # pango
> +	depends on BR2_INSTALL_LIBSTDCPP # pango
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango

Please keep the dependency in the order described in the manual:
  - qrchitecture dependencies, e.g. MMU...
  - toolchain dependencies, e.g. sync-4, stdc++ threads, wchar...
  - system depependencies, e.g. init system...
  - negative package dependencies, e.g. !foo, !bar_opt
  - positive package dependencies, e.g. foo, bar_opt

[--SNIP--]
> -# 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

You're moving conditions around (the vidioc one was later), so it makes
reviewing even more complicated...

> +ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_SYSTEMD),yy)

This new systemd dependency should be explained in the commit log (see
my proposal blurb above).

>  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

This (and the following cases) should be replaced by a single line,
outside of any condition:

    WESTON_CONF_OPTS += -Dbackend-default=$(call qstrip,$(BR2_PKG_WESTON_DEFAULT_COMPOSITOR))

Care to fix and respin, please?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 3/3] package/weston: bump to version 8.0.0
  2020-02-02 10:52   ` Yann E. MORIN
@ 2020-02-02 11:43     ` James Hilliard
  0 siblings, 0 replies; 9+ messages in thread
From: James Hilliard @ 2020-02-02 11:43 UTC (permalink / raw)
  To: buildroot

On Sun, Feb 2, 2020 at 3:52 AM Yann E. MORIN <yann.morin.1998@free.fr> wrote:
>
> James, All,
>
> On 2020-02-02 00:16 -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."
>
> > We need to explicitly set the image-webp option to avoid failures when
> > building without webp.
>
> There's no need for this kind of detail in the commit log.
>
> > Replaced WESTON_NATIVE_BACKEND with backend-default in meson.
>
> This should be a preparatory patch, because it also makes sense with the
> current situation.
The behavior of WESTON_NATIVE_BACKEND appears to be a bit different
from backend-default, see:
https://github.com/wayland-project/weston/blob/6.0.1/configure.ac#L102-L103
>
> However, if only the RDP backend isenabled, there is then no default.
> That's not good.
>
> Furthermore, the choise of a default is before the actual selection, so
> it means the user as to back and forth to change the default.
>
> I would alternatively suggest that the choice indeed stays first, but
> that dthe dependency is incerted: the choice seelcts the defautl
> backend:
>
>     choice
>         bool "default compositor"
>
>         config BR2_PKG_WESON_DEFAULT_FB
>             bool "fb"
>             select BR2_PKG_WESTON_FB
>
>         config BR2_PKG_WESTON_DEFAULT_DRM
>             bool "drm"
>             depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
>             select BR2_PKG_WESTON_DRM
>
>         comment ""drm backend needs mesa3d w/ EGL driver"
>             depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
>
>         [...x11, rdp...]
>
>     endchoice
>
>     config BR2_PKG_WESTON_DEFAULT_COMPOSITOR
>         string
>         default "fbdev" if BR2_PKG_WESON_DEFAULT_FB
>         default "drm"   if BR2_PKG_WESON_DEFAULT_DRM
>         [...]
>
>     config BR2_PKG_WESTON_FB
>         bool "fb compositor"
>
>     config BR2_PKG_WESTON_DRM
>         bool "drm compositor"
>         depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
>
>     [...]
>
> > Added optional pipewire dependency.
>
> This should be done in a follow up patch.
>
> > Added patch fixing missing include in os-compatibility.c.
>
> Such details are not needed in the commit log, as long as the patch
> description is good enough (which it should be). Otherwise, you'd also
> have to explain the second patch too...
>
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> [--SNIP--]
> > @@ -102,7 +122,22 @@ comment "XWayland support needs libepoxy and X.org enabled"
> >
> >  config BR2_PACKAGE_WESTON_DEMO_CLIENTS
> >       bool "demo clients"
> > +     depends on BR2_PACKAGE_HAS_LIBGLES
> > +     depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
> > +     depends on BR2_USE_WCHAR # pango
> > +     depends on BR2_TOOLCHAIN_HAS_THREADS # pango
> > +     depends on BR2_USE_MMU # pango
> > +     depends on BR2_INSTALL_LIBSTDCPP # pango
> > +     depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
>
> Please keep the dependency in the order described in the manual:
>   - qrchitecture dependencies, e.g. MMU...
>   - toolchain dependencies, e.g. sync-4, stdc++ threads, wchar...
>   - system depependencies, e.g. init system...
>   - negative package dependencies, e.g. !foo, !bar_opt
>   - positive package dependencies, e.g. foo, bar_opt
>
> [--SNIP--]
> > -# 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
>
> You're moving conditions around (the vidioc one was later), so it makes
> reviewing even more complicated...
>
> > +ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_SYSTEMD),yy)
>
> This new systemd dependency should be explained in the commit log (see
> my proposal blurb above).
>
> >  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
>
> This (and the following cases) should be replaced by a single line,
> outside of any condition:
>
>     WESTON_CONF_OPTS += -Dbackend-default=$(call qstrip,$(BR2_PKG_WESTON_DEFAULT_COMPOSITOR))
>
> Care to fix and respin, please?
>
> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  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.  |
> '------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston
  2020-02-02  7:16 [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston James Hilliard
                   ` (2 preceding siblings ...)
  2020-02-02 10:13 ` [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston Yann E. MORIN
@ 2020-02-02 16:42 ` Michael Walle
  2020-02-02 19:02   ` Yann E. MORIN
  3 siblings, 1 reply; 9+ messages in thread
From: Michael Walle @ 2020-02-02 16:42 UTC (permalink / raw)
  To: buildroot

Hi, 

Am 2. Februar 2020 08:16:44 MEZ schrieb James Hilliard <james.hilliard1@gmail.com>:
>This is in preparation for migration of weston to the meson build
>system.
>Since weston-imx is based off of a much older version of weston it is
>difficult to maintain as part of the weston package.
>
>Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
>---
> package/Config.in                  |   1 +
> package/weston-imx/Config.in       | 108 ++++++++++++++++++++++
> package/weston-imx/weston-imx.hash |   2 +
> package/weston-imx/weston-imx.mk   | 144 +++++++++++++++++++++++++++++

I'm too late to this since this is already merged.. but now that weston-imx is a separate package shouldn't it go into packages/freescale-imx/? 


-michael 

> package/weston/Config.in           |   2 +
> package/weston/weston.hash         |   2 -
> package/weston/weston.mk           |  16 ----
> 7 files changed, 257 insertions(+), 18 deletions(-)
> create mode 100644 package/weston-imx/Config.in
> create mode 100644 package/weston-imx/weston-imx.hash
> create mode 100644 package/weston-imx/weston-imx.mk
>
>diff --git a/package/Config.in b/package/Config.in
>index c8f23c2712..d1b31d63fb 100644
>--- a/package/Config.in
>+++ b/package/Config.in
>@@ -342,6 +342,7 @@ comment "QT libraries and helper libraries"
> endif
> 	source "package/tekui/Config.in"
> 	source "package/weston/Config.in"
>+	source "package/weston-imx/Config.in"
> 	source "package/x11r7/Config.in"
> 
> comment "X applications"
>diff --git a/package/weston-imx/Config.in
>b/package/weston-imx/Config.in
>new file mode 100644
>index 0000000000..a82cb947a0
>--- /dev/null
>+++ b/package/weston-imx/Config.in
>@@ -0,0 +1,108 @@
>+comment "weston-imx needs udev and a toolchain w/ locale, threads,
>dynamic library, headers >= 3.0"
>+	depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>+	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
>+		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
>+		!BR2_ENABLE_LOCALE
>+
>+config BR2_PACKAGE_WESTON_IMX
>+	bool "weston-imx"
>+	depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>+	depends on BR2_ENABLE_LOCALE # libinput
>+	depends on BR2_PACKAGE_HAS_UDEV
>+	depends on !BR2_STATIC_LIBS # wayland
>+	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
>+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
>+	select BR2_PACKAGE_WAYLAND
>+	select BR2_PACKAGE_WAYLAND_PROTOCOLS
>+	select BR2_PACKAGE_LIBXKBCOMMON
>+	select BR2_PACKAGE_CAIRO
>+	select BR2_PACKAGE_CAIRO_PNG
>+	select BR2_PACKAGE_LIBPNG
>+	select BR2_PACKAGE_JPEG
>+	select BR2_PACKAGE_LIBINPUT
>+	select BR2_PACKAGE_LIBDRM
>+	# Runtime dependency
>+	select BR2_PACKAGE_XKEYBOARD_CONFIG
>+	# Make sure at least one compositor is selected.
>+	select BR2_PACKAGE_WESTON_IMX_FBDEV if
>!BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+	help
>+	  Weston is the reference implementation of a Wayland
>+	  compositor, and a useful compositor in its own right.
>+	  Weston has various backends that lets it run on Linux kernel
>+	  modesetting and evdev input as well as under X11.
>+
>+	  http://wayland.freedesktop.org/
>+
>+if BR2_PACKAGE_WESTON_IMX
>+
>+# Helper to make sure at least one compositor is selected.
>+config BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+	bool
>+
>+config BR2_PACKAGE_WESTON_IMX_DRM
>+	bool "DRM compositor"
>+	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
>+	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+
>+# Uses libgbm from mesa3d
>+comment "DRM compositor needs an OpenGL EGL backend provided by
>mesa3d"
>+	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
>+
>+config BR2_PACKAGE_WESTON_IMX_FBDEV
>+	bool "fbdev compositor"
>+
>+# FreeRDP needs threads and !static, already the case for weston
>+config BR2_PACKAGE_WESTON_IMX_RDP
>+	bool "RDP compositor"
>+	depends on BR2_USE_MMU # freerdp, libglib2
>+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>+	depends on BR2_USE_WCHAR # freerdp
>+	depends on BR2_INSTALL_LIBSTDCPP # freerdp
>+	select BR2_PACKAGE_FREERDP
>+	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+	help
>+	  This enables the RDP backend, which allows accessing weston
>+	  through the network with any RDP-compliant client.
>+
>+	  Please note that one must pass those options to weston for RDP
>+	  to be functional:
>+	    --rdp-tls-cert=/path/to/server.crt
>+	    --rdp-tls-key=/path/to/server.key
>+
>+	  By default, Buildroot installs such files in
>+	  /etc/freerdp/server/ so you may want to change them in a
>+	  post-build script or a rootfs overlay.
>+
>+comment "RDP compositor needs a toolchain w/ wchar, C++"
>+	depends on BR2_USE_MMU
>+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>+	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
>+
>+config BR2_PACKAGE_WESTON_IMX_X11
>+	bool "X11 compositor"
>+	depends on BR2_PACKAGE_XORG7
>+	select BR2_PACKAGE_LIBXCB
>+	select BR2_PACKAGE_XLIB_LIBX11
>+	select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+
>+comment "X11 compositor needs X.org enabled"
>+	depends on !BR2_PACKAGE_XORG7
>+
>+config BR2_PACKAGE_WESTON_IMX_XWAYLAND
>+	bool "XWayland support"
>+	depends on BR2_PACKAGE_XORG7
>+	depends on BR2_PACKAGE_LIBEPOXY
>+	select BR2_PACKAGE_CAIRO
>+	select BR2_PACKAGE_LIBXCB
>+	select BR2_PACKAGE_XLIB_LIBX11
>+	select BR2_PACKAGE_XLIB_LIBXCURSOR
>+
>+comment "XWayland support needs libepoxy and X.org enabled"
>+	depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
>+
>+config BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS
>+	bool "demo clients"
>+	help
>+	  This enables the installation of Weston's demo clients.
>+
>+endif
>diff --git a/package/weston-imx/weston-imx.hash
>b/package/weston-imx/weston-imx.hash
>new file mode 100644
>index 0000000000..759a9b6554
>--- /dev/null
>+++ b/package/weston-imx/weston-imx.hash
>@@ -0,0 +1,2 @@
>+# locally computed
>+sha256
>f39f7a24a01b023aa204ad47977a6476c17a307769f29d408621a05b5cbbcfc7 
>weston-imx-rel_imx_4.9.51_8mq_ga.tar.gz
>diff --git a/package/weston-imx/weston-imx.mk
>b/package/weston-imx/weston-imx.mk
>new file mode 100644
>index 0000000000..e803fa3ee2
>--- /dev/null
>+++ b/package/weston-imx/weston-imx.mk
>@@ -0,0 +1,144 @@
>+################################################################################
>+#
>+# weston-imx
>+#
>+################################################################################
>+
>+WESTON_IMX_VERSION = rel_imx_4.9.51_8mq_ga
>+WESTON_IMX_SITE =
>https://source.codeaurora.org/external/imx/weston-imx
>+WESTON_IMX_SITE_METHOD = git
>+WESTON_IMX_AUTORECONF = YES
>+WESTON_IMX_LICENSE = MIT
>+WESTON_IMX_LICENSE_FILES = COPYING
>+
>+WESTON_IMX_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
>+	libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \
>+	$(if $(BR2_PACKAGE_WEBP),webp)
>+
>+WESTON_IMX_CONF_OPTS = \
>+	--with-dtddir=$(STAGING_DIR)/usr/share/wayland \
>+	--disable-headless-compositor \
>+	--disable-colord \
>+	--disable-devdocs \
>+	--disable-setuid-install
>+
>+WESTON_IMX_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_IMX_CONF_OPTS += --disable-simple-dmabuf-v4l-client
>+endif
>+
>+ifeq ($(BR2_PACKAGE_DBUS),y)
>+WESTON_IMX_CONF_OPTS += --enable-dbus
>+WESTON_IMX_DEPENDENCIES += dbus
>+else
>+WESTON_IMX_CONF_OPTS += --disable-dbus
>+endif
>+
>+# weston-launch must be u+s root in order to work properly
>+ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
>+define WESTON_IMX_PERMISSIONS
>+	/usr/bin/weston-launch f 4755 0 0 - - - - -
>+endef
>+define WESTON_IMX_USERS
>+	- - weston-launch -1 - - - - Weston launcher group
>+endef
>+WESTON_IMX_CONF_OPTS += --enable-weston-launch
>+WESTON_IMX_DEPENDENCIES += linux-pam
>+else
>+WESTON_IMX_CONF_OPTS += --disable-weston-launch
>+endif
>+
>+ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
>+WESTON_IMX_DEPENDENCIES += imx-gpu-g2d
>+# --enable-imxg2d actually disables it, so no CONF_OPTS
>+else
>+WESTON_IMX_CONF_OPTS += --disable-imxg2d
>+endif
>+
>+ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
>+WESTON_IMX_CONF_OPTS += --enable-egl
>+WESTON_IMX_DEPENDENCIES += libegl libgles
>+else
>+WESTON_IMX_CONF_OPTS += \
>+	--disable-egl \
>+	--disable-simple-dmabuf-drm-client \
>+	--disable-simple-egl-clients
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_RDP),y)
>+WESTON_IMX_DEPENDENCIES += freerdp
>+WESTON_IMX_CONF_OPTS += --enable-rdp-compositor
>+else
>+WESTON_IMX_CONF_OPTS += --disable-rdp-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_FBDEV),y)
>+WESTON_IMX_CONF_OPTS += \
>+	--enable-fbdev-compositor \
>+	WESTON_IMX_NATIVE_BACKEND=fbdev-backend.so
>+else
>+WESTON_IMX_CONF_OPTS += --disable-fbdev-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_DRM),y)
>+WESTON_IMX_CONF_OPTS += \
>+	--enable-drm-compositor \
>+	WESTON_IMX_NATIVE_BACKEND=drm-backend.so
>+else
>+WESTON_IMX_CONF_OPTS += --disable-drm-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_X11),y)
>+WESTON_IMX_CONF_OPTS += \
>+	--enable-x11-compositor \
>+	WESTON_IMX_NATIVE_BACKEND=x11-backend.so
>+WESTON_IMX_DEPENDENCIES += libxcb xlib_libX11
>+else
>+WESTON_IMX_CONF_OPTS += --disable-x11-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_XWAYLAND),y)
>+WESTON_IMX_CONF_OPTS += --enable-xwayland
>+WESTON_IMX_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11
>xlib_libXcursor
>+else
>+WESTON_IMX_CONF_OPTS += --disable-xwayland
>+endif
>+
>+ifeq ($(BR2_PACKAGE_LIBVA),y)
>+WESTON_IMX_CONF_OPTS += --enable-vaapi-recorder
>+WESTON_IMX_DEPENDENCIES += libva
>+else
>+WESTON_IMX_CONF_OPTS += --disable-vaapi-recorder
>+endif
>+
>+ifeq ($(BR2_PACKAGE_LCMS2),y)
>+WESTON_IMX_CONF_OPTS += --enable-lcms
>+WESTON_IMX_DEPENDENCIES += lcms2
>+else
>+WESTON_IMX_CONF_OPTS += --disable-lcms
>+endif
>+
>+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
>+WESTON_IMX_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
>+WESTON_IMX_DEPENDENCIES += systemd
>+else
>+WESTON_IMX_CONF_OPTS += --disable-systemd-login
>--disable-systemd-notify
>+endif
>+
>+ifeq ($(BR2_PACKAGE_LIBXML2),y)
>+WESTON_IMX_CONF_OPTS += --enable-junit-xml
>+WESTON_IMX_DEPENDENCIES += libxml2
>+else
>+WESTON_IMX_CONF_OPTS += --disable-junit-xml
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS),y)
>+WESTON_IMX_CONF_OPTS += --enable-demo-clients-install
>+else
>+WESTON_IMX_CONF_OPTS += --disable-demo-clients-install
>+endif
>+
>+$(eval $(autotools-package))
>diff --git a/package/weston/Config.in b/package/weston/Config.in
>index f874b0cc6a..5a5e288540 100644
>--- a/package/weston/Config.in
>+++ b/package/weston/Config.in
>@@ -1,10 +1,12 @@
>comment "weston needs udev and a toolchain w/ locale, threads, dynamic
>library, headers >= 3.0"
>+	depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> 	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
> 		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
> 		!BR2_ENABLE_LOCALE
> 
> config BR2_PACKAGE_WESTON
> 	bool "weston"
>+	depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> 	depends on BR2_ENABLE_LOCALE # libinput
> 	depends on BR2_PACKAGE_HAS_UDEV
> 	depends on !BR2_STATIC_LIBS # wayland
>diff --git a/package/weston/weston.hash b/package/weston/weston.hash
>index a2dddf7a5b..c9b2d4b1ce 100644
>--- a/package/weston/weston.hash
>+++ b/package/weston/weston.hash
>@@ -3,5 +3,3 @@ 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
>-# locally computed
>-sha256
>0f0de7b7b1f65870139c95dde7abc19ed305631ae7c5d37c386db40cde108632 
>weston-rel_imx_4.9.51_8mq_ga.tar.gz
>diff --git a/package/weston/weston.mk b/package/weston/weston.mk
>index ee3d3be87e..154ae38b83 100644
>--- a/package/weston/weston.mk
>+++ b/package/weston/weston.mk
>@@ -4,16 +4,9 @@
> #
>################################################################################
> 
>-ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
>-WESTON_VERSION = rel_imx_4.9.51_8mq_ga
>-WESTON_SITE = https://source.codeaurora.org/external/imx/weston-imx
>-WESTON_SITE_METHOD = git
>-WESTON_AUTORECONF = YES
>-else
> WESTON_VERSION = 6.0.1
> WESTON_SITE = http://wayland.freedesktop.org/releases
> WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
>-endif
> WESTON_LICENSE = MIT
> WESTON_LICENSE_FILES = COPYING
> 
>@@ -58,15 +51,6 @@ else
> WESTON_CONF_OPTS += --disable-weston-launch
> endif
> 
>-ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
>-ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
>-WESTON_DEPENDENCIES += imx-gpu-g2d
>-# --enable-imxg2d actually disables it, so no CONF_OPTS
>-else
>-WESTON_CONF_OPTS += --disable-imxg2d
>-endif
>-endif
>-
> ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
> WESTON_CONF_OPTS += --enable-egl
> WESTON_DEPENDENCIES += libegl libgles

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston
  2020-02-02 16:42 ` Michael Walle
@ 2020-02-02 19:02   ` Yann E. MORIN
  0 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2020-02-02 19:02 UTC (permalink / raw)
  To: buildroot

Michael, All,

On 2020-02-02 17:42 +0100, Michael Walle spake thusly:
> Am 2. Februar 2020 08:16:44 MEZ schrieb James Hilliard <james.hilliard1@gmail.com>:
> >This is in preparation for migration of weston to the meson build
> >system.
> >Since weston-imx is based off of a much older version of weston it is
> >difficult to maintain as part of the weston package.
> >
> >Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> >---
> > package/Config.in                  |   1 +
> > package/weston-imx/Config.in       | 108 ++++++++++++++++++++++
> > package/weston-imx/weston-imx.hash |   2 +
> > package/weston-imx/weston-imx.mk   | 144 +++++++++++++++++++++++++++++
> 
> I'm too late to this since this is already merged.. but now that
> weston-imx is a separate package shouldn't it go into
> packages/freescale-imx/? 

I also considered it, but decided against eventually, with the reasoning
that I prefer to have it next to weston so it bugs me every time I try
to auto-complete /package/west<TAB>, enough so that one day I get enough
and kill it with fire and rage.

Seriously, though, yes, I prefer to have it next to the vanilla one, but
that was just personal preference. Had the patch moved it to the IMX sub
directory, I might have left it there.

Anyway, too late now! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-02-02 19:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-02  7:16 [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston James Hilliard
2020-02-02  7:16 ` [Buildroot] [PATCH v9 2/3] package/wayland-protocols: bump to version 1.18 James Hilliard
2020-02-02  7:16 ` [Buildroot] [PATCH v9 3/3] package/weston: bump to version 8.0.0 James Hilliard
2020-02-02 10:52   ` Yann E. MORIN
2020-02-02 11:43     ` James Hilliard
2020-02-02 10:13 ` [Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston Yann E. MORIN
2020-02-02 10:35   ` ratbert90
2020-02-02 16:42 ` Michael Walle
2020-02-02 19:02   ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.