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"