blob: 342ed1b547789387eb55997670e52c80e09cc363 [file] [log] [blame]
developer93e97202024-01-17 12:29:44 +08001DESCRIPTION = "Lua is a powerful light-weight programming language designed \
2for extending applications."
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=f43d8ee6bc4df18ef8b276439cc4a153"
5HOMEPAGE = "http://www.lua.org/"
6
7SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
8 file://lua.pc.in \
9 file://0001-Allow-building-lua-without-readline-on-Linux.patch \
10 file://CVE-2020-15888.patch \
11 file://CVE-2020-15945.patch \
12 file://0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch \
13 "
14
15# if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
16PV_testsuites = "5.3.4"
17
18SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
19 'http://www.lua.org/tests/lua-${PV_testsuites}-tests.tar.gz;name=tarballtest \
20 file://run-ptest \
21 ', '', d)}"
22
23SRC_URI[tarballsrc.md5sum] = "83f23dbd5230140a3770d5f54076948d"
24SRC_URI[tarballsrc.sha256sum] = "fc5fd69bb8736323f026672b1b7235da613d7177e72558893a0bdcd320466d60"
25SRC_URI[tarballtest.md5sum] = "b14fe3748c1cb2d74e3acd1943629ba3"
26SRC_URI[tarballtest.sha256sum] = "b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f"
27
28inherit pkgconfig binconfig ptest
29
30PACKAGECONFIG ??= "readline"
31PACKAGECONFIG[readline] = ",,readline"
32
33UCLIBC_PATCHES += "file://uclibc-pthread.patch"
34SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
35
36TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
37EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}'"
38
39do_configure_prepend() {
40 sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
41 sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h
42}
43
44do_compile () {
45 oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux', 'linux-no-readline', d)}
46}
47
48do_install () {
49 oe_runmake \
50 'INSTALL_TOP=${D}${prefix}' \
51 'INSTALL_BIN=${D}${bindir}' \
52 'INSTALL_INC=${D}${includedir}/' \
53 'INSTALL_MAN=${D}${mandir}/man1' \
54 'INSTALL_SHARE=${D}${datadir}/lua' \
55 'INSTALL_LIB=${D}${libdir}' \
56 'INSTALL_CMOD=${D}${libdir}/lua/5.3' \
57 install
58 install -d ${D}${libdir}/pkgconfig
59
60 sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
61 install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
62 rmdir ${D}${datadir}/lua/5.3
63 rmdir ${D}${datadir}/lua
64}
65
66do_install_ptest () {
67 cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test
68}
69
70BBCLASSEXTEND = "native nativesdk"