diff mbox series

[meta-oe,1/5] lvgl: Update to 9.6.0

Message ID 20261008100626.2259941-2-t.schmelzer@phytec.de
State New
Headers show
Series lvgl: update 9.5.0 -> 9.6.0 | expand

Commit Message

Thorsten Schmelzer Oct. 8, 2026, 10:06 a.m. UTC
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 <t.schmelzer@phytec.de>
---
 ...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 mbox series

Patch

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 000000000000..07e6557cb72d
--- /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 <t.schmelzer@phytec.de>
+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 <t.schmelzer@phytec.de>
+---
+ 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 4264f20895de..84115b68cc51 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 18a5b5de5160..260ea094e68c 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"