From patchwork Fri Oct 4 14:46:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 1171880 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mHsa6xBv"; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46lCPS41xjz9sPq for ; Sat, 5 Oct 2019 00:46:36 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 774B08790E; Fri, 4 Oct 2019 14:46:33 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ESbRRWbpBDF7; Fri, 4 Oct 2019 14:46:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 6E90A878A9; Fri, 4 Oct 2019 14:46:30 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 63FDA1BF285 for ; Fri, 4 Oct 2019 14:46:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 60FC488386 for ; Fri, 4 Oct 2019 14:46:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pt3Ao3psLkpC for ; Fri, 4 Oct 2019 14:46:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by hemlock.osuosl.org (Postfix) with ESMTPS id 191F08839C for ; Fri, 4 Oct 2019 14:46:28 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id c25so14011159iot.12 for ; Fri, 04 Oct 2019 07:46:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=bKkasIjsJY88mAsYjLcBbq3nUBRXjZEG/iIEQpCdDrU=; b=mHsa6xBvOgH07HUKs9kcnRzDzMSRByQV2vbr9UXLiUSsWZGk0PJSl+/vtgmc6jxMKG lxS1ADEokEWTjXX6ueBtbPdJTpGtExqKy3Ub4qnFrPyWZG6aSWDW4RybxNTYNxOY8z5S xDb9Lk4cop/srgjLIS+WpWLRGPgqfbNANWzVHCL0Pf8T2nZQRZnxZe7++89jLCm84wlS RlRo6g0moT39zTJxR08Hp05Oo3cWYbJSPLpgCIA130Vld+3qvX6/ACMQ2eKBH+EN5A29 GR74QAd7YkPVyLnfJh6XruD3KbOS/AvpNqdOdgWz9lblGZkqx6LtquhFtTcVhZldLwst wySA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=bKkasIjsJY88mAsYjLcBbq3nUBRXjZEG/iIEQpCdDrU=; b=L4Vq3DUQBZFwpFgwQOYjjcIpzyJ+qPrO9/ucWX306itwWmXx9OqrgwTHAt9mp6UTrV JhRM4U0qmMzV+ADdFamZnO8fX/qSPuBpthur9qFSB20heV4vyYZeB9vD5UhFITTSFf30 /FDiEBpdabWp4d1bKeSoKmeK8aSKEerZpKyK1RSyeg0BRbPZpm2Op7usNTTU2HYWe7hA cTLiIgQmniwhreeG4SS/2ch5QGuFoOO0OhUJesGUjtkxdBz08lDpo8VO31fxRI4NAG5Z muS2tca5NXjdKau9KRShpA1oe+JD3fRCEUowPhrmlGTd9zqY4df7A0A8GDVO8g8La31p eP1w== X-Gm-Message-State: APjAAAVjZu7H4NVRx9VEWxXhnvvGzqcomJszhPipdyqZrDhwLOXY8utG 8CI5SThObNGN39QVYRrkbRLgkf/QWFg= X-Google-Smtp-Source: APXvYqxNkWyoNY4Jt4jPcOsr0XkQ+uBjLHADn2uNpPnCqKVKuvcL4TNs8EewhpK58Q6oyBtRJz9hlw== X-Received: by 2002:a92:d30c:: with SMTP id x12mr16943676ila.133.1570200386772; Fri, 04 Oct 2019 07:46:26 -0700 (PDT) Received: from james-x399.localdomain (97-118-144-139.hlrn.qwest.net. [97.118.144.139]) by smtp.gmail.com with ESMTPSA id l16sm2733641ilm.67.2019.10.04.07.46.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Oct 2019 07:46:25 -0700 (PDT) From: James Hilliard To: buildroot@buildroot.org Date: Fri, 4 Oct 2019 08:46:16 -0600 Message-Id: <20191004144618.37845-1-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH v5 1/3] package/weston-imx: Split weston-imx off from weston X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bernd Kuhls , James Hilliard , "Yann E . MORIN" , Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "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 --- 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 b52b2a96e3..b59dae33c0 100644 --- a/package/Config.in +++ b/package/Config.in @@ -337,6 +337,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..9dd2088502 --- /dev/null +++ b/package/weston-imx/weston-imx.mk @@ -0,0 +1,144 @@ +################################################################################ +# +# weston +# +################################################################################ + +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