blob: eabfc89575432c024dc8d59c262412fa40af5123 [file] [log] [blame]
Patrick Williams8e7b46e2023-05-01 14:19:06 -05001SUMMARY = "Lua is a powerful light-weight programming language designed \
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00002for extending applications."
3LICENSE = "MIT"
Andrew Geissler8f840682023-07-21 09:09:43 -05004LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=303;endline=324;md5=e05449eb28c092473f854670c6e8375a"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00005HOMEPAGE = "http://www.lua.org/"
6
7SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
8 file://lua.pc.in \
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00009 ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'http://www.lua.org/tests/lua-${PV_testsuites}-tests.tar.gz;name=tarballtest file://run-ptest ', '', d)} \
10 "
11
12# if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
13PV_testsuites = "5.4.4"
14
Andrew Geissler8f840682023-07-21 09:09:43 -050015SRC_URI[tarballsrc.sha256sum] = "7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000016SRC_URI[tarballtest.sha256sum] = "04d28355cd67a2299dfe5708b55a0ff221ccb1a3907a3113cc103ccc05ac6aad"
17
18inherit pkgconfig binconfig ptest
19
20PACKAGECONFIG ??= "readline"
21PACKAGECONFIG[readline] = ",,readline"
22
23TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
24EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}' 'AR=ar rcD' 'RANLIB=ranlib -D'"
25
26do_configure:prepend() {
27 sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
28 sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h
29}
30
31do_compile () {
32 oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux-readline', 'linux', d)}
33}
34
35do_install () {
36 oe_runmake \
37 'INSTALL_TOP=${D}${prefix}' \
38 'INSTALL_BIN=${D}${bindir}' \
39 'INSTALL_INC=${D}${includedir}/' \
40 'INSTALL_MAN=${D}${mandir}/man1' \
41 'INSTALL_SHARE=${D}${datadir}/lua' \
42 'INSTALL_LIB=${D}${libdir}' \
43 'INSTALL_CMOD=${D}${libdir}/lua/5.4' \
44 install
45 install -d ${D}${libdir}/pkgconfig
46
Andrew Geissler615f2f12022-07-15 14:00:58 -050047 sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000048 install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
49 rmdir ${D}${datadir}/lua/5.4
50 rmdir ${D}${datadir}/lua
51}
52
53do_install_ptest () {
54 cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test
55}
56
Patrick Williams8e7b46e2023-05-01 14:19:06 -050057do_install_ptest:append:libc-musl () {
58 # locale tests does not work on musl, due to limited locale implementation
59 # https://wiki.musl-libc.org/open-issues.html#Locale-limitations
60 sed -i -e 's|os.setlocale("pt_BR") or os.setlocale("ptb")|false|g' ${D}${PTEST_PATH}/test/literals.lua
61}
62
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000063BBCLASSEXTEND = "native nativesdk"
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050064
65inherit multilib_script
66MULTILIB_SCRIPTS = "${PN}-dev:${includedir}/luaconf.h"