liblua: rename to liblua53 and add liblua54

This commit is contained in:
Henrik Grimler 2020-10-01 16:18:08 +03:00 committed by Leonid Pliushch
parent b0c5a8b749
commit d7473dee2c
20 changed files with 349 additions and 47 deletions

View File

@ -1,29 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.lua.org/
TERMUX_PKG_DESCRIPTION="Shared library for the Lua interpreter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_VERSION=5.3.5
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL=https://www.lua.org/ftp/lua-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac
TERMUX_PKG_EXTRA_MAKE_ARGS=linux
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_BREAKS="liblua-dev"
TERMUX_PKG_REPLACES="liblua-dev"
TERMUX_PKG_BUILD_DEPENDS="readline"
termux_step_pre_configure() {
AR+=" rcu"
CFLAGS+=" -fPIC -DLUA_COMPAT_5_2 -DLUA_COMPAT_UNPACK"
export MYLDFLAGS=$LDFLAGS
}
termux_step_post_make_install() {
# Add a pkg-config file for the system zlib
cat > "$PKG_CONFIG_LIBDIR/lua.pc" <<-HERE
Name: Lua
Description: An Extensible Extension Language
Version: $TERMUX_PKG_VERSION
Requires:
Libs: -llua -lm
HERE
}

View File

@ -3,18 +3,18 @@ R=%REL%
prefix=@TERMUX_PREFIX@
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include/lua5.2
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/lua5.2
includedir=${prefix}/include/lua${V}
Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua5.2 -lm
Libs: -L${libdir} -llua${V} -lm
Cflags: -I${includedir}

View File

@ -1,6 +1,6 @@
diff -u -r ../lua-5.3.4/Makefile ./Makefile
--- ../lua-5.3.4/Makefile 2016-12-20 17:26:08.000000000 +0100
+++ ./Makefile 2017-02-02 01:32:24.472329105 +0100
diff -uNr lua-5.3.5/Makefile lua-5.3.5.mod/Makefile
--- lua-5.3.5/Makefile 2016-12-20 18:26:08.000000000 +0200
+++ lua-5.3.5.mod/Makefile 2020-10-01 15:15:16.929817004 +0300
@@ -4,17 +4,17 @@
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
@ -50,12 +50,3 @@ diff -u -r ../lua-5.3.4/Makefile ./Makefile
test: dummy
src/lua -v
@@ -63,6 +63,8 @@
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+ ln -f -s $(INSTALL_LIB)/liblua.so.$(R) $(INSTALL_LIB)/liblua.so.$(V)
+ ln -f -s $(INSTALL_LIB)/liblua.so.$(R) $(INSTALL_LIB)/liblua.so
uninstall:
cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)

View File

@ -0,0 +1,39 @@
TERMUX_PKG_HOMEPAGE=https://www.lua.org/
TERMUX_PKG_DESCRIPTION="Shared library for the Lua interpreter (v5.3.x)"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_VERSION=5.3.5
TERMUX_PKG_REVISION=6
TERMUX_PKG_SRCURL=https://www.lua.org/ftp/lua-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac
TERMUX_PKG_EXTRA_MAKE_ARGS=linux
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_BREAKS="liblua-dev, liblua (<< 5.3.5-6)"
TERMUX_PKG_REPLACES="liblua-dev, liblua (<< 5.3.5-6)"
TERMUX_PKG_BUILD_DEPENDS="readline"
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_pre_configure() {
AR+=" rcu"
CFLAGS+=" -fPIC -DLUA_COMPAT_5_2 -DLUA_COMPAT_UNPACK"
export MYLDFLAGS=$LDFLAGS
}
termux_step_make_install() {
make \
TO_BIN="lua5.3 luac5.3" \
TO_LIB="liblua5.3.so liblua5.3.so.5.3 liblua5.3.so.${TERMUX_PKG_VERSION}" \
INSTALL_DATA="cp -d" \
INSTALL_TOP="$TERMUX_PREFIX" \
INSTALL_INC="$TERMUX_PREFIX/include/lua5.3" \
INSTALL_MAN="$TERMUX_PREFIX/share/man/man1" \
install
install -Dm600 lua.pc "$TERMUX_PREFIX"/lib/pkgconfig/lua53.pc
mv -f "$TERMUX_PREFIX"/share/man/man1/lua.1 "$TERMUX_PREFIX"/share/man/man1/lua5.3.1
mv -f "$TERMUX_PREFIX"/share/man/man1/luac.1 "$TERMUX_PREFIX"/share/man/man1/luac5.3.1
}

View File

@ -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}

View File

@ -0,0 +1,5 @@
TERMUX_SUBPKG_INCLUDE="bin/ share/man/man1/"
TERMUX_SUBPKG_DESCRIPTION="Simple, extensible, embeddable programming language"
TERMUX_SUBPKG_DEPENDS="readline"
TERMUX_SUBPKG_BREAKS="lua (<< 5.3.5-6)"
TERMUX_SUBPKG_REPLACES="lua (<< 5.3.5-6)"

View File

@ -32,12 +32,22 @@ diff -r -u ../lua-5.3.3/src/Makefile ./src/Makefile
PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
LUA_A= liblua.a
+LUA_SO= liblua.so
-LUA_A= liblua.a
+LUA_A= liblua5.3.a
+LUA_SO= liblua5.3.so
CORE_O= lapi.o lcode.o lctype.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
@@ -43,7 +32,7 @@
@@ -43,14 +32,14 @@
lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
-LUA_T= lua
+LUA_T= lua5.3
LUA_O= lua.o
-LUAC_T= luac
+LUAC_T= luac5.3
LUAC_O= luac.o
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)

View File

@ -0,0 +1,32 @@
Extracted from doc/readme.html
--- /dev/null 2020-07-04 07:25:57.571395009 +0200
+++ ./LICENSE 2020-07-06 09:02:01.073858916 +0200
@@ -0,0 +1,28 @@
+Lua is free software distributed under the terms of the MIT license
+reproduced below; it may be used for any purpose, including commercial
+purposes, at absolutely no cost without having to ask us. The only
+requirement is that if you do use Lua, then you should give us credit
+by including the appropriate copyright notice somewhere in your
+product or its documentation.
+
+Copyright © 19942015 Lua.org, PUC-Rio.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,52 @@
diff -uNr lua-5.4.0/Makefile lua-5.4.0.mod/Makefile
--- lua-5.4.0/Makefile 2020-04-15 15:55:07.000000000 +0300
+++ lua-5.4.0.mod/Makefile 2020-10-01 15:36:29.191333594 +0300
@@ -4,17 +4,17 @@
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
# Your platform. See PLATS for possible values.
-PLAT= guess
+PLAT= linux
# Where to install. The installation starts in the src and doc directories,
# so take care if INSTALL_TOP is not an absolute path. See the local target.
# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
-INSTALL_TOP= /usr/local
+INSTALL_TOP= $(PREFIX)
INSTALL_BIN= $(INSTALL_TOP)/bin
INSTALL_INC= $(INSTALL_TOP)/include
INSTALL_LIB= $(INSTALL_TOP)/lib
-INSTALL_MAN= $(INSTALL_TOP)/man/man1
+INSTALL_MAN= $(INSTALL_TOP)/share/man/man1
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
@@ -38,21 +38,21 @@
# Convenience platforms targets.
PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+# Lua version and release.
+V= 5.4
+R= $V.0
+
# What to install.
TO_BIN= lua luac
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
-TO_LIB= liblua.a
+TO_LIB= liblua.a liblua.so.$(R)
TO_MAN= lua.1 luac.1
-# Lua version and release.
-V= 5.4
-R= $V.0
-
# Targets start here.
all: $(PLAT)
$(PLATS) help test clean:
- @cd src && $(MAKE) $@
+ @cd src && $(MAKE) $@ V=$(V) R=$(R)
install: dummy
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)

View File

@ -0,0 +1,38 @@
TERMUX_PKG_HOMEPAGE=https://www.lua.org/
TERMUX_PKG_DESCRIPTION="Shared library for the Lua interpreter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_VERSION=5.4.0
TERMUX_PKG_SRCURL=https://www.lua.org/ftp/lua-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=eac0836eb7219e421a96b7ee3692b93f0629e4cdb0c788432e3d10ce9ed47e28
TERMUX_PKG_EXTRA_MAKE_ARGS=linux
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_BREAKS="liblua-dev"
TERMUX_PKG_REPLACES="liblua-dev"
TERMUX_PKG_BUILD_DEPENDS="readline"
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_pre_configure() {
AR+=" rcu"
CFLAGS+=" -fPIC -DLUA_COMPAT_5_2 -DLUA_COMPAT_UNPACK"
export MYLDFLAGS=$LDFLAGS
}
termux_step_make_install() {
make \
TO_BIN="lua5.4 luac5.4" \
TO_LIB="liblua5.4.so liblua5.4.so.5.4 liblua5.4.so.${TERMUX_PKG_VERSION}" \
INSTALL_DATA="cp -d" \
INSTALL_TOP="$TERMUX_PREFIX" \
INSTALL_INC="$TERMUX_PREFIX/include/lua5.4" \
INSTALL_MAN="$TERMUX_PREFIX/share/man/man1" \
install
install -Dm600 lua.pc "$TERMUX_PREFIX"/lib/pkgconfig/lua54.pc
mv -f "$TERMUX_PREFIX"/share/man/man1/lua.1 "$TERMUX_PREFIX"/share/man/man1/lua5.4.1
mv -f "$TERMUX_PREFIX"/share/man/man1/luac.1 "$TERMUX_PREFIX"/share/man/man1/luac5.4.1
}

View File

@ -0,0 +1,15 @@
--- ./src/loslib.c.orig 2019-06-07 23:19:03.666887235 +0000
+++ ./src/loslib.c 2019-06-07 23:19:47.295164822 +0000
@@ -112,10 +112,10 @@
#include <unistd.h>
-#define LUA_TMPNAMBUFSIZE 32
+#define LUA_TMPNAMBUFSIZE 128
#if !defined(LUA_TMPNAMTEMPLATE)
-#define LUA_TMPNAMTEMPLATE "/tmp/lua_XXXXXX"
+#define LUA_TMPNAMTEMPLATE "@TERMUX_PREFIX@/tmp/lua_XXXXXX"
#endif
#define lua_tmpnam(b,e,s) { \

View File

@ -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}

View File

@ -1,3 +1,4 @@
TERMUX_SUBPKG_INCLUDE="bin/ share/man/man1/"
TERMUX_SUBPKG_DESCRIPTION="Simple, extensible, embeddable programming language"
TERMUX_SUBPKG_DEPENDS="readline"

View File

@ -0,0 +1,74 @@
diff -uNr lua-5.4.0/src/Makefile lua-5.4.0.mod/src/Makefile
--- lua-5.4.0/src/Makefile 2020-04-15 16:00:29.000000000 +0300
+++ lua-5.4.0.mod/src/Makefile 2020-10-01 15:51:28.586656828 +0300
@@ -4,27 +4,18 @@
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
# Your platform. See PLATS for possible values.
-PLAT= guess
+PLAT= linux
-CC= gcc -std=gnu99
-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS)
-LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
+CC ?= gcc -std=gnu99
+CFLAGS += $(SYSCFLAGS)
+LDFLAGS += $(SYSLDFLAGS) $(MYLDFLAGS)
LIBS= -lm $(SYSLIBS) $(MYLIBS)
-AR= ar rcu
-RANLIB= ranlib
+AR ?= ar rcu
+RANLIB ?= ranlib
RM= rm -f
UNAME= uname
-SYSCFLAGS=
-SYSLDFLAGS=
-SYSLIBS=
-
-MYCFLAGS=
-MYLDFLAGS=
-MYLIBS=
-MYOBJS=
-
# Special flags for compiler modules; -Os reduces code size.
CMCFLAGS= -Os
@@ -32,19 +23,20 @@
PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
-LUA_A= liblua.a
+LUA_A= liblua5.4.a
+LUA_SO= liblua5.4.so
CORE_O= lapi.o lcode.o lctype.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 lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
-LUA_T= lua
+LUA_T= lua5.4
LUA_O= lua.o
-LUAC_T= luac
+LUAC_T= luac5.4
LUAC_O= luac.o
ALL_O= $(BASE_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)
# Targets start here.
@@ -60,6 +52,11 @@
$(AR) $@ $(BASE_O)
$(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 $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)

View File

@ -0,0 +1,22 @@
--- ./src/loslib.c 2017-11-18 15:51:35.425137997 +0000
+++ ../loslib.c 2017-11-18 16:20:36.202578294 +0000
@@ -118,8 +118,8 @@
#define LUA_TMPNAMTEMPLATE "@TERMUX_PREFIX@/tmp/lua_XXXXXX"
#endif
-#define lua_tmpnam(b,e) { \
- strcpy(b, LUA_TMPNAMTEMPLATE); \
+#define lua_tmpnam(b,e,s) { \
+ strncpy(b, LUA_TMPNAMTEMPLATE, s); \
e = mkstemp(b); \
if (e != -1) close(e); \
e = (e == -1); }
@@ -166,7 +166,7 @@
static int os_tmpname (lua_State *L) {
char buff[LUA_TMPNAMBUFSIZE];
int err;
- lua_tmpnam(buff, err);
+ lua_tmpnam(buff, err, LUA_TMPNAMBUFSIZE - 1);
if (err)
return luaL_error(L, "unable to generate a unique filename");
lua_pushstring(L, buff);

View File

@ -0,0 +1,12 @@
diff -r -u ../lua-5.3.3/src/luaconf.h ./src/luaconf.h
--- ../lua-5.3.3/src/luaconf.h 2016-05-01 22:06:09.000000000 +0200
+++ ./src/luaconf.h 2017-01-17 23:47:26.867840450 +0100
@@ -188,7 +188,7 @@
#else /* }{ */
-#define LUA_ROOT "/usr/local/"
+#define LUA_ROOT "@TERMUX_PREFIX@/"
#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
#define LUA_PATH_DEFAULT \