From patchwork Wed Mar 13 04:40:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 40843 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3C551C54791 for ; Wed, 13 Mar 2024 04:51:28 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web11.9106.1710305478037159234 for ; Tue, 12 Mar 2024 21:51:18 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=d0XMZlKW; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 5048E87DAF; Wed, 13 Mar 2024 05:51:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1710305476; bh=TWN92u5Qt6Uw+9lr4I73Auh1HTrcVa+lGE17lbl3lBk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d0XMZlKWFgxLr/SISY/nl4Ie/bHJAQrRoKMAKnkyEIs6QeNUSPHI7J44Z+hX8FGdR QJ1Cze3BSh/MrUs0Rat3Zr6HfaEa49+fSx5u+LYLpHgnAMDAj99C1WkSwr8n8CQ2Pe gcfhzXMVZfUvDDjVddAZq2SXYIaOxInZCG499htvC7a5Yk4DoXfEJdF5sSD8qqKiBm HoOZDvCnTcDLeQE+nFd0AmD3FW9Y02fLWkspH41hGeYzW/fZu9kCD0lC/vtnEllw7P NC2Sr8p7bmPvnguhIz4jZpcvQbMYR6iQEKAU+zOGHDTZYGd6iiPZ2KRz59De16b/iZ B7uF6YzAG0ULQ== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa Subject: [PATCH 2/8] lvgl: Upgrade to LVGL 9 series Date: Wed, 13 Mar 2024 05:40:05 +0100 Message-ID: <20240313045038.90500-3-marex@denx.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240313045038.90500-1-marex@denx.de> References: <20240313045038.90500-1-marex@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 13 Mar 2024 04:51:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/109282 Upgrade LVGL and matching recipes to LVGL 9 series. Use latest git HEAD instead of 9.0.0 release to pull in fixes which landed after the 9.0.0 release and which are of interest to Linux deployments. There are significant breaking changes, which are listed below. The lv-drivers and lv-lib-png PNG library seem to be part of the main LVGL repository, drop the now unnecessary recipes. Configuration is now done in lv_conf.h only, there is no more lv_drv_conf.h, rework lv-drivers.inc accordingly. USE_SDL_GPU support has been renamed to LV_USE_DRAW_SDL and newly depends on libsdl2-image, SDL_DOUBLE_BUFFERED to LV_SDL_BUF_COUNT=2 . All configuration options from lvgl_%.bb, LV_COLOR_DEPTH, LV_MEM_CUSTOM as well as LV_TICK_CUSTOM, LV_TICK_CUSTOM_INCLUDE, LV_TICK_CUSTOM_SYS_TIME_EX are all moved into lv-drivers.inc , so the configuration is done in one place, using the same set of configuration options. Wayland support is gone, drop it from lv-drivers.inc. Evdev input device selection via EVDEV_NAME is also gone, the selection is now done using API call lv_evdev_create(). DRM card selection via DRM_CARD is also gone, the selection is now done using API call lv_linux_drm_set_file(). Move LVGL_CONFIG_DRM_CARD into lvgl-demo-fb, which calls lv_linux_drm_set_file(). The lvgl-demo-fb recipe is adjusted to be compatible with LVGL 9 again, this makes some of the sed adjustments really awful, so this part will be replaced by upstream patches in a separate commit to avoid growing this commit even more. The lvgl-demo-fb recipe is also no longer using git submodules, but instead fetches both its source and LVGL using git fetcher separately. This is needed to build the SDL backend successfully, which requires newer LVGL than what the repository points to via its submodule. Signed-off-by: Marek Vasut --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa --- meta-oe/recipes-graphics/lvgl/lv-drivers.inc | 40 +++++++-------- .../recipes-graphics/lvgl/lv-drivers_8.3.0.bb | 28 ----------- .../recipes-graphics/lvgl/lv-lib-png_8.0.2.bb | 31 ------------ .../lvgl/lvgl-demo-fb_8.3.0.bb | 46 ----------------- .../lvgl/lvgl-demo-fb_9.0.0.bb | 49 +++++++++++++++++++ meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb | 44 ----------------- meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb | 28 +++++++++++ 7 files changed, 95 insertions(+), 171 deletions(-) delete mode 100644 meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb delete mode 100644 meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb delete mode 100644 meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb create mode 100644 meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb delete mode 100644 meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb create mode 100644 meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc index 6cfb7fa07..97063adbc 100644 --- a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc +++ b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc @@ -1,21 +1,17 @@ PACKAGECONFIG[drm] = ",,libdrm" PACKAGECONFIG[fbdev] = ",," -PACKAGECONFIG[sdl] = ",,virtual/libsdl2" -PACKAGECONFIG[wayland] = ",,libxkbcommon wayland" +PACKAGECONFIG[sdl] = ",,virtual/libsdl2 libsdl2-image" LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}" -LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0" LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}" -LVGL_CONFIG_EVDEV_INPUT ?= "/dev/input/touchscreen" LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}" LVGL_CONFIG_USE_SDL = "${@bb.utils.contains('PACKAGECONFIG', 'sdl', '1', '0', d)}" -LVGL_CONFIG_USE_WAYLAND = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1', '0', d)}" -LVGL_CONFIG_WAYLAND_HOR_RES ?= "480" -LVGL_CONFIG_WAYLAND_VER_RES ?= "320" +LVGL_CONFIG_LV_MEM_CUSTOM ?= "0" +LVGL_CONFIG_LV_COLOR_DEPTH ?= "32" ALLOW_EMPTY:${PN} = "1" @@ -23,26 +19,26 @@ EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}" do_configure:append() { # If there is a configuration template, start from that - [ -r "${S}/lv_drv_conf_template.h" ] && cp -Lv "${S}/lv_drv_conf_template.h" "${S}/lv_drv_conf.h" + [ -r "${S}/lv_conf_template.h" ] && cp -Lv "${S}/lv_conf_template.h" "${S}/lv_conf.h" - # Configure the software using sed sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \ \ - -e "s|\(^# define USE_DRM \).*|# define USE_DRM ${LVGL_CONFIG_USE_DRM}|g" \ - -e "s|\(^# define DRM_CARD \).*|# define DRM_CARD \"${LVGL_CONFIG_DRM_CARD}\"|g" \ - \ - -e "s|\(^# define USE_EVDEV \).*|# define USE_EVDEV ${LVGL_CONFIG_USE_EVDEV}|g" \ - -e "s|\(^# define EVDEV_NAME \).*|# define EVDEV_NAME \"${LVGL_CONFIG_EVDEV_INPUT}\"|g" \ + -e "s|\(^#define LV_USE_LINUX_DRM \).*|#define LV_USE_LINUX_DRM ${LVGL_CONFIG_USE_DRM}|g" \ \ - -e "s|\(^# define USE_FBDEV \).*|# define USE_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \ + -e "s|\(^#define LV_USE_LINUX_FBDEV \).*|#define LV_USE_LINUX_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \ \ - -e "s|\(^# define USE_SDL \).*|# define USE_SDL ${LVGL_CONFIG_USE_SDL}|g" \ - -e "s|\(^# define USE_SDL_GPU \).*|# define USE_SDL_GPU 1|g" \ - -e "s|\(^# define SDL_DOUBLE_BUFFERED \).*|# define SDL_DOUBLE_BUFFERED 1|g" \ + -e "s|\(^#define LV_USE_SDL \).*|#define LV_USE_SDL ${LVGL_CONFIG_USE_SDL}|g" \ + -e "s|\(^#define LV_USE_DRAW_SDL \).*|#define LV_USE_DRAW_SDL ${LVGL_CONFIG_USE_SDL}|g" \ + -e "s|\(^ #define LV_SDL_BUF_COUNT \).*| #define LV_SDL_BUF_COUNT 2|g" \ \ - -e "s|\(^# define USE_WAYLAND \).*|# define USE_WAYLAND ${LVGL_CONFIG_USE_WAYLAND}|g" \ - -e "s|\(^ *# *define *WAYLAND_HOR_RES *\).*|\1${LVGL_CONFIG_WAYLAND_HOR_RES}|g" \ - -e "s|\(^ *# *define *WAYLAND_VER_RES *\).*|\1${LVGL_CONFIG_WAYLAND_VER_RES}|g" \ + -e "s|\(^#define LV_COLOR_DEPTH \).*|#define LV_COLOR_DEPTH ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \ + -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \ \ - -i "${S}/lv_drv_conf.h" + -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \ + -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 |g" \ + -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \ + \ + -e "s|\(^#define LV_USE_EVDEV \).*|#define LV_USE_EVDEV ${LVGL_CONFIG_USE_EVDEV}|g" \ + \ + -i "${S}/lv_conf.h" } diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb b/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb deleted file mode 100644 index e2c5a342a..000000000 --- a/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -# SPDX-FileCopyrightText: Huawei Inc. -# -# SPDX-License-Identifier: MIT - -HOMEPAGE = "https://docs.lvgl.io/latest/en/html/porting/index.html" -SUMMARY = "LVGL's Display and Touch pad drivers" -DESCRIPTION = "Collection of drivers: SDL, framebuffer, wayland and more..." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2" - -SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;branch=release/v8.3" -SRCREV = "71830257710f430b6d8d1c324f89f2eab52488f1" - -DEPENDS = "lvgl" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland fbdev', d)}" -require lv-drivers.inc - -inherit cmake - -S = "${WORKDIR}/git" - -TARGET_CFLAGS += "-DLV_CONF_INCLUDE_SIMPLE=1" -TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl" - -FILES:${PN}-dev += "\ - ${includedir}/lvgl/lv_drivers/ \ - " diff --git a/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb b/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb deleted file mode 100644 index 0049bbe23..000000000 --- a/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb +++ /dev/null @@ -1,31 +0,0 @@ -# SPDX-FileCopyrightText: Huawei Inc. -# -# SPDX-License-Identifier: MIT - -HOMEPAGE = "https://docs.lvgl.io" -SUMMARY = "PNG decoder for LVGL" -DESCRIPTION = "Allow the use of PNG images in LVGL. This implementation uses lodepng" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2" - -SRC_URI = "git://github.com/lvgl/lv_lib_png;;protocol=https;branch=master" -SRCREV = "bf1531afe07c9f861107559e29ab8a2d83e4715a" - -S = "${WORKDIR}/git" - -# because of lvgl dependency -REQUIRED_DISTRO_FEATURES = "wayland" - -DEPENDS += "lvgl" - -EXTRA_OECMAKE += "-DLIB_INSTALL_DIR=${baselib}" - -inherit cmake -inherit features_check - -TARGET_CFLAGS += "-DLV_CONF_INCLUDE_SIMPLE=1" -TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl" - -FILES:${PN}-dev = "\ - ${includedir}/lvgl/lv_lib_png/ \ - " diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb deleted file mode 100644 index 32f833a02..000000000 --- a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "LVGL Demo Application for Framebuffer" -HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \ - file://lv_drivers/LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2 \ - file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" - -SRC_URI = "gitsm://github.com/lvgl/lv_port_linux_frame_buffer.git;branch=master;protocol=https" -SRCREV = "adf2c4490e17a1b9ec1902cc412a24b3b8235c8e" - -EXTRA_OEMAKE = "DESTDIR=${D}" - -PACKAGECONFIG ??= "drm" -require lv-drivers.inc - -inherit cmake - -S = "${WORKDIR}/git" - -TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm" - -do_configure:prepend() { - if [ "${LVGL_CONFIG_USE_DRM}" -eq 1 ] ; then - # Add libdrm build dependency - sed -i '/^target_link_libraries/ s@lvgl::drivers@& drm@' "${S}/CMakeLists.txt" - # Switch from fbdev to drm usage - sed -i 's@fbdev@drm@g' "${S}/main.c" - # Pull resolution from DRM instead of hardcoding it - sed -i '/disp_drv.hor_res/ d' "${S}/main.c" - sed -i '/disp_drv.ver_res/ s@disp_drv.ver_res.*@drm_get_sizes(\&disp_drv.hor_res, \&disp_drv.ver_res, NULL);@' "${S}/main.c" - fi - - if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then - # Add libsdl build dependency - sed -i '/^target_link_libraries/ s@lvgl::drivers@& SDL2@' "${S}/CMakeLists.txt" - # Switch from fbdev to sdl usage - sed -i 's@fbdev_flush@sdl_display_flush@g' "${S}/main.c" - sed -i 's@lv_drivers/display/fbdev.h@lv_drivers/sdl/sdl.h@g' "${S}/main.c" - sed -i 's@fbdev@sdl@g' "${S}/main.c" - fi -} - -do_install:append() { - install -d ${D}${bindir} - install -m 0755 ${B}/lvgl_fb ${D}${bindir}/ -} diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb new file mode 100644 index 000000000..fc675a518 --- /dev/null +++ b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb @@ -0,0 +1,49 @@ +SUMMARY = "LVGL Demo Application for Framebuffer" +HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \ + file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" + +SRC_URI = "\ + git://github.com/lvgl/lv_port_linux_frame_buffer.git;protocol=https;branch=master;name=demo \ + git://github.com/lvgl/lvgl;protocol=https;branch=master;name=lvgl;subdir=git/lvgl \ + " +SRCREV_demo = "dccc6a1ca48372aa993dbea7a8e17dec6f42df6a" +SRCREV_lvgl = "e29d35b43c509b6d7189f5dac87139441669ae66" +SRCREV_FORMAT = "demo_lvgl" +PV .= "+git${SRCPV}" + +EXTRA_OEMAKE = "DESTDIR=${D}" + +PACKAGECONFIG ??= "drm" +LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0" +require lv-drivers.inc + +inherit cmake + +S = "${WORKDIR}/git" + +TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm" + +do_configure:prepend() { + if [ "${LVGL_CONFIG_USE_DRM}" -eq 1 ] ; then + # Add libdrm build dependency + sed -i '/^target_link_libraries/ s@pthread@& drm@' "${S}/CMakeLists.txt" + # Switch from fbdev to drm usage + sed -i "s@lv_linux_fbdev_set_file.*@lv_linux_drm_set_file(disp, \"${LVGL_CONFIG_DRM_CARD}\", -1);@g" "${S}/main.c" + sed -i 's@fbdev@drm@g' "${S}/main.c" + fi + + if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then + # Add libsdl build dependency + sed -i '/^target_link_libraries/ s@pthread@& SDL2 SDL2_image@' "${S}/CMakeLists.txt" + # Switch from fbdev to sdl usage + sed -i 's@lv_linux_fbdev_create()@lv_sdl_window_create(atoi(getenv("LV_VIDEO_WIDTH") ? : "800"), atoi(getenv("LV_VIDEO_HEIGHT") ? : "480"))@g' "${S}/main.c" + sed -i '/lv_linux_fbdev_set_file/ d' "${S}/main.c" + fi +} + +do_install:append() { + install -d ${D}${bindir} + install -m 0755 ${S}/bin/main ${D}${bindir}/lvgl +} diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb deleted file mode 100644 index 252368061..000000000 --- a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb +++ /dev/null @@ -1,44 +0,0 @@ -# SPDX-FileCopyrightText: Huawei Inc. -# -# SPDX-License-Identifier: MIT - -HOMEPAGE = "https://lvgl.io/" -DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI" -SUMMARY = "Light and Versatile Graphics Library" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" - -SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3" -SRCREV = "74d0a816a440eea53e030c4f1af842a94f7ce3d3" - -inherit cmake - -EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}" -S = "${WORKDIR}/git" - -ALLOW_EMPTY:${PN} = "1" - -LVGL_CONFIG_LV_MEM_CUSTOM ?= "0" -LVGL_CONFIG_LV_COLOR_DEPTH ?= "32" - -# Upstream does not support a default configuration -# but propose a default "disabled" template, which is used as reference -# More configuration can be done using external configuration variables -do_configure:prepend() { - [ -r "${S}/lv_conf.h" ] \ - || sed -e 's|#if 0 .*Set it to "1" to enable .*|#if 1 // Enabled|g' \ - -e "s|\(#define LV_COLOR_DEPTH \).*|\1 ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \ - \ - -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \ - \ - -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \ - -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 |g" \ - -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \ - \ - < "${S}/lv_conf_template.h" > "${S}/lv_conf.h" -} - -FILES:${PN}-dev += "\ - ${includedir}/${PN}/ \ - ${includedir}/${PN}/lvgl/ \ - " diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb new file mode 100644 index 000000000..d8ed4ec81 --- /dev/null +++ b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb @@ -0,0 +1,28 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: MIT + +HOMEPAGE = "https://lvgl.io/" +DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI" +SUMMARY = "Light and Versatile Graphics Library" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" + +SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=master" +SRCREV = "e29d35b43c509b6d7189f5dac87139441669ae66" +PV .= "+git${SRCPV}" + +inherit cmake + +EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}" +S = "${WORKDIR}/git" + +ALLOW_EMPTY:${PN} = "1" + +PACKAGECONFIG ??= "drm" +require lv-drivers.inc + +FILES:${PN}-dev += "\ + ${includedir}/${PN}/ \ + ${includedir}/${PN}/lvgl/ \ + "