new package: liblua51
This commit is contained in:
parent
90c7449d93
commit
5097326136
|
@ -0,0 +1,20 @@
|
|||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
# Where to install. The installation starts in the src and doc directories,
|
||||
# so take care if INSTALL_TOP is not an absolute path.
|
||||
-INSTALL_TOP= /usr/local
|
||||
+INSTALL_TOP= @TERMUX_PREFIX@
|
||||
INSTALL_BIN= $(INSTALL_TOP)/bin
|
||||
INSTALL_INC= $(INSTALL_TOP)/include
|
||||
INSTALL_LIB= $(INSTALL_TOP)/lib
|
||||
@@ -53,7 +53,7 @@
|
||||
all: $(PLAT)
|
||||
|
||||
$(PLATS) clean:
|
||||
- cd src && $(MAKE) $@
|
||||
+ cd src && $(MAKE) $@ V=$(V) R=$(R)
|
||||
|
||||
test: dummy
|
||||
src/lua test/hello.lua
|
|
@ -0,0 +1,43 @@
|
|||
TERMUX_PKG_HOMEPAGE=https://www.lua.org
|
||||
TERMUX_PKG_DESCRIPTION="Shared library for the Lua interpreter (v5.1.x)"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=5.1.5
|
||||
TERMUX_PKG_SRCURL=https://www.lua.org/ftp/lua-$TERMUX_PKG_VERSION.tar.gz
|
||||
TERMUX_PKG_SHA256=2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333
|
||||
TERMUX_PKG_BUILD_DEPENDS="readline"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
termux_step_pre_configure() {
|
||||
CFLAGS+=" -fPIC"
|
||||
}
|
||||
|
||||
termux_step_configure() {
|
||||
sed -e "s/%VER%/${TERMUX_PKG_VERSION%.*}/g;s/%REL%/${TERMUX_PKG_VERSION}/g" \
|
||||
-e "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|" \
|
||||
"$TERMUX_PKG_BUILDER_DIR"/lua.pc.in > lua.pc
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
make -j $TERMUX_MAKE_PROCESSES \
|
||||
MYCFLAGS="$CFLAGS" \
|
||||
MYLDFLAGS="$LDFLAGS" \
|
||||
CC="$CC" \
|
||||
CXX="$CXX" \
|
||||
linux
|
||||
}
|
||||
|
||||
termux_step_make_install() {
|
||||
make \
|
||||
TO_BIN="lua5.1 luac5.1" \
|
||||
TO_LIB="liblua5.1.so liblua5.1.so.5.1 liblua5.1.so.${TERMUX_PKG_VERSION} liblua5.1.a" \
|
||||
INSTALL_DATA="cp -d" \
|
||||
INSTALL_TOP="$TERMUX_PREFIX" \
|
||||
INSTALL_INC="$TERMUX_PREFIX/include/lua5.1" \
|
||||
INSTALL_MAN="$TERMUX_PREFIX/share/man/man1" \
|
||||
install
|
||||
install -Dm600 lua.pc "$TERMUX_PREFIX"/lib/pkgconfig/lua51.pc
|
||||
|
||||
mv -f "$TERMUX_PREFIX"/share/man/man1/lua.1 "$TERMUX_PREFIX"/share/man/man1/lua5.1.1
|
||||
mv -f "$TERMUX_PREFIX"/share/man/man1/luac.1 "$TERMUX_PREFIX"/share/man/man1/luac5.1.1
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5461
|
||||
https://www.lua.org/bugs.html#5.2.2-1
|
||||
|
||||
--- a/src/ldo.c
|
||||
+++ b/src/ldo.c
|
||||
@@ -274,7 +274,7 @@
|
||||
CallInfo *ci;
|
||||
StkId st, base;
|
||||
Proto *p = cl->p;
|
||||
- luaD_checkstack(L, p->maxstacksize);
|
||||
+ luaD_checkstack(L, p->maxstacksize + p->numparams);
|
||||
func = restorestack(L, funcr);
|
||||
if (!p->is_vararg) { /* no varargs? */
|
||||
base = func + 1;
|
|
@ -0,0 +1,20 @@
|
|||
V=%VER%
|
||||
R=%REL%
|
||||
|
||||
prefix=@TERMUX_PREFIX@
|
||||
INSTALL_BIN=${prefix}/bin
|
||||
INSTALL_INC=${prefix}/include/lua${V}
|
||||
INSTALL_LIB=${prefix}/lib
|
||||
INSTALL_MAN=${prefix}/man/man1
|
||||
INSTALL_LMOD=${prefix}/share/lua/${V}
|
||||
INSTALL_CMOD=${prefix}/lib/lua/${V}
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include/lua${V}
|
||||
|
||||
Name: Lua
|
||||
Description: An Extensible Extension Language
|
||||
Version: ${R}
|
||||
Requires:
|
||||
Libs: -L${libdir} -llua${V} -lm
|
||||
Cflags: -I${includedir}
|
|
@ -0,0 +1,27 @@
|
|||
TERMUX_SUBPKG_DESCRIPTION="Simple, extensible, embeddable programming language"
|
||||
TERMUX_SUBPKG_DEPENDS="readline"
|
||||
TERMUX_SUBPKG_INCLUDE="bin/ share/man/man1/"
|
||||
|
||||
termux_step_create_subpkg_debscripts() {
|
||||
cat <<- EOF > ./postinst
|
||||
#!$TERMUX_PREFIX/bin/sh
|
||||
if [ "$TERMUX_PACKAGE_FORMAT" = "pacman" ] || [ "\$1" = "configure" ] || [ "\$1" = "abort-upgrade" ]; then
|
||||
if [ -x "$TERMUX_PREFIX/bin/update-alternatives" ]; then
|
||||
update-alternatives --install \
|
||||
$TERMUX_PREFIX/bin/lua lua $TERMUX_PREFIX/bin/lua5.1 110
|
||||
update-alternatives --install \
|
||||
$TERMUX_PREFIX/bin/luac luac $TERMUX_PREFIX/bin/luac5.1 110
|
||||
fi
|
||||
fi
|
||||
EOF
|
||||
|
||||
cat <<- EOF > ./prerm
|
||||
#!$TERMUX_PREFIX/bin/sh
|
||||
if [ "$TERMUX_PACKAGE_FORMAT" = "pacman" ] || [ "\$1" != "upgrade" ]; then
|
||||
if [ -x "$TERMUX_PREFIX/bin/update-alternatives" ]; then
|
||||
update-alternatives --remove lua $TERMUX_PREFIX/bin/lua
|
||||
update-alternatives --remove luac $TERMUX_PREFIX/bin/luac
|
||||
fi
|
||||
fi
|
||||
EOF
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -22,21 +22,22 @@
|
||||
|
||||
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
|
||||
|
||||
-LUA_A= liblua.a
|
||||
+LUA_A= liblua5.1.a
|
||||
+LUA_SO= liblua5.1.so
|
||||
CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
|
||||
lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
|
||||
lundump.o lvm.o lzio.o
|
||||
LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \
|
||||
lstrlib.o loadlib.o linit.o
|
||||
|
||||
-LUA_T= lua
|
||||
+LUA_T= lua5.1
|
||||
LUA_O= lua.o
|
||||
|
||||
-LUAC_T= luac
|
||||
+LUAC_T= luac5.1
|
||||
LUAC_O= luac.o print.o
|
||||
|
||||
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
|
||||
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
||||
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
|
||||
ALL_A= $(LUA_A)
|
||||
|
||||
default: $(PLAT)
|
||||
@@ -51,6 +52,11 @@
|
||||
$(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
|
||||
$(RANLIB) $@
|
||||
|
||||
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
||||
+ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
|
||||
+ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
|
||||
+ ln -sf $(LUA_SO).$(R) $(LUA_SO)
|
||||
+
|
||||
$(LUA_T): $(LUA_O) $(LUA_A)
|
||||
$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
||||
|
||||
@@ -96,7 +102,7 @@
|
||||
$(MAKE) all MYCFLAGS=
|
||||
|
||||
linux:
|
||||
- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
|
||||
+ $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX $(MYCFLAGS)" MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
|
||||
|
||||
macosx:
|
||||
$(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"
|
|
@ -0,0 +1,23 @@
|
|||
--- a/src/luaconf.h
|
||||
+++ b/src/luaconf.h
|
||||
@@ -94,7 +94,7 @@
|
||||
".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"
|
||||
|
||||
#else
|
||||
-#define LUA_ROOT "/usr/local/"
|
||||
+#define LUA_ROOT "@TERMUX_PREFIX@/"
|
||||
#define LUA_LDIR LUA_ROOT "share/lua/5.1/"
|
||||
#define LUA_CDIR LUA_ROOT "lib/lua/5.1/"
|
||||
#define LUA_PATH_DEFAULT \
|
||||
@@ -645,9 +645,9 @@
|
||||
|
||||
#if defined(LUA_USE_MKSTEMP)
|
||||
#include <unistd.h>
|
||||
-#define LUA_TMPNAMBUFSIZE 32
|
||||
+#define LUA_TMPNAMBUFSIZE 256
|
||||
#define lua_tmpnam(b,e) { \
|
||||
- strcpy(b, "/tmp/lua_XXXXXX"); \
|
||||
+ strcpy(b, "@TERMUX_PREFIX@/tmp/lua_XXXXXX"); \
|
||||
e = mkstemp(b); \
|
||||
if (e != -1) close(e); \
|
||||
e = (e == -1); }
|
Loading…
Reference in New Issue