From: Changqing Li Date: Mon, 9 Mar 2026 06:07:41 +0000 (+0800) Subject: lua: upgrade from 5.4.8 to 5.5.0 X-Git-Tag: uninative-5.1~12 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=5c995f975487a76bd85548093e546cb6927ec796;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git lua: upgrade from 5.4.8 to 5.5.0 Changes: https://www.lua.org/manual/5.5/readme.html#changes PLATS linux-readline is moved, and readline is changed to load dynamically, refer [1], keep readline as PACKAGECONFIG to allow user to remove readline dependency. Lua use dlopen by default, and LUA_READLINELIB is set to libreadline.so, but libreadline.so is in the dev package, which will make Lua cannot load libreadline even when libreadline is installed. Make readline as build dependency and detect the real libreadline name and set LUA_READLINELIB [1] https://github.com/lua/lua/commit/366c85564874d560b3608349f752e9e490f9002d [2] https://github.com/lua/lua/blob/master/lua.c#L520 Signed-off-by: Changqing Li Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/lua/lua_5.4.8.bb b/meta/recipes-devtools/lua/lua_5.5.0.bb similarity index 71% rename from meta/recipes-devtools/lua/lua_5.4.8.bb rename to meta/recipes-devtools/lua/lua_5.5.0.bb index 1d37cddeb8..905dd01001 100644 --- a/meta/recipes-devtools/lua/lua_5.4.8.bb +++ b/meta/recipes-devtools/lua/lua_5.5.0.bb @@ -1,7 +1,7 @@ SUMMARY = "Lua is a powerful light-weight programming language designed \ for extending applications." LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=305;endline=326;md5=0e573c143cb6491b41cf02cfbcb8c267" +LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=299;endline=320;md5=0e573c143cb6491b41cf02cfbcb8c267" HOMEPAGE = "http://www.lua.org/" SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \ @@ -12,24 +12,32 @@ SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \ # if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release. PV_testsuites = "${PV}" -SRC_URI[tarballsrc.sha256sum] = "4f18ddae154e793e46eeab727c59ef1c0c0c2b744e7b94219710d76f530629ae" -SRC_URI[tarballtest.sha256sum] = "9581d5a7c39ffbf29b8ccde2709083c380f7bbddbd968dcb15712d2f2e33f4e5" +SRC_URI[tarballsrc.sha256sum] = "57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d" +SRC_URI[tarballtest.sha256sum] = "5e47bbfad7db2965d69580e918ee64edeb8d8d32de404b8dae9ce5c6d76a1472" inherit pkgconfig binconfig ptest PACKAGECONFIG ??= "readline" -PACKAGECONFIG[readline] = ",,readline" +PACKAGECONFIG[readline] = ",,readline,readline" TARGET_CC_ARCH += " -fPIC ${LDFLAGS}" EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}' 'AR=ar rcD' 'RANLIB=ranlib -D'" +do_configure:prepend:class-target() { + libreadline=$(find "${RECIPE_SYSROOT}" -name libreadline.so) + if [ -n "$libreadline" ] && [ -L "$libreadline" ]; then + real_libreadline=$(readlink "$libreadline") + sed -i -e "s/#define LUA_READLINELIB[[:space:]]*\"libreadline.*$/#define LUA_READLINELIB \"$real_libreadline\"/g" src/luaconf.h + fi +} + do_configure:prepend() { sed -i -e s:/usr/local:${prefix}:g src/luaconf.h sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h } do_compile () { - oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux-readline', 'linux', d)} + oe_runmake linux } do_install () { @@ -40,13 +48,13 @@ do_install () { 'INSTALL_MAN=${D}${mandir}/man1' \ 'INSTALL_SHARE=${D}${datadir}/lua' \ 'INSTALL_LIB=${D}${libdir}' \ - 'INSTALL_CMOD=${D}${libdir}/lua/5.4' \ + 'INSTALL_CMOD=${D}${libdir}/lua/5.5' \ install install -d ${D}${libdir}/pkgconfig sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/ - rmdir ${D}${datadir}/lua/5.4 + rmdir ${D}${datadir}/lua/5.* rmdir ${D}${datadir}/lua }