From 2bb57b5d816f68981d9a9506cbaadc083f18da7b Mon Sep 17 00:00:00 2001 From: Thorsten Schmelzer Date: Thu, 8 Oct 2026 12:06:22 +0200 Subject: [PATCH] lvgl: Update to 9.6.0 Add pkgconfig inherit and drop manually adding include paths to CFLAGS and CXXFLAGS. The lvgl cmake can handle this meanwhile. Add a patch to fix missing version and links for installed .so files. Signed-off-by: Thorsten Schmelzer Signed-off-by: Khem Raj --- ...rate-proper-.so-links-when-installin.patch | 71 +++++++++++++++++++ meta-oe/recipes-graphics/lvgl/lv-conf.inc | 7 -- .../lvgl/{lvgl_9.5.0.bb => lvgl_9.6.0.bb} | 8 ++- 3 files changed, 76 insertions(+), 10 deletions(-) create mode 100644 meta-oe/recipes-graphics/lvgl/files/0001-build-cmake-generate-proper-.so-links-when-installin.patch rename meta-oe/recipes-graphics/lvgl/{lvgl_9.5.0.bb => lvgl_9.6.0.bb} (71%) diff --git a/meta-oe/recipes-graphics/lvgl/files/0001-build-cmake-generate-proper-.so-links-when-installin.patch b/meta-oe/recipes-graphics/lvgl/files/0001-build-cmake-generate-proper-.so-links-when-installin.patch new file mode 100644 index 0000000000..07e6557cb7 --- /dev/null +++ b/meta-oe/recipes-graphics/lvgl/files/0001-build-cmake-generate-proper-.so-links-when-installin.patch @@ -0,0 +1,71 @@ +From a9841c03f4670d1b0373cb869573740df92cd1cf Mon Sep 17 00:00:00 2001 +From: Thorsten Schmelzer +Date: Tue, 6 Oct 2026 11:58:15 +0200 +Subject: [PATCH] build(cmake): generate proper .so links when installing + shared library + +Commit 789d453 removed the set_target_properties sections for the +library installations. That results in only the plain liblvgl.so being +installed in the install location, when building a shared library. +Other package and build systems (like yocto), however expect to have a +proper versioned library and links like this: +liblvgl.so -> liblvgl.so.9 +liblvgl.so.9 -> liblvgl.so.9.6.0 +liblvgl.so.9.6.0 + +Fix this by setting VERSION and SOVERSION in set_target_properties +for lvgl, lvgl_demos and lvgl_examples library targets. + +Upstream-Status: Backport [8df3de9c4c5e45ad7b0fef5adc2fa6eaa5d21579] + +Signed-off-by: Thorsten Schmelzer +--- + env_support/cmake/install.cmake | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/env_support/cmake/install.cmake b/env_support/cmake/install.cmake +index cb647af9ea9b..93a0272f81c8 100644 +--- a/env_support/cmake/install.cmake ++++ b/env_support/cmake/install.cmake +@@ -91,6 +91,13 @@ install( + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/lvgl" + ) + ++set_target_properties( ++ lvgl ++ PROPERTIES OUTPUT_NAME lvgl ++ VERSION ${LVGL_VERSION} ++ SOVERSION ${LVGL_SOVERSION} ++) ++ + install(TARGETS lvgl + EXPORT lvglTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +@@ -132,6 +139,13 @@ if(CONFIG_LV_BUILD_DEMOS) + FILES_MATCHING PATTERN "*.h" + ) + ++ set_target_properties( ++ lvgl_demos ++ PROPERTIES OUTPUT_NAME lvgl_demos ++ VERSION ${LVGL_VERSION} ++ SOVERSION ${LVGL_SOVERSION} ++ ) ++ + # Demo library target (if you build one) + install(TARGETS lvgl_demos + EXPORT lvglDemosTargets +@@ -155,6 +169,13 @@ if(CONFIG_LV_BUILD_EXAMPLES) + FILES_MATCHING PATTERN "*.h" + ) + ++ set_target_properties( ++ lvgl_examples ++ PROPERTIES OUTPUT_NAME lvgl_examples ++ VERSION ${LVGL_VERSION} ++ SOVERSION ${LVGL_SOVERSION} ++ ) ++ + install(TARGETS lvgl_examples + EXPORT lvglExamplesTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/meta-oe/recipes-graphics/lvgl/lv-conf.inc b/meta-oe/recipes-graphics/lvgl/lv-conf.inc index 4264f20895..84115b68cc 100644 --- a/meta-oe/recipes-graphics/lvgl/lv-conf.inc +++ b/meta-oe/recipes-graphics/lvgl/lv-conf.inc @@ -27,13 +27,6 @@ inherit cml1 python3native EXTRA_OECMAKE += "-DLV_BUILD_USE_KCONFIG=ON" -LVGL_FLAGS += " \ - ${@bb.utils.contains('PACKAGECONFIG', 'drm', '-I${STAGING_INCDIR}/libdrm', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'freetype', '-I${STAGING_INCDIR}/freetype2', '', d)} \ -" -CFLAGS += "${LVGL_FLAGS}" -CXXFLAGS += "${LVGL_FLAGS}" - KCONFIG_CONFIG_ROOTDIR ?= "${S}" KCONFIG_FILE ?= "${KCONFIG_CONFIG_ROOTDIR}/Kconfig" export KCONFIG_CONFIG ?= "${KCONFIG_CONFIG_ROOTDIR}/.config" diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_9.5.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_9.6.0.bb similarity index 71% rename from meta-oe/recipes-graphics/lvgl/lvgl_9.5.0.bb rename to meta-oe/recipes-graphics/lvgl/lvgl_9.6.0.bb index 18a5b5de51..260ea094e6 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl_9.5.0.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl_9.6.0.bb @@ -9,11 +9,13 @@ HOMEPAGE = "https://lvgl.io/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=4570b6241b4fced1d1d18eb691a0e083" -SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v9.5;tag=v9.5.0" +SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v9.6;tag=v9.6.0 \ + file://0001-build-cmake-generate-proper-.so-links-when-installin.patch \ + " -SRCREV = "85aa60d18b3d5e5588d7b247abf90198f07c8a63" +SRCREV = "80ca777e37a2b176770726a02e07a6fb79ef0b39" -inherit cmake +inherit cmake pkgconfig EXTRA_OECMAKE += "-DLIB_INSTALL_DIR=${baselib} -DBUILD_SHARED_LIBS=ON"