lvgl: upgrade to version 9.3
This commit upgrades our LVGL support to v9.3.0. We used the meta-openembedded implementation, reference and reused the lv_conf.inc file for the demo configuration. https://onedigi.atlassian.net/browse/DEL-9222 Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit is contained in:
parent
87cbca9693
commit
69680ded39
|
|
@ -0,0 +1,102 @@
|
||||||
|
# By default, use drm backend if possible.
|
||||||
|
# If unavailable, fall back to a secondary backend
|
||||||
|
PACKAGECONFIG ?= "drm"
|
||||||
|
PACKAGECONFIG:ccimx6ul = "fbdev"
|
||||||
|
PACKAGECONFIG:ccimx6 = "fbdev"
|
||||||
|
|
||||||
|
PACKAGECONFIG[drm] = ",,libdrm"
|
||||||
|
PACKAGECONFIG[fbdev] = ",,"
|
||||||
|
PACKAGECONFIG[gridnav] = ",,"
|
||||||
|
PACKAGECONFIG[thorvg] = ",,"
|
||||||
|
PACKAGECONFIG[sdl] = ",,virtual/libsdl2 libsdl2-image"
|
||||||
|
|
||||||
|
# Add libdrm include if drm is selected in PACKAGECONFIG
|
||||||
|
TARGET_CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'drm', '-I${STAGING_INCDIR}/libdrm', '', d)}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}"
|
||||||
|
|
||||||
|
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_SDL_FULLSCREEN ?= "0"
|
||||||
|
|
||||||
|
LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
|
||||||
|
LVGL_CONFIG_LV_MEM_SIZE ?= "(64 * 1024U)"
|
||||||
|
LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
|
||||||
|
|
||||||
|
LVGL_CONFIG_LV_USE_LOG ?= "0"
|
||||||
|
LVGL_CONFIG_LV_LOG_LEVEL ?= "LV_LOG_LEVEL_WARN"
|
||||||
|
LVGL_CONFIG_LV_LOG_PRINTF ?= "0"
|
||||||
|
|
||||||
|
LVGL_CONFIG_LV_USE_FONT_COMPRESSED ?= "0"
|
||||||
|
|
||||||
|
LVGL_CONFIG_LV_USE_GRIDNAV = "${@bb.utils.contains('PACKAGECONFIG', 'gridnav', '1', '0', d)}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_LV_THEME_DEFAULT_DARK ?= "0"
|
||||||
|
|
||||||
|
LVGL_CONFIG_USE_LOTTIE = "${@bb.utils.contains('PACKAGECONFIG', 'thorvg', '1', '0', d)}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_USE_VECTOR_GRAPHICS = "${@bb.utils.contains('PACKAGECONFIG', 'thorvg', '1', '0', d)}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_USE_THORVG_INTERNAL = "${@bb.utils.contains('PACKAGECONFIG', 'thorvg', '1', '0', d)}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_USE_MATRIX = "${@bb.utils.contains('PACKAGECONFIG', 'thorvg', '1', '0', d)}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_USE_FLOAT = "${@bb.utils.contains('PACKAGECONFIG', 'thorvg', '1', '0', d)}"
|
||||||
|
|
||||||
|
DEBUG_BUILD ??= "0"
|
||||||
|
|
||||||
|
ALLOW_EMPTY:${PN} = "1"
|
||||||
|
|
||||||
|
EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
|
||||||
|
|
||||||
|
do_configure:append() {
|
||||||
|
# If there is a configuration template, start from that
|
||||||
|
[ -r "${S}/lv_conf_template.h" ] && cp -Lv "${S}/lv_conf_template.h" "${S}/lv_conf.h"
|
||||||
|
|
||||||
|
sed -r -e "s|#if 0 .*Set it to \"1\" to enable content.*|#if 1 // Enabled by ${PN}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_LINUX_DRM[[:space:]]).*|\1${LVGL_CONFIG_USE_DRM}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_LINUX_FBDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_FBDEV}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_DRAW_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_SDL_BUF_COUNT[[:space:]]).*|\1 2|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_SDL_FULLSCREEN[[:space:]]).*|\1${LVGL_CONFIG_SDL_FULLSCREEN}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_COLOR_DEPTH[[:space:]]).*|\1${LVGL_CONFIG_LV_COLOR_DEPTH}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_MEM_CUSTOM[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_MEM_SIZE[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_SIZE}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_TICK_CUSTOM[[:space:]]).*|\1 1|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_TICK_CUSTOM_INCLUDE[[:space:]]).*|\1 <stdint.h>|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_TICK_CUSTOM_SYS_TIME_EXPR[[:space:]]).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_EVDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_EVDEV}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_ASSERT_NULL[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_ASSERT_MALLOC[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_ASSERT_STYLE[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_ASSERT_MEM_INTEGRITY[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_ASSERT_OBJ[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_LOG[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_LOG}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_LOG_LEVEL[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_LEVEL}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_LOG_PRINTF[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_PRINTF}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_FONT_COMPRESSED[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_FONT_COMPRESSED}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_GRIDNAV[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_GRIDNAV}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_THEME_DEFAULT_DARK[[:space:]]).*|\1${LVGL_CONFIG_LV_THEME_DEFAULT_DARK}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_VECTOR_GRAPHIC[[:space:]]).*|\1${LVGL_CONFIG_USE_VECTOR_GRAPHICS}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_THORVG_INTERNAL[[:space:]]).*|\1${LVGL_CONFIG_USE_THORVG_INTERNAL}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_MATRIX[[:space:]]).*|\1${LVGL_CONFIG_USE_MATRIX}|" \
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_FLOAT[[:space:]]).*|\1${LVGL_CONFIG_USE_FLOAT}|" \
|
||||||
|
\
|
||||||
|
-e "s|^([[:space:]]*#define LV_USE_LOTTIE[[:space:]]).*|\1${LVGL_CONFIG_USE_LOTTIE}|" \
|
||||||
|
-i "${S}/lv_conf.h"
|
||||||
|
}
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
PACKAGECONFIG[drm] = ",,libdrm"
|
|
||||||
PACKAGECONFIG[fbdev] = ",,"
|
|
||||||
PACKAGECONFIG[sdl] = ",,virtual/libsdl2"
|
|
||||||
PACKAGECONFIG[wayland] = ",,libxkbcommon wayland"
|
|
||||||
|
|
||||||
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/mouse0"
|
|
||||||
LVGL_CONFIG_EVDEV_INPUT:ccimx6ul ?= "/dev/input/touchscreen0"
|
|
||||||
|
|
||||||
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)}"
|
|
||||||
|
|
||||||
ALLOW_EMPTY:${PN} = "1"
|
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
# 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 USE_FBDEV \).*|# define USE_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
|
|
||||||
\
|
|
||||||
-e "s|\(^# define USE_SDL \).*|# define USE_SDL ${LVGL_CONFIG_USE_SDL}|g" \
|
|
||||||
\
|
|
||||||
-e "s|\(^# define USE_WAYLAND \).*|# define USE_WAYLAND ${LVGL_CONFIG_USE_WAYLAND}|g" \
|
|
||||||
\
|
|
||||||
-i "${S}/lv_drv_conf.h"
|
|
||||||
}
|
|
||||||
|
|
@ -1,108 +0,0 @@
|
||||||
SUMMARY = "LVGL Demo Application"
|
|
||||||
HOMEPAGE = "https://github.com/digi-embedded/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"
|
|
||||||
|
|
||||||
SRCBRANCH ?= "dey/master"
|
|
||||||
|
|
||||||
SRC_URI = " \
|
|
||||||
gitsm://github.com/digi-embedded/lv_port_linux_frame_buffer.git;branch=${SRCBRANCH};protocol=https \
|
|
||||||
file://lvgl-demo-init \
|
|
||||||
file://lvgl-demo-init.service \
|
|
||||||
"
|
|
||||||
SRCREV = "0a799d22a5aaf9de18aca428579945a0a9c2c270"
|
|
||||||
|
|
||||||
EXTRA_OEMAKE = "DESTDIR=${D}"
|
|
||||||
|
|
||||||
# By default, use wayland backend if possible.
|
|
||||||
# If unavailable, fall back to a secondary backend
|
|
||||||
MINIMAL_BACKEND ?= "fbdev"
|
|
||||||
MINIMAL_BACKEND:imxdrm = "drm"
|
|
||||||
MINIMAL_BACKEND:ccmp15 = "sdl"
|
|
||||||
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '${MINIMAL_BACKEND}', d)}"
|
|
||||||
|
|
||||||
require lv-drivers.inc
|
|
||||||
|
|
||||||
inherit cmake systemd update-rc.d
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm"
|
|
||||||
|
|
||||||
# Change DRM card used for i.MX8-based platforms
|
|
||||||
LVGL_CONFIG_DRM_CARD:mx8-generic-bsp = "/dev/dri/card1"
|
|
||||||
|
|
||||||
LVGL_CONFIG_HOR_RES ?= "800"
|
|
||||||
LVGL_CONFIG_VER_RES ?= "480"
|
|
||||||
LVGL_CONFIG_HOR_RES:ccimx6ul ?= "1280"
|
|
||||||
LVGL_CONFIG_VER_RES:ccimx6ul ?= "800"
|
|
||||||
|
|
||||||
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"
|
|
||||||
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"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${LVGL_CONFIG_USE_WAYLAND}" -eq 1 ] ; then
|
|
||||||
# Add wayland build dependencies
|
|
||||||
sed -i '/^target_link_libraries/ s@lvgl::drivers@& wayland-client wayland-cursor xkbcommon@' "${S}/CMakeLists.txt"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure the app's dimensions
|
|
||||||
sed -e "s|\(^#define *LV_DRV_DISP_HOR_RES *\).*|\1${LVGL_CONFIG_HOR_RES}|g" \
|
|
||||||
-e "s|\(^#define *LV_DRV_DISP_VER_RES *\).*|\1${LVGL_CONFIG_VER_RES}|g" \
|
|
||||||
\
|
|
||||||
-i "${S}/lv_drv_conf.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
WESTON_SERVICE ?= "weston.service"
|
|
||||||
WESTON_SERVICE:ccmp15 ?= "weston-launch.service"
|
|
||||||
WESTON_SERVICE:ccmp2 ?= "weston-launch.service"
|
|
||||||
|
|
||||||
LVGL_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\$\{DEMO_DISPLAY\}"
|
|
||||||
LVGL_DEMO_ENV:ccimx6ul ?= ""
|
|
||||||
|
|
||||||
do_install:append() {
|
|
||||||
install -d ${D}${bindir}
|
|
||||||
install -m 0755 ${B}/lvgl_fb ${D}${bindir}/lvgl_demo
|
|
||||||
|
|
||||||
# Install systemd service
|
|
||||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
|
||||||
# Install systemd unit files
|
|
||||||
install -d ${D}${systemd_unitdir}/system
|
|
||||||
install -m 0644 ${WORKDIR}/lvgl-demo-init.service ${D}${systemd_unitdir}/system/
|
|
||||||
sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \
|
|
||||||
"${D}${systemd_unitdir}/system/lvgl-demo-init.service"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install wrapper bootscript to launch LVGL demo on boot
|
|
||||||
install -d ${D}${sysconfdir}/init.d
|
|
||||||
install -m 0755 ${WORKDIR}/lvgl-demo-init ${D}${sysconfdir}/lvgl-demo-init
|
|
||||||
sed -i -e "s@##LVGL_DEMO_DISPLAY##@${WAYLAND_DISPLAY}@g" \
|
|
||||||
-e "s@##LVGL_DEMO_ENV##@${LVGL_DEMO_ENV}@g" \
|
|
||||||
"${D}${sysconfdir}/lvgl-demo-init"
|
|
||||||
ln -sf ${sysconfdir}/lvgl-demo-init ${D}${sysconfdir}/init.d/lvgl-demo-init
|
|
||||||
}
|
|
||||||
|
|
||||||
PACKAGES =+ "${PN}-init"
|
|
||||||
FILES:${PN}-init = " \
|
|
||||||
${sysconfdir}/lvgl-demo-init \
|
|
||||||
${sysconfdir}/init.d/lvgl-demo-init \
|
|
||||||
${systemd_unitdir}/system/lvgl-demo-init.service \
|
|
||||||
"
|
|
||||||
|
|
||||||
INITSCRIPT_PACKAGES += "${PN}-init"
|
|
||||||
INITSCRIPT_NAME:${PN}-init = "lvgl-demo-init"
|
|
||||||
INITSCRIPT_PARAMS:${PN}-init = "start 99 3 5 . stop 20 0 1 2 6 ."
|
|
||||||
|
|
||||||
SYSTEMD_PACKAGES = "${PN}-init"
|
|
||||||
SYSTEMD_SERVICE:${PN}-init = "lvgl-demo-init.service"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8m|ccimx8x|ccimx93|ccmp15|ccmp2)"
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
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=4570b6241b4fced1d1d18eb691a0e083"
|
||||||
|
|
||||||
|
SRC_URI = "\
|
||||||
|
git://github.com/lvgl/lv_port_linux_frame_buffer.git;protocol=https;branch=release/v9.3;name=demo \
|
||||||
|
git://github.com/lvgl/lvgl;protocol=https;branch=release/v9.3;name=lvgl;subdir=git/lvgl \
|
||||||
|
file://lvgl-demo-init \
|
||||||
|
file://lvgl-demo-init.service \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRCREV_demo = "d07de027a8eb220f4e20f0e1b8be28729332e9ea"
|
||||||
|
SRCREV_lvgl = "c033a98afddd65aaafeebea625382a94020fe4a7"
|
||||||
|
SRCREV_FORMAT = "demo_lvgl"
|
||||||
|
|
||||||
|
EXTRA_OEMAKE = "DESTDIR=${D}"
|
||||||
|
|
||||||
|
LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
|
||||||
|
# Change DRM card used for i.MX8-based platforms
|
||||||
|
LVGL_CONFIG_DRM_CARD:mx8-generic-bsp = "/dev/dri/card1"
|
||||||
|
LVGL_CONFIG_LV_USE_LOG = "1"
|
||||||
|
LVGL_CONFIG_LV_LOG_PRINTF = "1"
|
||||||
|
LVGL_CONFIG_LV_MEM_SIZE = "(256 * 1024U)"
|
||||||
|
LVGL_CONFIG_LV_USE_FONT_COMPRESSED = "1"
|
||||||
|
|
||||||
|
require lv-conf.inc
|
||||||
|
|
||||||
|
inherit cmake systemd update-rc.d
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
LVGL_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\$\{DEMO_DISPLAY\}"
|
||||||
|
LVGL_DEMO_ENV:ccimx6ul ?= ""
|
||||||
|
|
||||||
|
do_configure:prepend() {
|
||||||
|
if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
|
||||||
|
# Add libsdl build dependency, SDL2_image has no cmake file
|
||||||
|
sed -i '/^target_link_libraries/ s@pthread@& SDL2_image@' "${S}/CMakeLists.txt"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install:append() {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -m 0755 ${S}/bin/main ${D}${bindir}/lvgl-demo
|
||||||
|
|
||||||
|
# Install systemd service
|
||||||
|
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||||
|
# Install systemd unit files
|
||||||
|
install -d ${D}${systemd_unitdir}/system
|
||||||
|
install -m 0644 ${WORKDIR}/lvgl-demo-init.service ${D}${systemd_unitdir}/system/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install wrapper bootscript to launch LVGL demo on boot
|
||||||
|
install -d ${D}${sysconfdir}/init.d
|
||||||
|
install -m 0755 ${WORKDIR}/lvgl-demo-init ${D}${sysconfdir}/lvgl-demo-init
|
||||||
|
sed -i -e "s@##LVGL_DEMO_DISPLAY##@${WAYLAND_DISPLAY}@g" \
|
||||||
|
-e "s@##LVGL_DEMO_ENV##@${LVGL_DEMO_ENV}@g" \
|
||||||
|
"${D}${sysconfdir}/lvgl-demo-init"
|
||||||
|
ln -sf ${sysconfdir}/lvgl-demo-init ${D}${sysconfdir}/init.d/lvgl-demo-init
|
||||||
|
}
|
||||||
|
|
||||||
|
PACKAGES =+ "${PN}-init"
|
||||||
|
FILES:${PN}-init = " \
|
||||||
|
${sysconfdir}/lvgl-demo-init \
|
||||||
|
${sysconfdir}/init.d/lvgl-demo-init \
|
||||||
|
${systemd_unitdir}/system/lvgl-demo-init.service \
|
||||||
|
"
|
||||||
|
|
||||||
|
INITSCRIPT_PACKAGES += "${PN}-init"
|
||||||
|
INITSCRIPT_NAME:${PN}-init = "lvgl-demo-init"
|
||||||
|
INITSCRIPT_PARAMS:${PN}-init = "start 99 3 5 . stop 20 0 1 2 6 ."
|
||||||
|
|
||||||
|
SYSTEMD_PACKAGES = "${PN}-init"
|
||||||
|
SYSTEMD_SERVICE:${PN}-init = "lvgl-demo-init.service"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8m|ccimx8x|ccimx93|ccmp15|ccmp2)"
|
||||||
Loading…
Reference in New Issue