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