xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers_7.11.0.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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
11# TODO: Pin upstream release (current v7.11.0-80-g419a757)
12SRC_URI = "git://github.com/lvgl/lv_drivers;destsuffix=${S};protocol=https;nobranch=1"
13SRCREV = "419a757c23aaa67c676fe3a2196d64808fcf2254"
14
15DEPENDS = "libxkbcommon lvgl wayland"
16
17REQUIRED_DISTRO_FEATURES = "wayland"
18
19inherit cmake
20inherit features_check
21
22S = "${WORKDIR}/${PN}-${PV}"
23
24LVGL_CONFIG_WAYLAND_HOR_RES ?= "480"
25LVGL_CONFIG_WAYLAND_VER_RES ?= "320"
26
27EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${BASELIB}"
28
29TARGET_CFLAGS += "-DLV_CONF_INCLUDE_SIMPLE=1"
30TARGET_CFLAGS += "-I${RECIPE_SYSROOT}/${includedir}/lvgl"
31
32# Upstream does not support a default configuration
33# but propose a default "disabled" template, which is used as reference
34# More configuration can be done using external configuration variables
35do_configure:append() {
36    [ -r "${S}/lv_drv_conf.h" ] \
37        || sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \
38               -e "s|#  define USE_WAYLAND       0|#  define USE_WAYLAND       1|g" \
39	       -e "s|\(^ *# *define *WAYLAND_HOR_RES *\).*|\1${LVGL_CONFIG_WAYLAND_HOR_RES}|g" \
40 	       -e "s|\(^ *# *define *WAYLAND_VER_RES *\).*|\1${LVGL_CONFIG_WAYLAND_VER_RES}|g" \
41          < "${S}/lv_drv_conf_template.h" > "${S}/lv_drv_conf.h"
42}
43
44FILES:${PN}-dev += "\
45    ${includedir}/lvgl/lv_drivers/ \
46    "
47