summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-drivers.inc40
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb28
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb31
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb46
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb49
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb44
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb28
7 files changed, 95 insertions, 171 deletions
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 @@
1PACKAGECONFIG[drm] = ",,libdrm" 1PACKAGECONFIG[drm] = ",,libdrm"
2PACKAGECONFIG[fbdev] = ",," 2PACKAGECONFIG[fbdev] = ",,"
3PACKAGECONFIG[sdl] = ",,virtual/libsdl2" 3PACKAGECONFIG[sdl] = ",,virtual/libsdl2 libsdl2-image"
4PACKAGECONFIG[wayland] = ",,libxkbcommon wayland"
5 4
6LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}" 5LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}"
7LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
8 6
9LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}" 7LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}"
10LVGL_CONFIG_EVDEV_INPUT ?= "/dev/input/touchscreen"
11 8
12LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}" 9LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}"
13 10
14LVGL_CONFIG_USE_SDL = "${@bb.utils.contains('PACKAGECONFIG', 'sdl', '1', '0', d)}" 11LVGL_CONFIG_USE_SDL = "${@bb.utils.contains('PACKAGECONFIG', 'sdl', '1', '0', d)}"
15 12
16LVGL_CONFIG_USE_WAYLAND = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1', '0', d)}" 13LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
17LVGL_CONFIG_WAYLAND_HOR_RES ?= "480" 14LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
18LVGL_CONFIG_WAYLAND_VER_RES ?= "320"
19 15
20ALLOW_EMPTY:${PN} = "1" 16ALLOW_EMPTY:${PN} = "1"
21 17
@@ -23,26 +19,26 @@ EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
23 19
24do_configure:append() { 20do_configure:append() {
25 # If there is a configuration template, start from that 21 # If there is a configuration template, start from that
26 [ -r "${S}/lv_drv_conf_template.h" ] && cp -Lv "${S}/lv_drv_conf_template.h" "${S}/lv_drv_conf.h" 22 [ -r "${S}/lv_conf_template.h" ] && cp -Lv "${S}/lv_conf_template.h" "${S}/lv_conf.h"
27 23
28 # Configure the software using sed
29 sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \ 24 sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \
30 \ 25 \
31 -e "s|\(^# define USE_DRM \).*|# define USE_DRM ${LVGL_CONFIG_USE_DRM}|g" \ 26 -e "s|\(^#define LV_USE_LINUX_DRM \).*|#define LV_USE_LINUX_DRM ${LVGL_CONFIG_USE_DRM}|g" \
32 -e "s|\(^# define DRM_CARD \).*|# define DRM_CARD \"${LVGL_CONFIG_DRM_CARD}\"|g" \
33 \
34 -e "s|\(^# define USE_EVDEV \).*|# define USE_EVDEV ${LVGL_CONFIG_USE_EVDEV}|g" \
35 -e "s|\(^# define EVDEV_NAME \).*|# define EVDEV_NAME \"${LVGL_CONFIG_EVDEV_INPUT}\"|g" \
36 \ 27 \
37 -e "s|\(^# define USE_FBDEV \).*|# define USE_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \ 28 -e "s|\(^#define LV_USE_LINUX_FBDEV \).*|#define LV_USE_LINUX_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
38 \ 29 \
39 -e "s|\(^# define USE_SDL \).*|# define USE_SDL ${LVGL_CONFIG_USE_SDL}|g" \ 30 -e "s|\(^#define LV_USE_SDL \).*|#define LV_USE_SDL ${LVGL_CONFIG_USE_SDL}|g" \
40 -e "s|\(^# define USE_SDL_GPU \).*|# define USE_SDL_GPU 1|g" \ 31 -e "s|\(^#define LV_USE_DRAW_SDL \).*|#define LV_USE_DRAW_SDL ${LVGL_CONFIG_USE_SDL}|g" \
41 -e "s|\(^# define SDL_DOUBLE_BUFFERED \).*|# define SDL_DOUBLE_BUFFERED 1|g" \ 32 -e "s|\(^ #define LV_SDL_BUF_COUNT \).*| #define LV_SDL_BUF_COUNT 2|g" \
42 \ 33 \
43 -e "s|\(^# define USE_WAYLAND \).*|# define USE_WAYLAND ${LVGL_CONFIG_USE_WAYLAND}|g" \ 34 -e "s|\(^#define LV_COLOR_DEPTH \).*|#define LV_COLOR_DEPTH ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \
44 -e "s|\(^ *# *define *WAYLAND_HOR_RES *\).*|\1${LVGL_CONFIG_WAYLAND_HOR_RES}|g" \ 35 -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \
45 -e "s|\(^ *# *define *WAYLAND_VER_RES *\).*|\1${LVGL_CONFIG_WAYLAND_VER_RES}|g" \
46 \ 36 \
47 -i "${S}/lv_drv_conf.h" 37 -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \
38 -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \
39 -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \
40 \
41 -e "s|\(^#define LV_USE_EVDEV \).*|#define LV_USE_EVDEV ${LVGL_CONFIG_USE_EVDEV}|g" \
42 \
43 -i "${S}/lv_conf.h"
48} 44}
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 @@
1# SPDX-FileCopyrightText: Huawei Inc.
2#
3# SPDX-License-Identifier: MIT
4
5HOMEPAGE = "https://docs.lvgl.io/latest/en/html/porting/index.html"
6SUMMARY = "LVGL's Display and Touch pad drivers"
7DESCRIPTION = "Collection of drivers: SDL, framebuffer, wayland and more..."
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2"
10
11SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;branch=release/v8.3"
12SRCREV = "71830257710f430b6d8d1c324f89f2eab52488f1"
13
14DEPENDS = "lvgl"
15
16PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland fbdev', d)}"
17require lv-drivers.inc
18
19inherit cmake
20
21S = "${WORKDIR}/git"
22
23TARGET_CFLAGS += "-DLV_CONF_INCLUDE_SIMPLE=1"
24TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl"
25
26FILES:${PN}-dev += "\
27 ${includedir}/lvgl/lv_drivers/ \
28 "
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 @@
1# SPDX-FileCopyrightText: Huawei Inc.
2#
3# SPDX-License-Identifier: MIT
4
5HOMEPAGE = "https://docs.lvgl.io"
6SUMMARY = "PNG decoder for LVGL"
7DESCRIPTION = "Allow the use of PNG images in LVGL. This implementation uses lodepng"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2"
10
11SRC_URI = "git://github.com/lvgl/lv_lib_png;;protocol=https;branch=master"
12SRCREV = "bf1531afe07c9f861107559e29ab8a2d83e4715a"
13
14S = "${WORKDIR}/git"
15
16# because of lvgl dependency
17REQUIRED_DISTRO_FEATURES = "wayland"
18
19DEPENDS += "lvgl"
20
21EXTRA_OECMAKE += "-DLIB_INSTALL_DIR=${baselib}"
22
23inherit cmake
24inherit features_check
25
26TARGET_CFLAGS += "-DLV_CONF_INCLUDE_SIMPLE=1"
27TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl"
28
29FILES:${PN}-dev = "\
30 ${includedir}/lvgl/lv_lib_png/ \
31 "
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 @@
1SUMMARY = "LVGL Demo Application for Framebuffer"
2HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \
5 file://lv_drivers/LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2 \
6 file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
7
8SRC_URI = "gitsm://github.com/lvgl/lv_port_linux_frame_buffer.git;branch=master;protocol=https"
9SRCREV = "adf2c4490e17a1b9ec1902cc412a24b3b8235c8e"
10
11EXTRA_OEMAKE = "DESTDIR=${D}"
12
13PACKAGECONFIG ??= "drm"
14require lv-drivers.inc
15
16inherit cmake
17
18S = "${WORKDIR}/git"
19
20TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm"
21
22do_configure:prepend() {
23 if [ "${LVGL_CONFIG_USE_DRM}" -eq 1 ] ; then
24 # Add libdrm build dependency
25 sed -i '/^target_link_libraries/ s@lvgl::drivers@& drm@' "${S}/CMakeLists.txt"
26 # Switch from fbdev to drm usage
27 sed -i 's@fbdev@drm@g' "${S}/main.c"
28 # Pull resolution from DRM instead of hardcoding it
29 sed -i '/disp_drv.hor_res/ d' "${S}/main.c"
30 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"
31 fi
32
33 if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
34 # Add libsdl build dependency
35 sed -i '/^target_link_libraries/ s@lvgl::drivers@& SDL2@' "${S}/CMakeLists.txt"
36 # Switch from fbdev to sdl usage
37 sed -i 's@fbdev_flush@sdl_display_flush@g' "${S}/main.c"
38 sed -i 's@lv_drivers/display/fbdev.h@lv_drivers/sdl/sdl.h@g' "${S}/main.c"
39 sed -i 's@fbdev@sdl@g' "${S}/main.c"
40 fi
41}
42
43do_install:append() {
44 install -d ${D}${bindir}
45 install -m 0755 ${B}/lvgl_fb ${D}${bindir}/
46}
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 @@
1SUMMARY = "LVGL Demo Application for Framebuffer"
2HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \
5 file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
6
7SRC_URI = "\
8 git://github.com/lvgl/lv_port_linux_frame_buffer.git;protocol=https;branch=master;name=demo \
9 git://github.com/lvgl/lvgl;protocol=https;branch=master;name=lvgl;subdir=git/lvgl \
10 "
11SRCREV_demo = "dccc6a1ca48372aa993dbea7a8e17dec6f42df6a"
12SRCREV_lvgl = "e29d35b43c509b6d7189f5dac87139441669ae66"
13SRCREV_FORMAT = "demo_lvgl"
14PV .= "+git${SRCPV}"
15
16EXTRA_OEMAKE = "DESTDIR=${D}"
17
18PACKAGECONFIG ??= "drm"
19LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
20require lv-drivers.inc
21
22inherit cmake
23
24S = "${WORKDIR}/git"
25
26TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm"
27
28do_configure:prepend() {
29 if [ "${LVGL_CONFIG_USE_DRM}" -eq 1 ] ; then
30 # Add libdrm build dependency
31 sed -i '/^target_link_libraries/ s@pthread@& drm@' "${S}/CMakeLists.txt"
32 # Switch from fbdev to drm usage
33 sed -i "s@lv_linux_fbdev_set_file.*@lv_linux_drm_set_file(disp, \"${LVGL_CONFIG_DRM_CARD}\", -1);@g" "${S}/main.c"
34 sed -i 's@fbdev@drm@g' "${S}/main.c"
35 fi
36
37 if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
38 # Add libsdl build dependency
39 sed -i '/^target_link_libraries/ s@pthread@& SDL2 SDL2_image@' "${S}/CMakeLists.txt"
40 # Switch from fbdev to sdl usage
41 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"
42 sed -i '/lv_linux_fbdev_set_file/ d' "${S}/main.c"
43 fi
44}
45
46do_install:append() {
47 install -d ${D}${bindir}
48 install -m 0755 ${S}/bin/main ${D}${bindir}/lvgl
49}
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 @@
1# SPDX-FileCopyrightText: Huawei Inc.
2#
3# SPDX-License-Identifier: MIT
4
5HOMEPAGE = "https://lvgl.io/"
6DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
7SUMMARY = "Light and Versatile Graphics Library"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
10
11SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
12SRCREV = "74d0a816a440eea53e030c4f1af842a94f7ce3d3"
13
14inherit cmake
15
16EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
17S = "${WORKDIR}/git"
18
19ALLOW_EMPTY:${PN} = "1"
20
21LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
22LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
23
24# Upstream does not support a default configuration
25# but propose a default "disabled" template, which is used as reference
26# More configuration can be done using external configuration variables
27do_configure:prepend() {
28 [ -r "${S}/lv_conf.h" ] \
29 || sed -e 's|#if 0 .*Set it to "1" to enable .*|#if 1 // Enabled|g' \
30 -e "s|\(#define LV_COLOR_DEPTH \).*|\1 ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \
31 \
32 -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \
33 \
34 -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \
35 -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \
36 -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \
37 \
38 < "${S}/lv_conf_template.h" > "${S}/lv_conf.h"
39}
40
41FILES:${PN}-dev += "\
42 ${includedir}/${PN}/ \
43 ${includedir}/${PN}/lvgl/ \
44 "
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 @@
1# SPDX-FileCopyrightText: Huawei Inc.
2#
3# SPDX-License-Identifier: MIT
4
5HOMEPAGE = "https://lvgl.io/"
6DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
7SUMMARY = "Light and Versatile Graphics Library"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
10
11SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=master"
12SRCREV = "e29d35b43c509b6d7189f5dac87139441669ae66"
13PV .= "+git${SRCPV}"
14
15inherit cmake
16
17EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
18S = "${WORKDIR}/git"
19
20ALLOW_EMPTY:${PN} = "1"
21
22PACKAGECONFIG ??= "drm"
23require lv-drivers.inc
24
25FILES:${PN}-dev += "\
26 ${includedir}/${PN}/ \
27 ${includedir}/${PN}/lvgl/ \
28 "