diff options
Diffstat (limited to 'meta/recipes-devtools/lua')
-rw-r--r-- | meta/recipes-devtools/lua/lua/lua.pc.in | 9 | ||||
-rw-r--r-- | meta/recipes-devtools/lua/lua/run-ptest | 19 | ||||
-rw-r--r-- | meta/recipes-devtools/lua/lua_5.4.6.bb | 66 |
3 files changed, 94 insertions, 0 deletions
diff --git a/meta/recipes-devtools/lua/lua/lua.pc.in b/meta/recipes-devtools/lua/lua/lua.pc.in new file mode 100644 index 0000000000..1fc288c4fe --- /dev/null +++ b/meta/recipes-devtools/lua/lua/lua.pc.in @@ -0,0 +1,9 @@ +libdir=@LIBDIR@ +includedir=@INCLUDEDIR@ + +Name: Lua +Description: Lua language engine +Version: @VERSION@ +Requires: +Libs: -L${libdir} -llua -lm -ldl +Cflags: -I${includedir} diff --git a/meta/recipes-devtools/lua/lua/run-ptest b/meta/recipes-devtools/lua/lua/run-ptest new file mode 100644 index 0000000000..8e085e1af9 --- /dev/null +++ b/meta/recipes-devtools/lua/lua/run-ptest @@ -0,0 +1,19 @@ +#!/bin/sh + +cd test +lua -e"_U=true" all.lua > lua-test.tmp + +echo "--- test output ---" +cat lua-test.tmp +echo "" +echo "" +echo "--- ptest result ---" + +grep "final OK \!\!\!" lua-test.tmp > /dev/null +if [ $? -eq 0 ]; then + echo "PASS: lua" +else + echo "FAIL: lua" +fi + +rm -f lua-test.tmp diff --git a/meta/recipes-devtools/lua/lua_5.4.6.bb b/meta/recipes-devtools/lua/lua_5.4.6.bb new file mode 100644 index 0000000000..17dc8fb17d --- /dev/null +++ b/meta/recipes-devtools/lua/lua_5.4.6.bb @@ -0,0 +1,66 @@ +SUMMARY = "Lua is a powerful light-weight programming language designed \ +for extending applications." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=303;endline=324;md5=e05449eb28c092473f854670c6e8375a" +HOMEPAGE = "http://www.lua.org/" + +SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \ + file://lua.pc.in \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'http://www.lua.org/tests/lua-${PV_testsuites}-tests.tar.gz;name=tarballtest file://run-ptest ', '', d)} \ + " + +# if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release. +PV_testsuites = "5.4.4" + +SRC_URI[tarballsrc.sha256sum] = "7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88" +SRC_URI[tarballtest.sha256sum] = "04d28355cd67a2299dfe5708b55a0ff221ccb1a3907a3113cc103ccc05ac6aad" + +inherit pkgconfig binconfig ptest + +PACKAGECONFIG ??= "readline" +PACKAGECONFIG[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() { + 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)} +} + +do_install () { + oe_runmake \ + 'INSTALL_TOP=${D}${prefix}' \ + 'INSTALL_BIN=${D}${bindir}' \ + 'INSTALL_INC=${D}${includedir}/' \ + 'INSTALL_MAN=${D}${mandir}/man1' \ + 'INSTALL_SHARE=${D}${datadir}/lua' \ + 'INSTALL_LIB=${D}${libdir}' \ + 'INSTALL_CMOD=${D}${libdir}/lua/5.4' \ + 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 +} + +do_install_ptest () { + cp -R --no-dereference --preserve=mode,links -v ${UNPACKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test +} + +do_install_ptest:append:libc-musl () { + # locale tests does not work on musl, due to limited locale implementation + # https://wiki.musl-libc.org/open-issues.html#Locale-limitations + sed -i -e 's|os.setlocale("pt_BR") or os.setlocale("ptb")|false|g' ${D}${PTEST_PATH}/test/literals.lua +} + +BBCLASSEXTEND = "native nativesdk" + +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}-dev:${includedir}/luaconf.h" |