* [PATCH] lua: Update to 5.4.3
@ 2021-04-20 20:59 Adolf Belka
2021-04-22 16:34 ` Michael Tremer
0 siblings, 1 reply; 6+ messages in thread
From: Adolf Belka @ 2021-04-20 20:59 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 17025 bytes --]
- Update from 5.3.5 to 5.4.3
- Autotoolize patch not update since 5.3 series
Based on input from Michael Tremer implemented build approach
from BLFS. This approach also used by Arch Linux. Updated lfs in
line with approach. Added pkgconfig file lua.pc as used in BLFS.
- Update of shared_library patch obtained from BLFS
- Update of rootfile
- Removal of old lua-5.3.5 patches
- Changelog
Main changes
new generational mode for garbage collection
to-be-closed variables
const variables
userdata can have multiple user values
new implementation for math.random
warning system
debug information about function arguments and returns
new semantics for the integer 'for' loop
optional 'init' argument to 'string.gmatch'
new functions 'lua_resetthread' and 'coroutine.close'
string-to-number coercions moved to the string library
allocation function allowed to fail when shrinking a memory block
new format '%p' in 'string.format'
utf8 library accepts codepoints up to 2^31
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
config/lua/lua.pc | 20 ++
config/rootfiles/common/lua | 11 +-
lfs/lua | 23 ++-
src/patches/lua-5.4.3-shared_library-1.patch | 78 +++++++
src/patches/lua/lua-5.3.5-autotoolize.patch | 192 ------------------
.../lua/lua-5.3.5-shared_library-1.patch | 61 ------
6 files changed, 117 insertions(+), 268 deletions(-)
create mode 100644 config/lua/lua.pc
create mode 100644 src/patches/lua-5.4.3-shared_library-1.patch
delete mode 100644 src/patches/lua/lua-5.3.5-autotoolize.patch
delete mode 100644 src/patches/lua/lua-5.3.5-shared_library-1.patch
diff --git a/config/lua/lua.pc b/config/lua/lua.pc
new file mode 100644
index 000000000..f6d25ec33
--- /dev/null
+++ b/config/lua/lua.pc
@@ -0,0 +1,20 @@
+V=5.4
+R=5.4.3
+
+prefix=/usr
+INSTALL_BIN=${prefix}/bin
+INSTALL_INC=${prefix}/include
+INSTALL_LIB=${prefix}/lib
+INSTALL_MAN=${prefix}/share/man/man1
+INSTALL_LMOD=${prefix}/share/lua/${V}
+INSTALL_CMOD=${prefix}/lib/lua/${V}
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: Lua
+Description: An Extensible Extension Language
+Version: ${R}
+Requires:
+Libs: -L${libdir} -llua -lm -ldl
+Cflags: -I${includedir}
diff --git a/config/rootfiles/common/lua b/config/rootfiles/common/lua
index 15d5995b3..44e3aa47e 100644
--- a/config/rootfiles/common/lua
+++ b/config/rootfiles/common/lua
@@ -5,10 +5,13 @@ usr/bin/luac
#usr/include/lua.hpp
#usr/include/luaconf.h
#usr/include/lualib.h
-usr/lib/liblua-5.3.so
-#usr/lib/liblua.a
-#usr/lib/liblua.la
usr/lib/liblua.so
-#usr/lib/pkgconfig/lua.pc
+#usr/lib/liblua.so.5.4
+#usr/lib/liblua.so.5.4.3
+#usr/lib/lua
+#usr/lib/lua/5.4
+usr/lib/pkgconfig/lua.pc
+#usr/share/lua
+#usr/share/lua/5.4
#usr/share/man/man1/lua.1
#usr/share/man/man1/luac.1
diff --git a/lfs/lua b/lfs/lua
index e70b9cd00..3692c1d3e 100644
--- a/lfs/lua
+++ b/lfs/lua
@@ -24,7 +24,7 @@
include Config
-VER = 5.3.5
+VER = 5.4.3
THISAPP = lua-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 4f4b4f323fd3514a68e0ab3da8ce3455
+$(DL_FILE)_MD5 = ef63ed2ecfb713646a7fcc583cf5f352
install : $(TARGET)
@@ -70,14 +70,15 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && cp -v src/luaconf.h src/luaconf.h.template.in
-
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-autotoolize.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-shared_library-1.patch
-
- cd $(DIR_APP) && autoreconf -vfi
- cd $(DIR_APP) && ./configure --prefix=/usr
- cd $(DIR_APP) && make $(MAKETUNING)
- cd $(DIR_APP) && make install
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua-5.4.3-shared_library-1.patch
+ # install lua pkgconfig file
+ install -v -m 644 ${DIR_SRC}/config/lua/lua.pc \
+ /usr/lib/pkgconfig/lua.pc
+ cd $(DIR_APP) && make linux $(MAKETUNING)
+ cd $(DIR_APP) && make INSTALL_TOP=/usr \
+ INSTALL_DATA="cp -d" \
+ INSTALL_MAN=/usr/share/man/man1 \
+ TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.3" \
+ install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/src/patches/lua-5.4.3-shared_library-1.patch b/src/patches/lua-5.4.3-shared_library-1.patch
new file mode 100644
index 000000000..f1dfad9ca
--- /dev/null
+++ b/src/patches/lua-5.4.3-shared_library-1.patch
@@ -0,0 +1,78 @@
+Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
+Date: 2020-06-30
+Initial Package Version: 5.4.0
+Upstream Status: Rejected
+Origin: Arch Linux, with some modifications
+Description: Creates a shared liblua library, as well as
+ removes optimization since it causes SIGBUS errors,
+ and sets the search path to /usr from /usr/local.
+ The initial version of this patch was created by
+ Igor Zivkovic, before being rediffed for 5.4.0 by
+ myself with some modifications made.
+
+diff -Naurp lua-5.4.0.orig/Makefile lua-5.4.0/Makefile
+--- lua-5.4.0.orig/Makefile 2020-04-15 07:55:07.000000000 -0500
++++ lua-5.4.0/Makefile 2020-06-30 13:22:00.997938585 -0500
+@@ -52,7 +52,7 @@ R= $V.0
+ 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)
+diff -Naurp lua-5.4.0.orig/src/luaconf.h lua-5.4.0/src/luaconf.h
+--- lua-5.4.0.orig/src/luaconf.h 2020-06-18 09:25:54.000000000 -0500
++++ lua-5.4.0/src/luaconf.h 2020-06-30 13:24:59.294932289 -0500
+@@ -227,7 +227,7 @@
+
+ #else /* }{ */
+
+-#define LUA_ROOT "/usr/local/"
++#define LUA_ROOT "/usr/"
+ #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
+ #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
+
+diff -Naurp lua-5.4.0.orig/src/Makefile lua-5.4.0/src/Makefile
+--- lua-5.4.0.orig/src/Makefile 2020-04-15 08:00:29.000000000 -0500
++++ lua-5.4.0/src/Makefile 2020-06-30 13:24:15.746933827 -0500
+@@ -7,7 +7,7 @@
+ PLAT= guess
+
+ CC= gcc -std=gnu99
+-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS)
++CFLAGS= -fPIC -O0 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS)
+ LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
+ LIBS= -lm $(SYSLIBS) $(MYLIBS)
+
+@@ -33,6 +33,7 @@ CMCFLAGS= -Os
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+
+ LUA_A= liblua.a
++LUA_SO= liblua.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)
+@@ -44,7 +45,7 @@ LUAC_T= luac
+ 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 +61,12 @@ $(LUA_A): $(BASE_O)
+ $(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)
+
diff --git a/src/patches/lua/lua-5.3.5-autotoolize.patch b/src/patches/lua/lua-5.3.5-autotoolize.patch
deleted file mode 100644
index 76747923a..000000000
--- a/src/patches/lua/lua-5.3.5-autotoolize.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-diff -up lua-5.3.0/configure.ac.autoxxx lua-5.3.0/configure.ac
---- lua-5.3.0/configure.ac.autoxxx 2015-01-15 10:20:03.826889574 -0500
-+++ lua-5.3.0/configure.ac 2015-01-15 10:20:03.826889574 -0500
-@@ -0,0 +1,69 @@
-+AC_PREREQ(2.59)
-+AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
-+AC_SUBST([MAJOR_VERSION], [5.3])
-+
-+AC_CONFIG_HEADERS([config.h])
-+AC_CONFIG_SRCDIR([src/lapi.c])
-+
-+AM_INIT_AUTOMAKE([1.9 foreign])
-+
-+AC_PROG_CC
-+AC_PROG_LIBTOOL
-+
-+AC_ARG_WITH(
-+ [readline],
-+ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
-+ [use_readline=$withval],
-+ [use_readline=yes]
-+)
-+
-+LUA_LIBS="-lm"
-+
-+# Check for readline
-+READLINE_DEFS="#undef LUA_USE_READLINE"
-+if test "x$use_readline" == "xyes"; then
-+ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
-+ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
-+ if test "x$use_readline" == "xno"; then
-+ AC_MSG_WARN([readline headers could not be found, disabling readline support])
-+ else
-+ READLINE_DEFS="#define LUA_USE_READLINE"
-+ READLINE_LIBS="-lreadline -lncurses"
-+ fi
-+fi
-+AC_SUBST(READLINE_DEFS)
-+AC_SUBST(READLINE_LIBS)
-+
-+case "$host" in
-+ *-mingw*) use_os=win32 ;;
-+ *-darwin*) use_os=macosx ;;
-+ *) use_os=posix ;;
-+esac
-+
-+POSIX_DEFS="#undef LUA_USE_POSIX"
-+LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
-+LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
-+
-+if test "x$use_os" == "xwin32"; then
-+ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
-+elif test "x$use_os" == "xmacosx"; then
-+ POSIX_DEFS="#define LUA_USE_POSIX"
-+ LUA_DL_DEFS="#define LUA_DL_DYLD"
-+elif test "x$use_os" == "xposix"; then
-+ POSIX_DEFS="#define LUA_USE_POSIX"
-+ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
-+ LUA_LIBS="$LUA_LIBS -ldl"
-+fi
-+AC_SUBST(POSIX_DEFS)
-+AC_SUBST(LUA_DL_DEFS)
-+AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
-+
-+AC_SUBST(LUA_LIBS)
-+
-+AC_CONFIG_FILES([Makefile
-+ src/Makefile
-+ src/lua.pc
-+ src/luaconf.h.template
-+ doc/Makefile
-+])
-+AC_OUTPUT
-diff -up lua-5.3.0/doc/Makefile.am.autoxxx lua-5.3.0/doc/Makefile.am
---- lua-5.3.0/doc/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
-+++ lua-5.3.0/doc/Makefile.am 2015-01-15 10:20:03.826889574 -0500
-@@ -0,0 +1,4 @@
-+man1_MANS = lua.1 luac.1
-+
-+EXTRA_DIST = \
-+ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
-diff -up lua-5.3.0/Makefile.am.autoxxx lua-5.3.0/Makefile.am
---- lua-5.3.0/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
-+++ lua-5.3.0/Makefile.am 2015-01-15 10:20:03.826889574 -0500
-@@ -0,0 +1,3 @@
-+SUBDIRS = src doc
-+
-+EXTRA_DIST = README
-diff -up lua-5.3.0/src/.gitignore.autoxxx lua-5.3.0/src/.gitignore
---- lua-5.3.0/src/.gitignore.autoxxx 2015-01-15 10:20:03.826889574 -0500
-+++ lua-5.3.0/src/.gitignore 2015-01-15 10:20:03.826889574 -0500
-@@ -0,0 +1,5 @@
-+lua
-+lua.pc
-+luac
-+luaconf.h
-+luaconf.h.template
-diff -up lua-5.3.0/src/luaconf.h.template.in.autoxxx lua-5.3.0/src/luaconf.h.template.in
---- lua-5.3.0/src/luaconf.h.template.in.autoxxx 2015-01-15 10:20:03.828889562 -0500
-+++ lua-5.3.0/src/luaconf.h.template.in 2015-01-15 10:22:37.420027778 -0500
-@@ -11,6 +11,11 @@
- #include <limits.h>
- #include <stddef.h>
-
-+(a)POSIX_DEFS@
-+(a)LUA_DL_DEFS@
-+(a)LUA_BUILD_AS_DLL_DEFS@
-+(a)READLINE_DEFS@
-+
-
- /*
- ** ===================================================================
-@@ -200,9 +205,9 @@
-
- #else /* }{ */
-
--#define LUA_ROOT "/usr/local/"
--#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
--#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
-+#define LUA_ROOT "@prefix@/"
-+#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
-+#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
- #define LUA_PATH_DEFAULT \
- LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
- LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
-diff -up lua-5.3.0/src/lua.pc.in.autoxxx lua-5.3.0/src/lua.pc.in
---- lua-5.3.0/src/lua.pc.in.autoxxx 2015-01-15 10:20:03.827889568 -0500
-+++ lua-5.3.0/src/lua.pc.in 2015-01-15 10:20:03.827889568 -0500
-@@ -0,0 +1,13 @@
-+V= @MAJOR_VERSION@
-+R= @VERSION@
-+prefix= @prefix@
-+exec_prefix=${prefix}
-+libdir= @libdir@
-+includedir=${prefix}/include
-+
-+Name: Lua
-+Description: An Extensible Extension Language
-+Version: ${R}
-+Requires:
-+Libs: -llua @LUA_LIBS@
-+Cflags: -I${includedir}
-diff -up lua-5.3.0/src/Makefile.am.autoxxx lua-5.3.0/src/Makefile.am
---- lua-5.3.0/src/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
-+++ lua-5.3.0/src/Makefile.am 2015-01-15 10:20:03.826889574 -0500
-@@ -0,0 +1,46 @@
-+AM_CFLAGS = -Wall
-+
-+include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
-+
-+nodist_include_HEADERS = luaconf.h
-+
-+lib_LTLIBRARIES = liblua.la
-+liblua_la_LDFLAGS = -release @MAJOR_VERSION@
-+liblua_la_SOURCES = \
-+ lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \
-+ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
-+ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
-+ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
-+ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
-+ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
-+ lundump.h lvm.h lzio.h
-+
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = lua.pc
-+
-+bin_PROGRAMS = lua luac
-+
-+lua_SOURCES = lua.c
-+lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
-+lua_DEPENDENCIES = liblua.la
-+
-+luac_SOURCES = luac.c
-+# Statically link liblua against luac since luac uses symbols not exported in liblua
-+luac_LDADD = .libs/liblua.a @LUA_LIBS@
-+luac_DEPENDENCIES = liblua.la
-+
-+EXTRA_DIST = luaconf.h.template
-+BUILT_SOURCES = luaconf.h
-+CLEANFILES = luaconf.h luaconf.h.template
-+
-+readline_defs = @READLINE_DEFS@
-+
-+edit = sed \
-+ -e 's,%prefix%,$(prefix),g' \
-+ -e 's,%lua_datadir%,$(datadir),g' \
-+ -e 's,%lua_libdir%,$(libdir),g'
-+
-+luaconf.h : luaconf.h.template
-+ rm -f $@ $@.tmp
-+ $(edit) $< >$@.tmp
-+ mv $@.tmp $@
diff --git a/src/patches/lua/lua-5.3.5-shared_library-1.patch b/src/patches/lua/lua-5.3.5-shared_library-1.patch
deleted file mode 100644
index 857fddc6c..000000000
--- a/src/patches/lua/lua-5.3.5-shared_library-1.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Submitted By: Igor Živković <contact(a)igor-zivkovic.from.hr>
-Date: 2013-06-19
-Initial Package Version: 5.2.2
-Upstream Status: Rejected
-Origin: Arch Linux packages repository
-Description: Adds the compilation of a shared library.
-
-diff -Naur lua-5.3.0.orig/Makefile lua-5.3.0/Makefile
---- lua-5.3.0.orig/Makefile 2014-10-30 00:14:41.000000000 +0100
-+++ lua-5.3.0/Makefile 2015-01-19 22:14:09.822290828 +0100
-@@ -52,7 +52,7 @@
- all: $(PLAT)
-
- $(PLATS) clean:
-- cd src && $(MAKE) $@
-+ cd src && $(MAKE) $@ V=$(V) R=$(R)
-
- test: dummy
- src/lua -v
-diff -Naur lua-5.3.0.orig/src/Makefile lua-5.3.0/src/Makefile
---- lua-5.3.0.orig/src/Makefile 2015-01-05 17:04:52.000000000 +0100
-+++ lua-5.3.0/src/Makefile 2015-01-19 22:14:52.559378543 +0100
-@@ -7,7 +7,7 @@
- PLAT= none
-
- CC= gcc -std=gnu99
--CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
-+CFLAGS= -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
- LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
- LIBS= -lm $(SYSLIBS) $(MYLIBS)
-
-@@ -29,6 +29,7 @@
- PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
-
- LUA_A= liblua.a
-+LUA_SO= liblua.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 +44,7 @@
- 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.
-@@ -59,6 +60,12 @@
- $(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)
-
--
2.31.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] lua: Update to 5.4.3
2021-04-20 20:59 [PATCH] lua: Update to 5.4.3 Adolf Belka
@ 2021-04-22 16:34 ` Michael Tremer
2021-04-22 16:49 ` Adolf Belka
0 siblings, 1 reply; 6+ messages in thread
From: Michael Tremer @ 2021-04-22 16:34 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 18669 bytes --]
Hello,
Thank you for this patch.
> On 20 Apr 2021, at 21:59, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>
> - Update from 5.3.5 to 5.4.3
> - Autotoolize patch not update since 5.3 series
> Based on input from Michael Tremer implemented build approach
> from BLFS. This approach also used by Arch Linux. Updated lfs in
> line with approach. Added pkgconfig file lua.pc as used in BLFS.
> - Update of shared_library patch obtained from BLFS
> - Update of rootfile
> - Removal of old lua-5.3.5 patches
> - Changelog
> Main changes
> new generational mode for garbage collection
> to-be-closed variables
> const variables
> userdata can have multiple user values
> new implementation for math.random
> warning system
> debug information about function arguments and returns
> new semantics for the integer 'for' loop
> optional 'init' argument to 'string.gmatch'
> new functions 'lua_resetthread' and 'coroutine.close'
> string-to-number coercions moved to the string library
> allocation function allowed to fail when shrinking a memory block
> new format '%p' in 'string.format'
> utf8 library accepts codepoints up to 2^31
>
> Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
> ---
> config/lua/lua.pc | 20 ++
> config/rootfiles/common/lua | 11 +-
> lfs/lua | 23 ++-
> src/patches/lua-5.4.3-shared_library-1.patch | 78 +++++++
> src/patches/lua/lua-5.3.5-autotoolize.patch | 192 ------------------
> .../lua/lua-5.3.5-shared_library-1.patch | 61 ------
> 6 files changed, 117 insertions(+), 268 deletions(-)
> create mode 100644 config/lua/lua.pc
> create mode 100644 src/patches/lua-5.4.3-shared_library-1.patch
> delete mode 100644 src/patches/lua/lua-5.3.5-autotoolize.patch
> delete mode 100644 src/patches/lua/lua-5.3.5-shared_library-1.patch
>
> diff --git a/config/lua/lua.pc b/config/lua/lua.pc
> new file mode 100644
> index 000000000..f6d25ec33
> --- /dev/null
> +++ b/config/lua/lua.pc
> @@ -0,0 +1,20 @@
> +V=5.4
> +R=5.4.3
> +
> +prefix=/usr
> +INSTALL_BIN=${prefix}/bin
> +INSTALL_INC=${prefix}/include
> +INSTALL_LIB=${prefix}/lib
> +INSTALL_MAN=${prefix}/share/man/man1
> +INSTALL_LMOD=${prefix}/share/lua/${V}
> +INSTALL_CMOD=${prefix}/lib/lua/${V}
> +exec_prefix=${prefix}
> +libdir=${exec_prefix}/lib
> +includedir=${prefix}/include
> +
> +Name: Lua
> +Description: An Extensible Extension Language
> +Version: ${R}
> +Requires:
> +Libs: -L${libdir} -llua -lm -ldl
> +Cflags: -I${includedir}
> diff --git a/config/rootfiles/common/lua b/config/rootfiles/common/lua
> index 15d5995b3..44e3aa47e 100644
> --- a/config/rootfiles/common/lua
> +++ b/config/rootfiles/common/lua
> @@ -5,10 +5,13 @@ usr/bin/luac
> #usr/include/lua.hpp
> #usr/include/luaconf.h
> #usr/include/lualib.h
> -usr/lib/liblua-5.3.so
This is a soversion bump. These files are linked against it:
root(a)michael:/build/ipfire-2.x# ./make.sh find-dependencies liblua-5.3.so
/build/ipfire-2.x/build/usr/sbin/haproxy
/build/ipfire-2.x/build/usr/bin/nmap
/build/ipfire-2.x/build/usr/bin/lua
/build/ipfire-2.x/build/usr/bin/dnsdist
We will need to ship all of them again.
> -#usr/lib/liblua.a
> -#usr/lib/liblua.la
> usr/lib/liblua.so
> -#usr/lib/pkgconfig/lua.pc
> +#usr/lib/liblua.so.5.4
> +#usr/lib/liblua.so.5.4.3
You are not shipping the libraries at all. I am sure this isn’t what you intended :)
> +#usr/lib/lua
> +#usr/lib/lua/5.4
> +usr/lib/pkgconfig/lua.pc
The pkg-config file is for development only and we do not need to ship it.
> +#usr/share/lua
> +#usr/share/lua/5.4
> #usr/share/man/man1/lua.1
> #usr/share/man/man1/luac.1
> diff --git a/lfs/lua b/lfs/lua
> index e70b9cd00..3692c1d3e 100644
> --- a/lfs/lua
> +++ b/lfs/lua
> @@ -24,7 +24,7 @@
>
> include Config
>
> -VER = 5.3.5
> +VER = 5.4.3
>
> THISAPP = lua-$(VER)
> DL_FILE = $(THISAPP).tar.gz
> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>
> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>
> -$(DL_FILE)_MD5 = 4f4b4f323fd3514a68e0ab3da8ce3455
> +$(DL_FILE)_MD5 = ef63ed2ecfb713646a7fcc583cf5f352
>
> install : $(TARGET)
>
> @@ -70,14 +70,15 @@ $(subst %,%_MD5,$(objects)) :
> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> @$(PREBUILD)
> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> - cd $(DIR_APP) && cp -v src/luaconf.h src/luaconf.h.template.in
> -
> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-autotoolize.patch
> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-shared_library-1.patch
> -
> - cd $(DIR_APP) && autoreconf -vfi
> - cd $(DIR_APP) && ./configure --prefix=/usr
> - cd $(DIR_APP) && make $(MAKETUNING)
> - cd $(DIR_APP) && make install
> + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua-5.4.3-shared_library-1.patch
> + # install lua pkgconfig file
> + install -v -m 644 ${DIR_SRC}/config/lua/lua.pc \
> + /usr/lib/pkgconfig/lua.pc
I would recommend installing everything after compiling the package.
> + cd $(DIR_APP) && make linux $(MAKETUNING)
> + cd $(DIR_APP) && make INSTALL_TOP=/usr \
> + INSTALL_DATA="cp -d" \
> + INSTALL_MAN=/usr/share/man/man1 \
> + TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.3" \
> + install
> @rm -rf $(DIR_APP)
> @$(POSTBUILD)
> diff --git a/src/patches/lua-5.4.3-shared_library-1.patch b/src/patches/lua-5.4.3-shared_library-1.patch
> new file mode 100644
> index 000000000..f1dfad9ca
> --- /dev/null
> +++ b/src/patches/lua-5.4.3-shared_library-1.patch
> @@ -0,0 +1,78 @@
> +Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
> +Date: 2020-06-30
> +Initial Package Version: 5.4.0
> +Upstream Status: Rejected
> +Origin: Arch Linux, with some modifications
> +Description: Creates a shared liblua library, as well as
> + removes optimization since it causes SIGBUS errors,
> + and sets the search path to /usr from /usr/local.
> + The initial version of this patch was created by
> + Igor Zivkovic, before being rediffed for 5.4.0 by
> + myself with some modifications made.
> +
> +diff -Naurp lua-5.4.0.orig/Makefile lua-5.4.0/Makefile
> +--- lua-5.4.0.orig/Makefile 2020-04-15 07:55:07.000000000 -0500
> ++++ lua-5.4.0/Makefile 2020-06-30 13:22:00.997938585 -0500
> +@@ -52,7 +52,7 @@ R= $V.0
> + 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)
> +diff -Naurp lua-5.4.0.orig/src/luaconf.h lua-5.4.0/src/luaconf.h
> +--- lua-5.4.0.orig/src/luaconf.h 2020-06-18 09:25:54.000000000 -0500
> ++++ lua-5.4.0/src/luaconf.h 2020-06-30 13:24:59.294932289 -0500
> +@@ -227,7 +227,7 @@
> +
> + #else /* }{ */
> +
> +-#define LUA_ROOT "/usr/local/"
> ++#define LUA_ROOT "/usr/"
> + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
> + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
> +
> +diff -Naurp lua-5.4.0.orig/src/Makefile lua-5.4.0/src/Makefile
> +--- lua-5.4.0.orig/src/Makefile 2020-04-15 08:00:29.000000000 -0500
> ++++ lua-5.4.0/src/Makefile 2020-06-30 13:24:15.746933827 -0500
> +@@ -7,7 +7,7 @@
> + PLAT= guess
> +
> + CC= gcc -std=gnu99
> +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS)
> ++CFLAGS= -fPIC -O0 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS)
> + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
> + LIBS= -lm $(SYSLIBS) $(MYLIBS)
> +
> +@@ -33,6 +33,7 @@ CMCFLAGS= -Os
> + PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
> +
> + LUA_A= liblua.a
> ++LUA_SO= liblua.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)
> +@@ -44,7 +45,7 @@ LUAC_T= luac
> + 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 +61,12 @@ $(LUA_A): $(BASE_O)
> + $(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)
> +
> diff --git a/src/patches/lua/lua-5.3.5-autotoolize.patch b/src/patches/lua/lua-5.3.5-autotoolize.patch
> deleted file mode 100644
> index 76747923a..000000000
> --- a/src/patches/lua/lua-5.3.5-autotoolize.patch
> +++ /dev/null
> @@ -1,192 +0,0 @@
> -diff -up lua-5.3.0/configure.ac.autoxxx lua-5.3.0/configure.ac
> ---- lua-5.3.0/configure.ac.autoxxx 2015-01-15 10:20:03.826889574 -0500
> -+++ lua-5.3.0/configure.ac 2015-01-15 10:20:03.826889574 -0500
> -@@ -0,0 +1,69 @@
> -+AC_PREREQ(2.59)
> -+AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
> -+AC_SUBST([MAJOR_VERSION], [5.3])
> -+
> -+AC_CONFIG_HEADERS([config.h])
> -+AC_CONFIG_SRCDIR([src/lapi.c])
> -+
> -+AM_INIT_AUTOMAKE([1.9 foreign])
> -+
> -+AC_PROG_CC
> -+AC_PROG_LIBTOOL
> -+
> -+AC_ARG_WITH(
> -+ [readline],
> -+ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
> -+ [use_readline=$withval],
> -+ [use_readline=yes]
> -+)
> -+
> -+LUA_LIBS="-lm"
> -+
> -+# Check for readline
> -+READLINE_DEFS="#undef LUA_USE_READLINE"
> -+if test "x$use_readline" == "xyes"; then
> -+ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
> -+ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
> -+ if test "x$use_readline" == "xno"; then
> -+ AC_MSG_WARN([readline headers could not be found, disabling readline support])
> -+ else
> -+ READLINE_DEFS="#define LUA_USE_READLINE"
> -+ READLINE_LIBS="-lreadline -lncurses"
> -+ fi
> -+fi
> -+AC_SUBST(READLINE_DEFS)
> -+AC_SUBST(READLINE_LIBS)
> -+
> -+case "$host" in
> -+ *-mingw*) use_os=win32 ;;
> -+ *-darwin*) use_os=macosx ;;
> -+ *) use_os=posix ;;
> -+esac
> -+
> -+POSIX_DEFS="#undef LUA_USE_POSIX"
> -+LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
> -+LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
> -+
> -+if test "x$use_os" == "xwin32"; then
> -+ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
> -+elif test "x$use_os" == "xmacosx"; then
> -+ POSIX_DEFS="#define LUA_USE_POSIX"
> -+ LUA_DL_DEFS="#define LUA_DL_DYLD"
> -+elif test "x$use_os" == "xposix"; then
> -+ POSIX_DEFS="#define LUA_USE_POSIX"
> -+ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
> -+ LUA_LIBS="$LUA_LIBS -ldl"
> -+fi
> -+AC_SUBST(POSIX_DEFS)
> -+AC_SUBST(LUA_DL_DEFS)
> -+AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
> -+
> -+AC_SUBST(LUA_LIBS)
> -+
> -+AC_CONFIG_FILES([Makefile
> -+ src/Makefile
> -+ src/lua.pc
> -+ src/luaconf.h.template
> -+ doc/Makefile
> -+])
> -+AC_OUTPUT
> -diff -up lua-5.3.0/doc/Makefile.am.autoxxx lua-5.3.0/doc/Makefile.am
> ---- lua-5.3.0/doc/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
> -+++ lua-5.3.0/doc/Makefile.am 2015-01-15 10:20:03.826889574 -0500
> -@@ -0,0 +1,4 @@
> -+man1_MANS = lua.1 luac.1
> -+
> -+EXTRA_DIST = \
> -+ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
> -diff -up lua-5.3.0/Makefile.am.autoxxx lua-5.3.0/Makefile.am
> ---- lua-5.3.0/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
> -+++ lua-5.3.0/Makefile.am 2015-01-15 10:20:03.826889574 -0500
> -@@ -0,0 +1,3 @@
> -+SUBDIRS = src doc
> -+
> -+EXTRA_DIST = README
> -diff -up lua-5.3.0/src/.gitignore.autoxxx lua-5.3.0/src/.gitignore
> ---- lua-5.3.0/src/.gitignore.autoxxx 2015-01-15 10:20:03.826889574 -0500
> -+++ lua-5.3.0/src/.gitignore 2015-01-15 10:20:03.826889574 -0500
> -@@ -0,0 +1,5 @@
> -+lua
> -+lua.pc
> -+luac
> -+luaconf.h
> -+luaconf.h.template
> -diff -up lua-5.3.0/src/luaconf.h.template.in.autoxxx lua-5.3.0/src/luaconf.h.template.in
> ---- lua-5.3.0/src/luaconf.h.template.in.autoxxx 2015-01-15 10:20:03.828889562 -0500
> -+++ lua-5.3.0/src/luaconf.h.template.in 2015-01-15 10:22:37.420027778 -0500
> -@@ -11,6 +11,11 @@
> - #include <limits.h>
> - #include <stddef.h>
> -
> -+(a)POSIX_DEFS@
> -+(a)LUA_DL_DEFS@
> -+(a)LUA_BUILD_AS_DLL_DEFS@
> -+(a)READLINE_DEFS@
> -+
> -
> - /*
> - ** ===================================================================
> -@@ -200,9 +205,9 @@
> -
> - #else /* }{ */
> -
> --#define LUA_ROOT "/usr/local/"
> --#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
> --#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
> -+#define LUA_ROOT "@prefix@/"
> -+#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
> -+#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
> - #define LUA_PATH_DEFAULT \
> - LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
> - LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
> -diff -up lua-5.3.0/src/lua.pc.in.autoxxx lua-5.3.0/src/lua.pc.in
> ---- lua-5.3.0/src/lua.pc.in.autoxxx 2015-01-15 10:20:03.827889568 -0500
> -+++ lua-5.3.0/src/lua.pc.in 2015-01-15 10:20:03.827889568 -0500
> -@@ -0,0 +1,13 @@
> -+V= @MAJOR_VERSION@
> -+R= @VERSION@
> -+prefix= @prefix@
> -+exec_prefix=${prefix}
> -+libdir= @libdir@
> -+includedir=${prefix}/include
> -+
> -+Name: Lua
> -+Description: An Extensible Extension Language
> -+Version: ${R}
> -+Requires:
> -+Libs: -llua @LUA_LIBS@
> -+Cflags: -I${includedir}
> -diff -up lua-5.3.0/src/Makefile.am.autoxxx lua-5.3.0/src/Makefile.am
> ---- lua-5.3.0/src/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
> -+++ lua-5.3.0/src/Makefile.am 2015-01-15 10:20:03.826889574 -0500
> -@@ -0,0 +1,46 @@
> -+AM_CFLAGS = -Wall
> -+
> -+include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
> -+
> -+nodist_include_HEADERS = luaconf.h
> -+
> -+lib_LTLIBRARIES = liblua.la
> -+liblua_la_LDFLAGS = -release @MAJOR_VERSION@
> -+liblua_la_SOURCES = \
> -+ lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \
> -+ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
> -+ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
> -+ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
> -+ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
> -+ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
> -+ lundump.h lvm.h lzio.h
> -+
> -+pkgconfigdir = $(libdir)/pkgconfig
> -+pkgconfig_DATA = lua.pc
> -+
> -+bin_PROGRAMS = lua luac
> -+
> -+lua_SOURCES = lua.c
> -+lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
> -+lua_DEPENDENCIES = liblua.la
> -+
> -+luac_SOURCES = luac.c
> -+# Statically link liblua against luac since luac uses symbols not exported in liblua
> -+luac_LDADD = .libs/liblua.a @LUA_LIBS@
> -+luac_DEPENDENCIES = liblua.la
> -+
> -+EXTRA_DIST = luaconf.h.template
> -+BUILT_SOURCES = luaconf.h
> -+CLEANFILES = luaconf.h luaconf.h.template
> -+
> -+readline_defs = @READLINE_DEFS@
> -+
> -+edit = sed \
> -+ -e 's,%prefix%,$(prefix),g' \
> -+ -e 's,%lua_datadir%,$(datadir),g' \
> -+ -e 's,%lua_libdir%,$(libdir),g'
> -+
> -+luaconf.h : luaconf.h.template
> -+ rm -f $@ $@.tmp
> -+ $(edit) $< >$@.tmp
> -+ mv $@.tmp $@
> diff --git a/src/patches/lua/lua-5.3.5-shared_library-1.patch b/src/patches/lua/lua-5.3.5-shared_library-1.patch
> deleted file mode 100644
> index 857fddc6c..000000000
> --- a/src/patches/lua/lua-5.3.5-shared_library-1.patch
> +++ /dev/null
> @@ -1,61 +0,0 @@
> -Submitted By: Igor Živković <contact(a)igor-zivkovic.from.hr>
> -Date: 2013-06-19
> -Initial Package Version: 5.2.2
> -Upstream Status: Rejected
> -Origin: Arch Linux packages repository
> -Description: Adds the compilation of a shared library.
> -
> -diff -Naur lua-5.3.0.orig/Makefile lua-5.3.0/Makefile
> ---- lua-5.3.0.orig/Makefile 2014-10-30 00:14:41.000000000 +0100
> -+++ lua-5.3.0/Makefile 2015-01-19 22:14:09.822290828 +0100
> -@@ -52,7 +52,7 @@
> - all: $(PLAT)
> -
> - $(PLATS) clean:
> -- cd src && $(MAKE) $@
> -+ cd src && $(MAKE) $@ V=$(V) R=$(R)
> -
> - test: dummy
> - src/lua -v
> -diff -Naur lua-5.3.0.orig/src/Makefile lua-5.3.0/src/Makefile
> ---- lua-5.3.0.orig/src/Makefile 2015-01-05 17:04:52.000000000 +0100
> -+++ lua-5.3.0/src/Makefile 2015-01-19 22:14:52.559378543 +0100
> -@@ -7,7 +7,7 @@
> - PLAT= none
> -
> - CC= gcc -std=gnu99
> --CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
> -+CFLAGS= -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
> - LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
> - LIBS= -lm $(SYSLIBS) $(MYLIBS)
> -
> -@@ -29,6 +29,7 @@
> - PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
> -
> - LUA_A= liblua.a
> -+LUA_SO= liblua.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 +44,7 @@
> - 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.
> -@@ -59,6 +60,12 @@
> - $(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)
> -
> --
> 2.31.1
>
-Michael
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] lua: Update to 5.4.3
2021-04-22 16:34 ` Michael Tremer
@ 2021-04-22 16:49 ` Adolf Belka
2021-04-22 16:51 ` Michael Tremer
0 siblings, 1 reply; 6+ messages in thread
From: Adolf Belka @ 2021-04-22 16:49 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 19639 bytes --]
Hi Michael,
On 22/04/2021 18:34, Michael Tremer wrote:
> Hello,
>
> Thank you for this patch.
>
>> On 20 Apr 2021, at 21:59, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>>
>> - Update from 5.3.5 to 5.4.3
>> - Autotoolize patch not update since 5.3 series
>> Based on input from Michael Tremer implemented build approach
>> from BLFS. This approach also used by Arch Linux. Updated lfs in
>> line with approach. Added pkgconfig file lua.pc as used in BLFS.
>> - Update of shared_library patch obtained from BLFS
>> - Update of rootfile
>> - Removal of old lua-5.3.5 patches
>> - Changelog
>> Main changes
>> new generational mode for garbage collection
>> to-be-closed variables
>> const variables
>> userdata can have multiple user values
>> new implementation for math.random
>> warning system
>> debug information about function arguments and returns
>> new semantics for the integer 'for' loop
>> optional 'init' argument to 'string.gmatch'
>> new functions 'lua_resetthread' and 'coroutine.close'
>> string-to-number coercions moved to the string library
>> allocation function allowed to fail when shrinking a memory block
>> new format '%p' in 'string.format'
>> utf8 library accepts codepoints up to 2^31
>>
>> Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
>> ---
>> config/lua/lua.pc | 20 ++
>> config/rootfiles/common/lua | 11 +-
>> lfs/lua | 23 ++-
>> src/patches/lua-5.4.3-shared_library-1.patch | 78 +++++++
>> src/patches/lua/lua-5.3.5-autotoolize.patch | 192 ------------------
>> .../lua/lua-5.3.5-shared_library-1.patch | 61 ------
>> 6 files changed, 117 insertions(+), 268 deletions(-)
>> create mode 100644 config/lua/lua.pc
>> create mode 100644 src/patches/lua-5.4.3-shared_library-1.patch
>> delete mode 100644 src/patches/lua/lua-5.3.5-autotoolize.patch
>> delete mode 100644 src/patches/lua/lua-5.3.5-shared_library-1.patch
>>
>> diff --git a/config/lua/lua.pc b/config/lua/lua.pc
>> new file mode 100644
>> index 000000000..f6d25ec33
>> --- /dev/null
>> +++ b/config/lua/lua.pc
>> @@ -0,0 +1,20 @@
>> +V=5.4
>> +R=5.4.3
>> +
>> +prefix=/usr
>> +INSTALL_BIN=${prefix}/bin
>> +INSTALL_INC=${prefix}/include
>> +INSTALL_LIB=${prefix}/lib
>> +INSTALL_MAN=${prefix}/share/man/man1
>> +INSTALL_LMOD=${prefix}/share/lua/${V}
>> +INSTALL_CMOD=${prefix}/lib/lua/${V}
>> +exec_prefix=${prefix}
>> +libdir=${exec_prefix}/lib
>> +includedir=${prefix}/include
>> +
>> +Name: Lua
>> +Description: An Extensible Extension Language
>> +Version: ${R}
>> +Requires:
>> +Libs: -L${libdir} -llua -lm -ldl
>> +Cflags: -I${includedir}
>> diff --git a/config/rootfiles/common/lua b/config/rootfiles/common/lua
>> index 15d5995b3..44e3aa47e 100644
>> --- a/config/rootfiles/common/lua
>> +++ b/config/rootfiles/common/lua
>> @@ -5,10 +5,13 @@ usr/bin/luac
>> #usr/include/lua.hpp
>> #usr/include/luaconf.h
>> #usr/include/lualib.h
>> -usr/lib/liblua-5.3.so
>
> This is a soversion bump. These files are linked against it:
Sorry, I forgot again. I will try better to test for this in future.
>
> root(a)michael:/build/ipfire-2.x# ./make.sh find-dependencies liblua-5.3.so
> /build/ipfire-2.x/build/usr/sbin/haproxy
> /build/ipfire-2.x/build/usr/bin/nmap
> /build/ipfire-2.x/build/usr/bin/lua
> /build/ipfire-2.x/build/usr/bin/dnsdist
>
> We will need to ship all of them again.
What does this mean that I have to do. I am not sure here.
>
>> -#usr/lib/liblua.a
>> -#usr/lib/liblua.la
>> usr/lib/liblua.so
>> -#usr/lib/pkgconfig/lua.pc
>> +#usr/lib/liblua.so.5.4
>> +#usr/lib/liblua.so.5.4.3
>
> You are not shipping the libraries at all. I am sure this isn’t what you intended :)
Whoops. Big confusion here on my part.
>
>> +#usr/lib/lua
>> +#usr/lib/lua/5.4
>> +usr/lib/pkgconfig/lua.pc
>
> The pkg-config file is for development only and we do not need to ship it.
Ah okay. Is that a standard thing anywhere in IPFire?
>
>> +#usr/share/lua
>> +#usr/share/lua/5.4
>> #usr/share/man/man1/lua.1
>> #usr/share/man/man1/luac.1
>> diff --git a/lfs/lua b/lfs/lua
>> index e70b9cd00..3692c1d3e 100644
>> --- a/lfs/lua
>> +++ b/lfs/lua
>> @@ -24,7 +24,7 @@
>>
>> include Config
>>
>> -VER = 5.3.5
>> +VER = 5.4.3
>>
>> THISAPP = lua-$(VER)
>> DL_FILE = $(THISAPP).tar.gz
>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>
>> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>
>> -$(DL_FILE)_MD5 = 4f4b4f323fd3514a68e0ab3da8ce3455
>> +$(DL_FILE)_MD5 = ef63ed2ecfb713646a7fcc583cf5f352
>>
>> install : $(TARGET)
>>
>> @@ -70,14 +70,15 @@ $(subst %,%_MD5,$(objects)) :
>> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>> @$(PREBUILD)
>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>> - cd $(DIR_APP) && cp -v src/luaconf.h src/luaconf.h.template.in
>> -
>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-autotoolize.patch
>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-shared_library-1.patch
>> -
>> - cd $(DIR_APP) && autoreconf -vfi
>> - cd $(DIR_APP) && ./configure --prefix=/usr
>> - cd $(DIR_APP) && make $(MAKETUNING)
>> - cd $(DIR_APP) && make install
>> + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua-5.4.3-shared_library-1.patch
>> + # install lua pkgconfig file
>> + install -v -m 644 ${DIR_SRC}/config/lua/lua.pc \
>> + /usr/lib/pkgconfig/lua.pc
>
> I would recommend installing everything after compiling the package.
Okay, will do. I just followed the BLFS settings and Arch Linux was similar.
Thanks for feedback. Will do all changes and re-issue as a v2 version.
Adolf.
>
>> + cd $(DIR_APP) && make linux $(MAKETUNING)
>> + cd $(DIR_APP) && make INSTALL_TOP=/usr \
>> + INSTALL_DATA="cp -d" \
>> + INSTALL_MAN=/usr/share/man/man1 \
>> + TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.3" \
>> + install
>> @rm -rf $(DIR_APP)
>> @$(POSTBUILD)
>> diff --git a/src/patches/lua-5.4.3-shared_library-1.patch b/src/patches/lua-5.4.3-shared_library-1.patch
>> new file mode 100644
>> index 000000000..f1dfad9ca
>> --- /dev/null
>> +++ b/src/patches/lua-5.4.3-shared_library-1.patch
>> @@ -0,0 +1,78 @@
>> +Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
>> +Date: 2020-06-30
>> +Initial Package Version: 5.4.0
>> +Upstream Status: Rejected
>> +Origin: Arch Linux, with some modifications
>> +Description: Creates a shared liblua library, as well as
>> + removes optimization since it causes SIGBUS errors,
>> + and sets the search path to /usr from /usr/local.
>> + The initial version of this patch was created by
>> + Igor Zivkovic, before being rediffed for 5.4.0 by
>> + myself with some modifications made.
>> +
>> +diff -Naurp lua-5.4.0.orig/Makefile lua-5.4.0/Makefile
>> +--- lua-5.4.0.orig/Makefile 2020-04-15 07:55:07.000000000 -0500
>> ++++ lua-5.4.0/Makefile 2020-06-30 13:22:00.997938585 -0500
>> +@@ -52,7 +52,7 @@ R= $V.0
>> + 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)
>> +diff -Naurp lua-5.4.0.orig/src/luaconf.h lua-5.4.0/src/luaconf.h
>> +--- lua-5.4.0.orig/src/luaconf.h 2020-06-18 09:25:54.000000000 -0500
>> ++++ lua-5.4.0/src/luaconf.h 2020-06-30 13:24:59.294932289 -0500
>> +@@ -227,7 +227,7 @@
>> +
>> + #else /* }{ */
>> +
>> +-#define LUA_ROOT "/usr/local/"
>> ++#define LUA_ROOT "/usr/"
>> + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>> + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>> +
>> +diff -Naurp lua-5.4.0.orig/src/Makefile lua-5.4.0/src/Makefile
>> +--- lua-5.4.0.orig/src/Makefile 2020-04-15 08:00:29.000000000 -0500
>> ++++ lua-5.4.0/src/Makefile 2020-06-30 13:24:15.746933827 -0500
>> +@@ -7,7 +7,7 @@
>> + PLAT= guess
>> +
>> + CC= gcc -std=gnu99
>> +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS)
>> ++CFLAGS= -fPIC -O0 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS)
>> + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>> + LIBS= -lm $(SYSLIBS) $(MYLIBS)
>> +
>> +@@ -33,6 +33,7 @@ CMCFLAGS= -Os
>> + PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
>> +
>> + LUA_A= liblua.a
>> ++LUA_SO= liblua.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)
>> +@@ -44,7 +45,7 @@ LUAC_T= luac
>> + 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 +61,12 @@ $(LUA_A): $(BASE_O)
>> + $(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)
>> +
>> diff --git a/src/patches/lua/lua-5.3.5-autotoolize.patch b/src/patches/lua/lua-5.3.5-autotoolize.patch
>> deleted file mode 100644
>> index 76747923a..000000000
>> --- a/src/patches/lua/lua-5.3.5-autotoolize.patch
>> +++ /dev/null
>> @@ -1,192 +0,0 @@
>> -diff -up lua-5.3.0/configure.ac.autoxxx lua-5.3.0/configure.ac
>> ---- lua-5.3.0/configure.ac.autoxxx 2015-01-15 10:20:03.826889574 -0500
>> -+++ lua-5.3.0/configure.ac 2015-01-15 10:20:03.826889574 -0500
>> -@@ -0,0 +1,69 @@
>> -+AC_PREREQ(2.59)
>> -+AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
>> -+AC_SUBST([MAJOR_VERSION], [5.3])
>> -+
>> -+AC_CONFIG_HEADERS([config.h])
>> -+AC_CONFIG_SRCDIR([src/lapi.c])
>> -+
>> -+AM_INIT_AUTOMAKE([1.9 foreign])
>> -+
>> -+AC_PROG_CC
>> -+AC_PROG_LIBTOOL
>> -+
>> -+AC_ARG_WITH(
>> -+ [readline],
>> -+ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
>> -+ [use_readline=$withval],
>> -+ [use_readline=yes]
>> -+)
>> -+
>> -+LUA_LIBS="-lm"
>> -+
>> -+# Check for readline
>> -+READLINE_DEFS="#undef LUA_USE_READLINE"
>> -+if test "x$use_readline" == "xyes"; then
>> -+ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
>> -+ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
>> -+ if test "x$use_readline" == "xno"; then
>> -+ AC_MSG_WARN([readline headers could not be found, disabling readline support])
>> -+ else
>> -+ READLINE_DEFS="#define LUA_USE_READLINE"
>> -+ READLINE_LIBS="-lreadline -lncurses"
>> -+ fi
>> -+fi
>> -+AC_SUBST(READLINE_DEFS)
>> -+AC_SUBST(READLINE_LIBS)
>> -+
>> -+case "$host" in
>> -+ *-mingw*) use_os=win32 ;;
>> -+ *-darwin*) use_os=macosx ;;
>> -+ *) use_os=posix ;;
>> -+esac
>> -+
>> -+POSIX_DEFS="#undef LUA_USE_POSIX"
>> -+LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
>> -+LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
>> -+
>> -+if test "x$use_os" == "xwin32"; then
>> -+ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
>> -+elif test "x$use_os" == "xmacosx"; then
>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>> -+ LUA_DL_DEFS="#define LUA_DL_DYLD"
>> -+elif test "x$use_os" == "xposix"; then
>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>> -+ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
>> -+ LUA_LIBS="$LUA_LIBS -ldl"
>> -+fi
>> -+AC_SUBST(POSIX_DEFS)
>> -+AC_SUBST(LUA_DL_DEFS)
>> -+AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
>> -+
>> -+AC_SUBST(LUA_LIBS)
>> -+
>> -+AC_CONFIG_FILES([Makefile
>> -+ src/Makefile
>> -+ src/lua.pc
>> -+ src/luaconf.h.template
>> -+ doc/Makefile
>> -+])
>> -+AC_OUTPUT
>> -diff -up lua-5.3.0/doc/Makefile.am.autoxxx lua-5.3.0/doc/Makefile.am
>> ---- lua-5.3.0/doc/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>> -+++ lua-5.3.0/doc/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>> -@@ -0,0 +1,4 @@
>> -+man1_MANS = lua.1 luac.1
>> -+
>> -+EXTRA_DIST = \
>> -+ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
>> -diff -up lua-5.3.0/Makefile.am.autoxxx lua-5.3.0/Makefile.am
>> ---- lua-5.3.0/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>> -+++ lua-5.3.0/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>> -@@ -0,0 +1,3 @@
>> -+SUBDIRS = src doc
>> -+
>> -+EXTRA_DIST = README
>> -diff -up lua-5.3.0/src/.gitignore.autoxxx lua-5.3.0/src/.gitignore
>> ---- lua-5.3.0/src/.gitignore.autoxxx 2015-01-15 10:20:03.826889574 -0500
>> -+++ lua-5.3.0/src/.gitignore 2015-01-15 10:20:03.826889574 -0500
>> -@@ -0,0 +1,5 @@
>> -+lua
>> -+lua.pc
>> -+luac
>> -+luaconf.h
>> -+luaconf.h.template
>> -diff -up lua-5.3.0/src/luaconf.h.template.in.autoxxx lua-5.3.0/src/luaconf.h.template.in
>> ---- lua-5.3.0/src/luaconf.h.template.in.autoxxx 2015-01-15 10:20:03.828889562 -0500
>> -+++ lua-5.3.0/src/luaconf.h.template.in 2015-01-15 10:22:37.420027778 -0500
>> -@@ -11,6 +11,11 @@
>> - #include <limits.h>
>> - #include <stddef.h>
>> -
>> -+(a)POSIX_DEFS@
>> -+(a)LUA_DL_DEFS@
>> -+(a)LUA_BUILD_AS_DLL_DEFS@
>> -+(a)READLINE_DEFS@
>> -+
>> -
>> - /*
>> - ** ===================================================================
>> -@@ -200,9 +205,9 @@
>> -
>> - #else /* }{ */
>> -
>> --#define LUA_ROOT "/usr/local/"
>> --#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>> --#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>> -+#define LUA_ROOT "@prefix@/"
>> -+#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
>> -+#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
>> - #define LUA_PATH_DEFAULT \
>> - LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
>> - LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
>> -diff -up lua-5.3.0/src/lua.pc.in.autoxxx lua-5.3.0/src/lua.pc.in
>> ---- lua-5.3.0/src/lua.pc.in.autoxxx 2015-01-15 10:20:03.827889568 -0500
>> -+++ lua-5.3.0/src/lua.pc.in 2015-01-15 10:20:03.827889568 -0500
>> -@@ -0,0 +1,13 @@
>> -+V= @MAJOR_VERSION@
>> -+R= @VERSION@
>> -+prefix= @prefix@
>> -+exec_prefix=${prefix}
>> -+libdir= @libdir@
>> -+includedir=${prefix}/include
>> -+
>> -+Name: Lua
>> -+Description: An Extensible Extension Language
>> -+Version: ${R}
>> -+Requires:
>> -+Libs: -llua @LUA_LIBS@
>> -+Cflags: -I${includedir}
>> -diff -up lua-5.3.0/src/Makefile.am.autoxxx lua-5.3.0/src/Makefile.am
>> ---- lua-5.3.0/src/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>> -+++ lua-5.3.0/src/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>> -@@ -0,0 +1,46 @@
>> -+AM_CFLAGS = -Wall
>> -+
>> -+include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
>> -+
>> -+nodist_include_HEADERS = luaconf.h
>> -+
>> -+lib_LTLIBRARIES = liblua.la
>> -+liblua_la_LDFLAGS = -release @MAJOR_VERSION@
>> -+liblua_la_SOURCES = \
>> -+ lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \
>> -+ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
>> -+ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
>> -+ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
>> -+ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
>> -+ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
>> -+ lundump.h lvm.h lzio.h
>> -+
>> -+pkgconfigdir = $(libdir)/pkgconfig
>> -+pkgconfig_DATA = lua.pc
>> -+
>> -+bin_PROGRAMS = lua luac
>> -+
>> -+lua_SOURCES = lua.c
>> -+lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
>> -+lua_DEPENDENCIES = liblua.la
>> -+
>> -+luac_SOURCES = luac.c
>> -+# Statically link liblua against luac since luac uses symbols not exported in liblua
>> -+luac_LDADD = .libs/liblua.a @LUA_LIBS@
>> -+luac_DEPENDENCIES = liblua.la
>> -+
>> -+EXTRA_DIST = luaconf.h.template
>> -+BUILT_SOURCES = luaconf.h
>> -+CLEANFILES = luaconf.h luaconf.h.template
>> -+
>> -+readline_defs = @READLINE_DEFS@
>> -+
>> -+edit = sed \
>> -+ -e 's,%prefix%,$(prefix),g' \
>> -+ -e 's,%lua_datadir%,$(datadir),g' \
>> -+ -e 's,%lua_libdir%,$(libdir),g'
>> -+
>> -+luaconf.h : luaconf.h.template
>> -+ rm -f $@ $@.tmp
>> -+ $(edit) $< >$@.tmp
>> -+ mv $@.tmp $@
>> diff --git a/src/patches/lua/lua-5.3.5-shared_library-1.patch b/src/patches/lua/lua-5.3.5-shared_library-1.patch
>> deleted file mode 100644
>> index 857fddc6c..000000000
>> --- a/src/patches/lua/lua-5.3.5-shared_library-1.patch
>> +++ /dev/null
>> @@ -1,61 +0,0 @@
>> -Submitted By: Igor Živković <contact(a)igor-zivkovic.from.hr>
>> -Date: 2013-06-19
>> -Initial Package Version: 5.2.2
>> -Upstream Status: Rejected
>> -Origin: Arch Linux packages repository
>> -Description: Adds the compilation of a shared library.
>> -
>> -diff -Naur lua-5.3.0.orig/Makefile lua-5.3.0/Makefile
>> ---- lua-5.3.0.orig/Makefile 2014-10-30 00:14:41.000000000 +0100
>> -+++ lua-5.3.0/Makefile 2015-01-19 22:14:09.822290828 +0100
>> -@@ -52,7 +52,7 @@
>> - all: $(PLAT)
>> -
>> - $(PLATS) clean:
>> -- cd src && $(MAKE) $@
>> -+ cd src && $(MAKE) $@ V=$(V) R=$(R)
>> -
>> - test: dummy
>> - src/lua -v
>> -diff -Naur lua-5.3.0.orig/src/Makefile lua-5.3.0/src/Makefile
>> ---- lua-5.3.0.orig/src/Makefile 2015-01-05 17:04:52.000000000 +0100
>> -+++ lua-5.3.0/src/Makefile 2015-01-19 22:14:52.559378543 +0100
>> -@@ -7,7 +7,7 @@
>> - PLAT= none
>> -
>> - CC= gcc -std=gnu99
>> --CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>> -+CFLAGS= -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>> - LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>> - LIBS= -lm $(SYSLIBS) $(MYLIBS)
>> -
>> -@@ -29,6 +29,7 @@
>> - PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
>> -
>> - LUA_A= liblua.a
>> -+LUA_SO= liblua.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 +44,7 @@
>> - 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.
>> -@@ -59,6 +60,12 @@
>> - $(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)
>> -
>> --
>> 2.31.1
>>
>
> -Michael
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] lua: Update to 5.4.3
2021-04-22 16:49 ` Adolf Belka
@ 2021-04-22 16:51 ` Michael Tremer
2021-04-22 17:14 ` Adolf Belka
0 siblings, 1 reply; 6+ messages in thread
From: Michael Tremer @ 2021-04-22 16:51 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 20469 bytes --]
Hi,
> On 22 Apr 2021, at 17:49, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>
> Hi Michael,
>
> On 22/04/2021 18:34, Michael Tremer wrote:
>> Hello,
>> Thank you for this patch.
>>> On 20 Apr 2021, at 21:59, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>>>
>>> - Update from 5.3.5 to 5.4.3
>>> - Autotoolize patch not update since 5.3 series
>>> Based on input from Michael Tremer implemented build approach
>>> from BLFS. This approach also used by Arch Linux. Updated lfs in
>>> line with approach. Added pkgconfig file lua.pc as used in BLFS.
>>> - Update of shared_library patch obtained from BLFS
>>> - Update of rootfile
>>> - Removal of old lua-5.3.5 patches
>>> - Changelog
>>> Main changes
>>> new generational mode for garbage collection
>>> to-be-closed variables
>>> const variables
>>> userdata can have multiple user values
>>> new implementation for math.random
>>> warning system
>>> debug information about function arguments and returns
>>> new semantics for the integer 'for' loop
>>> optional 'init' argument to 'string.gmatch'
>>> new functions 'lua_resetthread' and 'coroutine.close'
>>> string-to-number coercions moved to the string library
>>> allocation function allowed to fail when shrinking a memory block
>>> new format '%p' in 'string.format'
>>> utf8 library accepts codepoints up to 2^31
>>>
>>> Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
>>> ---
>>> config/lua/lua.pc | 20 ++
>>> config/rootfiles/common/lua | 11 +-
>>> lfs/lua | 23 ++-
>>> src/patches/lua-5.4.3-shared_library-1.patch | 78 +++++++
>>> src/patches/lua/lua-5.3.5-autotoolize.patch | 192 ------------------
>>> .../lua/lua-5.3.5-shared_library-1.patch | 61 ------
>>> 6 files changed, 117 insertions(+), 268 deletions(-)
>>> create mode 100644 config/lua/lua.pc
>>> create mode 100644 src/patches/lua-5.4.3-shared_library-1.patch
>>> delete mode 100644 src/patches/lua/lua-5.3.5-autotoolize.patch
>>> delete mode 100644 src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>
>>> diff --git a/config/lua/lua.pc b/config/lua/lua.pc
>>> new file mode 100644
>>> index 000000000..f6d25ec33
>>> --- /dev/null
>>> +++ b/config/lua/lua.pc
>>> @@ -0,0 +1,20 @@
>>> +V=5.4
>>> +R=5.4.3
>>> +
>>> +prefix=/usr
>>> +INSTALL_BIN=${prefix}/bin
>>> +INSTALL_INC=${prefix}/include
>>> +INSTALL_LIB=${prefix}/lib
>>> +INSTALL_MAN=${prefix}/share/man/man1
>>> +INSTALL_LMOD=${prefix}/share/lua/${V}
>>> +INSTALL_CMOD=${prefix}/lib/lua/${V}
>>> +exec_prefix=${prefix}
>>> +libdir=${exec_prefix}/lib
>>> +includedir=${prefix}/include
>>> +
>>> +Name: Lua
>>> +Description: An Extensible Extension Language
>>> +Version: ${R}
>>> +Requires:
>>> +Libs: -L${libdir} -llua -lm -ldl
>>> +Cflags: -I${includedir}
>>> diff --git a/config/rootfiles/common/lua b/config/rootfiles/common/lua
>>> index 15d5995b3..44e3aa47e 100644
>>> --- a/config/rootfiles/common/lua
>>> +++ b/config/rootfiles/common/lua
>>> @@ -5,10 +5,13 @@ usr/bin/luac
>>> #usr/include/lua.hpp
>>> #usr/include/luaconf.h
>>> #usr/include/lualib.h
>>> -usr/lib/liblua-5.3.so
>> This is a soversion bump. These files are linked against it:
> Sorry, I forgot again. I will try better to test for this in future.
No problem. Just wanted to point it out because it worked different from the last case.
>> root(a)michael:/build/ipfire-2.x# ./make.sh find-dependencies liblua-5.3.so
>> /build/ipfire-2.x/build/usr/sbin/haproxy
>> /build/ipfire-2.x/build/usr/bin/nmap
>> /build/ipfire-2.x/build/usr/bin/lua
>> /build/ipfire-2.x/build/usr/bin/dnsdist
>> We will need to ship all of them again.
> What does this mean that I have to do. I am not sure here.
Just increment PAK_VER for all those packages so that systems will see that something has been changed.
>>> -#usr/lib/liblua.a
>>> -#usr/lib/liblua.la
>>> usr/lib/liblua.so
>>> -#usr/lib/pkgconfig/lua.pc
>>> +#usr/lib/liblua.so.5.4
>>> +#usr/lib/liblua.so.5.4.3
>> You are not shipping the libraries at all. I am sure this isn’t what you intended :)
> Whoops. Big confusion here on my part.
>>> +#usr/lib/lua
>>> +#usr/lib/lua/5.4
>>> +usr/lib/pkgconfig/lua.pc
>> The pkg-config file is for development only and we do not need to ship it.
> Ah okay. Is that a standard thing anywhere in IPFire?
Yes, we should never ship them. Do we do this anywhere else?
-Michael
>>> +#usr/share/lua
>>> +#usr/share/lua/5.4
>>> #usr/share/man/man1/lua.1
>>> #usr/share/man/man1/luac.1
>>> diff --git a/lfs/lua b/lfs/lua
>>> index e70b9cd00..3692c1d3e 100644
>>> --- a/lfs/lua
>>> +++ b/lfs/lua
>>> @@ -24,7 +24,7 @@
>>>
>>> include Config
>>>
>>> -VER = 5.3.5
>>> +VER = 5.4.3
>>>
>>> THISAPP = lua-$(VER)
>>> DL_FILE = $(THISAPP).tar.gz
>>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>>
>>> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>
>>> -$(DL_FILE)_MD5 = 4f4b4f323fd3514a68e0ab3da8ce3455
>>> +$(DL_FILE)_MD5 = ef63ed2ecfb713646a7fcc583cf5f352
>>>
>>> install : $(TARGET)
>>>
>>> @@ -70,14 +70,15 @@ $(subst %,%_MD5,$(objects)) :
>>> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>> @$(PREBUILD)
>>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>>> - cd $(DIR_APP) && cp -v src/luaconf.h src/luaconf.h.template.in
>>> -
>>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-autotoolize.patch
>>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>> -
>>> - cd $(DIR_APP) && autoreconf -vfi
>>> - cd $(DIR_APP) && ./configure --prefix=/usr
>>> - cd $(DIR_APP) && make $(MAKETUNING)
>>> - cd $(DIR_APP) && make install
>>> + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua-5.4.3-shared_library-1.patch
>>> + # install lua pkgconfig file
>>> + install -v -m 644 ${DIR_SRC}/config/lua/lua.pc \
>>> + /usr/lib/pkgconfig/lua.pc
>> I would recommend installing everything after compiling the package.
> Okay, will do. I just followed the BLFS settings and Arch Linux was similar.
>
> Thanks for feedback. Will do all changes and re-issue as a v2 version.
>
> Adolf.
>>> + cd $(DIR_APP) && make linux $(MAKETUNING)
>>> + cd $(DIR_APP) && make INSTALL_TOP=/usr \
>>> + INSTALL_DATA="cp -d" \
>>> + INSTALL_MAN=/usr/share/man/man1 \
>>> + TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.3" \
>>> + install
>>> @rm -rf $(DIR_APP)
>>> @$(POSTBUILD)
>>> diff --git a/src/patches/lua-5.4.3-shared_library-1.patch b/src/patches/lua-5.4.3-shared_library-1.patch
>>> new file mode 100644
>>> index 000000000..f1dfad9ca
>>> --- /dev/null
>>> +++ b/src/patches/lua-5.4.3-shared_library-1.patch
>>> @@ -0,0 +1,78 @@
>>> +Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
>>> +Date: 2020-06-30
>>> +Initial Package Version: 5.4.0
>>> +Upstream Status: Rejected
>>> +Origin: Arch Linux, with some modifications
>>> +Description: Creates a shared liblua library, as well as
>>> + removes optimization since it causes SIGBUS errors,
>>> + and sets the search path to /usr from /usr/local.
>>> + The initial version of this patch was created by
>>> + Igor Zivkovic, before being rediffed for 5.4.0 by
>>> + myself with some modifications made.
>>> +
>>> +diff -Naurp lua-5.4.0.orig/Makefile lua-5.4.0/Makefile
>>> +--- lua-5.4.0.orig/Makefile 2020-04-15 07:55:07.000000000 -0500
>>> ++++ lua-5.4.0/Makefile 2020-06-30 13:22:00.997938585 -0500
>>> +@@ -52,7 +52,7 @@ R= $V.0
>>> + 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)
>>> +diff -Naurp lua-5.4.0.orig/src/luaconf.h lua-5.4.0/src/luaconf.h
>>> +--- lua-5.4.0.orig/src/luaconf.h 2020-06-18 09:25:54.000000000 -0500
>>> ++++ lua-5.4.0/src/luaconf.h 2020-06-30 13:24:59.294932289 -0500
>>> +@@ -227,7 +227,7 @@
>>> +
>>> + #else /* }{ */
>>> +
>>> +-#define LUA_ROOT "/usr/local/"
>>> ++#define LUA_ROOT "/usr/"
>>> + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>>> + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>>> +
>>> +diff -Naurp lua-5.4.0.orig/src/Makefile lua-5.4.0/src/Makefile
>>> +--- lua-5.4.0.orig/src/Makefile 2020-04-15 08:00:29.000000000 -0500
>>> ++++ lua-5.4.0/src/Makefile 2020-06-30 13:24:15.746933827 -0500
>>> +@@ -7,7 +7,7 @@
>>> + PLAT= guess
>>> +
>>> + CC= gcc -std=gnu99
>>> +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS)
>>> ++CFLAGS= -fPIC -O0 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS)
>>> + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>>> + LIBS= -lm $(SYSLIBS) $(MYLIBS)
>>> +
>>> +@@ -33,6 +33,7 @@ CMCFLAGS= -Os
>>> + PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
>>> +
>>> + LUA_A= liblua.a
>>> ++LUA_SO= liblua.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)
>>> +@@ -44,7 +45,7 @@ LUAC_T= luac
>>> + 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 +61,12 @@ $(LUA_A): $(BASE_O)
>>> + $(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)
>>> +
>>> diff --git a/src/patches/lua/lua-5.3.5-autotoolize.patch b/src/patches/lua/lua-5.3.5-autotoolize.patch
>>> deleted file mode 100644
>>> index 76747923a..000000000
>>> --- a/src/patches/lua/lua-5.3.5-autotoolize.patch
>>> +++ /dev/null
>>> @@ -1,192 +0,0 @@
>>> -diff -up lua-5.3.0/configure.ac.autoxxx lua-5.3.0/configure.ac
>>> ---- lua-5.3.0/configure.ac.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>> -+++ lua-5.3.0/configure.ac 2015-01-15 10:20:03.826889574 -0500
>>> -@@ -0,0 +1,69 @@
>>> -+AC_PREREQ(2.59)
>>> -+AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
>>> -+AC_SUBST([MAJOR_VERSION], [5.3])
>>> -+
>>> -+AC_CONFIG_HEADERS([config.h])
>>> -+AC_CONFIG_SRCDIR([src/lapi.c])
>>> -+
>>> -+AM_INIT_AUTOMAKE([1.9 foreign])
>>> -+
>>> -+AC_PROG_CC
>>> -+AC_PROG_LIBTOOL
>>> -+
>>> -+AC_ARG_WITH(
>>> -+ [readline],
>>> -+ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
>>> -+ [use_readline=$withval],
>>> -+ [use_readline=yes]
>>> -+)
>>> -+
>>> -+LUA_LIBS="-lm"
>>> -+
>>> -+# Check for readline
>>> -+READLINE_DEFS="#undef LUA_USE_READLINE"
>>> -+if test "x$use_readline" == "xyes"; then
>>> -+ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
>>> -+ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
>>> -+ if test "x$use_readline" == "xno"; then
>>> -+ AC_MSG_WARN([readline headers could not be found, disabling readline support])
>>> -+ else
>>> -+ READLINE_DEFS="#define LUA_USE_READLINE"
>>> -+ READLINE_LIBS="-lreadline -lncurses"
>>> -+ fi
>>> -+fi
>>> -+AC_SUBST(READLINE_DEFS)
>>> -+AC_SUBST(READLINE_LIBS)
>>> -+
>>> -+case "$host" in
>>> -+ *-mingw*) use_os=win32 ;;
>>> -+ *-darwin*) use_os=macosx ;;
>>> -+ *) use_os=posix ;;
>>> -+esac
>>> -+
>>> -+POSIX_DEFS="#undef LUA_USE_POSIX"
>>> -+LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
>>> -+LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
>>> -+
>>> -+if test "x$use_os" == "xwin32"; then
>>> -+ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
>>> -+elif test "x$use_os" == "xmacosx"; then
>>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>>> -+ LUA_DL_DEFS="#define LUA_DL_DYLD"
>>> -+elif test "x$use_os" == "xposix"; then
>>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>>> -+ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
>>> -+ LUA_LIBS="$LUA_LIBS -ldl"
>>> -+fi
>>> -+AC_SUBST(POSIX_DEFS)
>>> -+AC_SUBST(LUA_DL_DEFS)
>>> -+AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
>>> -+
>>> -+AC_SUBST(LUA_LIBS)
>>> -+
>>> -+AC_CONFIG_FILES([Makefile
>>> -+ src/Makefile
>>> -+ src/lua.pc
>>> -+ src/luaconf.h.template
>>> -+ doc/Makefile
>>> -+])
>>> -+AC_OUTPUT
>>> -diff -up lua-5.3.0/doc/Makefile.am.autoxxx lua-5.3.0/doc/Makefile.am
>>> ---- lua-5.3.0/doc/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>> -+++ lua-5.3.0/doc/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>> -@@ -0,0 +1,4 @@
>>> -+man1_MANS = lua.1 luac.1
>>> -+
>>> -+EXTRA_DIST = \
>>> -+ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
>>> -diff -up lua-5.3.0/Makefile.am.autoxxx lua-5.3.0/Makefile.am
>>> ---- lua-5.3.0/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>> -+++ lua-5.3.0/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>> -@@ -0,0 +1,3 @@
>>> -+SUBDIRS = src doc
>>> -+
>>> -+EXTRA_DIST = README
>>> -diff -up lua-5.3.0/src/.gitignore.autoxxx lua-5.3.0/src/.gitignore
>>> ---- lua-5.3.0/src/.gitignore.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>> -+++ lua-5.3.0/src/.gitignore 2015-01-15 10:20:03.826889574 -0500
>>> -@@ -0,0 +1,5 @@
>>> -+lua
>>> -+lua.pc
>>> -+luac
>>> -+luaconf.h
>>> -+luaconf.h.template
>>> -diff -up lua-5.3.0/src/luaconf.h.template.in.autoxxx lua-5.3.0/src/luaconf.h.template.in
>>> ---- lua-5.3.0/src/luaconf.h.template.in.autoxxx 2015-01-15 10:20:03.828889562 -0500
>>> -+++ lua-5.3.0/src/luaconf.h.template.in 2015-01-15 10:22:37.420027778 -0500
>>> -@@ -11,6 +11,11 @@
>>> - #include <limits.h>
>>> - #include <stddef.h>
>>> -
>>> -+(a)POSIX_DEFS@
>>> -+(a)LUA_DL_DEFS@
>>> -+(a)LUA_BUILD_AS_DLL_DEFS@
>>> -+(a)READLINE_DEFS@
>>> -+
>>> -
>>> - /*
>>> - ** ===================================================================
>>> -@@ -200,9 +205,9 @@
>>> -
>>> - #else /* }{ */
>>> -
>>> --#define LUA_ROOT "/usr/local/"
>>> --#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>>> --#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>>> -+#define LUA_ROOT "@prefix@/"
>>> -+#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
>>> -+#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
>>> - #define LUA_PATH_DEFAULT \
>>> - LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
>>> - LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
>>> -diff -up lua-5.3.0/src/lua.pc.in.autoxxx lua-5.3.0/src/lua.pc.in
>>> ---- lua-5.3.0/src/lua.pc.in.autoxxx 2015-01-15 10:20:03.827889568 -0500
>>> -+++ lua-5.3.0/src/lua.pc.in 2015-01-15 10:20:03.827889568 -0500
>>> -@@ -0,0 +1,13 @@
>>> -+V= @MAJOR_VERSION@
>>> -+R= @VERSION@
>>> -+prefix= @prefix@
>>> -+exec_prefix=${prefix}
>>> -+libdir= @libdir@
>>> -+includedir=${prefix}/include
>>> -+
>>> -+Name: Lua
>>> -+Description: An Extensible Extension Language
>>> -+Version: ${R}
>>> -+Requires:
>>> -+Libs: -llua @LUA_LIBS@
>>> -+Cflags: -I${includedir}
>>> -diff -up lua-5.3.0/src/Makefile.am.autoxxx lua-5.3.0/src/Makefile.am
>>> ---- lua-5.3.0/src/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>> -+++ lua-5.3.0/src/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>> -@@ -0,0 +1,46 @@
>>> -+AM_CFLAGS = -Wall
>>> -+
>>> -+include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
>>> -+
>>> -+nodist_include_HEADERS = luaconf.h
>>> -+
>>> -+lib_LTLIBRARIES = liblua.la
>>> -+liblua_la_LDFLAGS = -release @MAJOR_VERSION@
>>> -+liblua_la_SOURCES = \
>>> -+ lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \
>>> -+ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
>>> -+ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
>>> -+ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
>>> -+ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
>>> -+ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
>>> -+ lundump.h lvm.h lzio.h
>>> -+
>>> -+pkgconfigdir = $(libdir)/pkgconfig
>>> -+pkgconfig_DATA = lua.pc
>>> -+
>>> -+bin_PROGRAMS = lua luac
>>> -+
>>> -+lua_SOURCES = lua.c
>>> -+lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
>>> -+lua_DEPENDENCIES = liblua.la
>>> -+
>>> -+luac_SOURCES = luac.c
>>> -+# Statically link liblua against luac since luac uses symbols not exported in liblua
>>> -+luac_LDADD = .libs/liblua.a @LUA_LIBS@
>>> -+luac_DEPENDENCIES = liblua.la
>>> -+
>>> -+EXTRA_DIST = luaconf.h.template
>>> -+BUILT_SOURCES = luaconf.h
>>> -+CLEANFILES = luaconf.h luaconf.h.template
>>> -+
>>> -+readline_defs = @READLINE_DEFS@
>>> -+
>>> -+edit = sed \
>>> -+ -e 's,%prefix%,$(prefix),g' \
>>> -+ -e 's,%lua_datadir%,$(datadir),g' \
>>> -+ -e 's,%lua_libdir%,$(libdir),g'
>>> -+
>>> -+luaconf.h : luaconf.h.template
>>> -+ rm -f $@ $@.tmp
>>> -+ $(edit) $< >$@.tmp
>>> -+ mv $@.tmp $@
>>> diff --git a/src/patches/lua/lua-5.3.5-shared_library-1.patch b/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>> deleted file mode 100644
>>> index 857fddc6c..000000000
>>> --- a/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>> +++ /dev/null
>>> @@ -1,61 +0,0 @@
>>> -Submitted By: Igor Živković <contact(a)igor-zivkovic.from.hr>
>>> -Date: 2013-06-19
>>> -Initial Package Version: 5.2.2
>>> -Upstream Status: Rejected
>>> -Origin: Arch Linux packages repository
>>> -Description: Adds the compilation of a shared library.
>>> -
>>> -diff -Naur lua-5.3.0.orig/Makefile lua-5.3.0/Makefile
>>> ---- lua-5.3.0.orig/Makefile 2014-10-30 00:14:41.000000000 +0100
>>> -+++ lua-5.3.0/Makefile 2015-01-19 22:14:09.822290828 +0100
>>> -@@ -52,7 +52,7 @@
>>> - all: $(PLAT)
>>> -
>>> - $(PLATS) clean:
>>> -- cd src && $(MAKE) $@
>>> -+ cd src && $(MAKE) $@ V=$(V) R=$(R)
>>> -
>>> - test: dummy
>>> - src/lua -v
>>> -diff -Naur lua-5.3.0.orig/src/Makefile lua-5.3.0/src/Makefile
>>> ---- lua-5.3.0.orig/src/Makefile 2015-01-05 17:04:52.000000000 +0100
>>> -+++ lua-5.3.0/src/Makefile 2015-01-19 22:14:52.559378543 +0100
>>> -@@ -7,7 +7,7 @@
>>> - PLAT= none
>>> -
>>> - CC= gcc -std=gnu99
>>> --CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>>> -+CFLAGS= -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>>> - LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>>> - LIBS= -lm $(SYSLIBS) $(MYLIBS)
>>> -
>>> -@@ -29,6 +29,7 @@
>>> - PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
>>> -
>>> - LUA_A= liblua.a
>>> -+LUA_SO= liblua.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 +44,7 @@
>>> - 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.
>>> -@@ -59,6 +60,12 @@
>>> - $(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)
>>> -
>>> --
>>> 2.31.1
>>>
>> -Michael
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] lua: Update to 5.4.3
2021-04-22 16:51 ` Michael Tremer
@ 2021-04-22 17:14 ` Adolf Belka
2021-04-26 10:19 ` Michael Tremer
0 siblings, 1 reply; 6+ messages in thread
From: Adolf Belka @ 2021-04-22 17:14 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 21398 bytes --]
Hi Michael,
On 22/04/2021 18:51, Michael Tremer wrote:
> Hi,
>
>> On 22 Apr 2021, at 17:49, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>>
>> Hi Michael,
>>
>> On 22/04/2021 18:34, Michael Tremer wrote:
>>> Hello,
>>> Thank you for this patch.
>>>> On 20 Apr 2021, at 21:59, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>>>>
>>>> - Update from 5.3.5 to 5.4.3
>>>> - Autotoolize patch not update since 5.3 series
>>>> Based on input from Michael Tremer implemented build approach
>>>> from BLFS. This approach also used by Arch Linux. Updated lfs in
>>>> line with approach. Added pkgconfig file lua.pc as used in BLFS.
>>>> - Update of shared_library patch obtained from BLFS
>>>> - Update of rootfile
>>>> - Removal of old lua-5.3.5 patches
>>>> - Changelog
>>>> Main changes
>>>> new generational mode for garbage collection
>>>> to-be-closed variables
>>>> const variables
>>>> userdata can have multiple user values
>>>> new implementation for math.random
>>>> warning system
>>>> debug information about function arguments and returns
>>>> new semantics for the integer 'for' loop
>>>> optional 'init' argument to 'string.gmatch'
>>>> new functions 'lua_resetthread' and 'coroutine.close'
>>>> string-to-number coercions moved to the string library
>>>> allocation function allowed to fail when shrinking a memory block
>>>> new format '%p' in 'string.format'
>>>> utf8 library accepts codepoints up to 2^31
>>>>
>>>> Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
>>>> ---
>>>> config/lua/lua.pc | 20 ++
>>>> config/rootfiles/common/lua | 11 +-
>>>> lfs/lua | 23 ++-
>>>> src/patches/lua-5.4.3-shared_library-1.patch | 78 +++++++
>>>> src/patches/lua/lua-5.3.5-autotoolize.patch | 192 ------------------
>>>> .../lua/lua-5.3.5-shared_library-1.patch | 61 ------
>>>> 6 files changed, 117 insertions(+), 268 deletions(-)
>>>> create mode 100644 config/lua/lua.pc
>>>> create mode 100644 src/patches/lua-5.4.3-shared_library-1.patch
>>>> delete mode 100644 src/patches/lua/lua-5.3.5-autotoolize.patch
>>>> delete mode 100644 src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>>
>>>> diff --git a/config/lua/lua.pc b/config/lua/lua.pc
>>>> new file mode 100644
>>>> index 000000000..f6d25ec33
>>>> --- /dev/null
>>>> +++ b/config/lua/lua.pc
>>>> @@ -0,0 +1,20 @@
>>>> +V=5.4
>>>> +R=5.4.3
>>>> +
>>>> +prefix=/usr
>>>> +INSTALL_BIN=${prefix}/bin
>>>> +INSTALL_INC=${prefix}/include
>>>> +INSTALL_LIB=${prefix}/lib
>>>> +INSTALL_MAN=${prefix}/share/man/man1
>>>> +INSTALL_LMOD=${prefix}/share/lua/${V}
>>>> +INSTALL_CMOD=${prefix}/lib/lua/${V}
>>>> +exec_prefix=${prefix}
>>>> +libdir=${exec_prefix}/lib
>>>> +includedir=${prefix}/include
>>>> +
>>>> +Name: Lua
>>>> +Description: An Extensible Extension Language
>>>> +Version: ${R}
>>>> +Requires:
>>>> +Libs: -L${libdir} -llua -lm -ldl
>>>> +Cflags: -I${includedir}
>>>> diff --git a/config/rootfiles/common/lua b/config/rootfiles/common/lua
>>>> index 15d5995b3..44e3aa47e 100644
>>>> --- a/config/rootfiles/common/lua
>>>> +++ b/config/rootfiles/common/lua
>>>> @@ -5,10 +5,13 @@ usr/bin/luac
>>>> #usr/include/lua.hpp
>>>> #usr/include/luaconf.h
>>>> #usr/include/lualib.h
>>>> -usr/lib/liblua-5.3.so
>>> This is a soversion bump. These files are linked against it:
>> Sorry, I forgot again. I will try better to test for this in future.
>
> No problem. Just wanted to point it out because it worked different from the last case.
>
>>> root(a)michael:/build/ipfire-2.x# ./make.sh find-dependencies liblua-5.3.so
>>> /build/ipfire-2.x/build/usr/sbin/haproxy
>>> /build/ipfire-2.x/build/usr/bin/nmap
>>> /build/ipfire-2.x/build/usr/bin/lua
>>> /build/ipfire-2.x/build/usr/bin/dnsdist
>>> We will need to ship all of them again.
>> What does this mean that I have to do. I am not sure here.
>
> Just increment PAK_VER for all those packages so that systems will see that something has been changed.
OK will do.
>
>>>> -#usr/lib/liblua.a
>>>> -#usr/lib/liblua.la
>>>> usr/lib/liblua.so
>>>> -#usr/lib/pkgconfig/lua.pc
>>>> +#usr/lib/liblua.so.5.4
>>>> +#usr/lib/liblua.so.5.4.3
>>> You are not shipping the libraries at all. I am sure this isn’t what you intended :)
>> Whoops. Big confusion here on my part.
>>>> +#usr/lib/lua
>>>> +#usr/lib/lua/5.4
>>>> +usr/lib/pkgconfig/lua.pc
>>> The pkg-config file is for development only and we do not need to ship it.
>> Ah okay. Is that a standard thing anywhere in IPFire?
>
> Yes, we should never ship them. Do we do this anywhere else?
When I worked on mpd I had a problem with getting libid3tag seen during the build. I created a libid3tag.pc file to overcome that and I had that file uncommented in the rootfile I created.
That rootfile is in Core Update 156.
I will create a patch to correct that libid3tag rootfile.
Regards,
Adolf.
>
> -Michael
>
>>>> +#usr/share/lua
>>>> +#usr/share/lua/5.4
>>>> #usr/share/man/man1/lua.1
>>>> #usr/share/man/man1/luac.1
>>>> diff --git a/lfs/lua b/lfs/lua
>>>> index e70b9cd00..3692c1d3e 100644
>>>> --- a/lfs/lua
>>>> +++ b/lfs/lua
>>>> @@ -24,7 +24,7 @@
>>>>
>>>> include Config
>>>>
>>>> -VER = 5.3.5
>>>> +VER = 5.4.3
>>>>
>>>> THISAPP = lua-$(VER)
>>>> DL_FILE = $(THISAPP).tar.gz
>>>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>>>
>>>> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>>
>>>> -$(DL_FILE)_MD5 = 4f4b4f323fd3514a68e0ab3da8ce3455
>>>> +$(DL_FILE)_MD5 = ef63ed2ecfb713646a7fcc583cf5f352
>>>>
>>>> install : $(TARGET)
>>>>
>>>> @@ -70,14 +70,15 @@ $(subst %,%_MD5,$(objects)) :
>>>> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>> @$(PREBUILD)
>>>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>>>> - cd $(DIR_APP) && cp -v src/luaconf.h src/luaconf.h.template.in
>>>> -
>>>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-autotoolize.patch
>>>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>> -
>>>> - cd $(DIR_APP) && autoreconf -vfi
>>>> - cd $(DIR_APP) && ./configure --prefix=/usr
>>>> - cd $(DIR_APP) && make $(MAKETUNING)
>>>> - cd $(DIR_APP) && make install
>>>> + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua-5.4.3-shared_library-1.patch
>>>> + # install lua pkgconfig file
>>>> + install -v -m 644 ${DIR_SRC}/config/lua/lua.pc \
>>>> + /usr/lib/pkgconfig/lua.pc
>>> I would recommend installing everything after compiling the package.
>> Okay, will do. I just followed the BLFS settings and Arch Linux was similar.
>>
>> Thanks for feedback. Will do all changes and re-issue as a v2 version.
>>
>> Adolf.
>>>> + cd $(DIR_APP) && make linux $(MAKETUNING)
>>>> + cd $(DIR_APP) && make INSTALL_TOP=/usr \
>>>> + INSTALL_DATA="cp -d" \
>>>> + INSTALL_MAN=/usr/share/man/man1 \
>>>> + TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.3" \
>>>> + install
>>>> @rm -rf $(DIR_APP)
>>>> @$(POSTBUILD)
>>>> diff --git a/src/patches/lua-5.4.3-shared_library-1.patch b/src/patches/lua-5.4.3-shared_library-1.patch
>>>> new file mode 100644
>>>> index 000000000..f1dfad9ca
>>>> --- /dev/null
>>>> +++ b/src/patches/lua-5.4.3-shared_library-1.patch
>>>> @@ -0,0 +1,78 @@
>>>> +Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
>>>> +Date: 2020-06-30
>>>> +Initial Package Version: 5.4.0
>>>> +Upstream Status: Rejected
>>>> +Origin: Arch Linux, with some modifications
>>>> +Description: Creates a shared liblua library, as well as
>>>> + removes optimization since it causes SIGBUS errors,
>>>> + and sets the search path to /usr from /usr/local.
>>>> + The initial version of this patch was created by
>>>> + Igor Zivkovic, before being rediffed for 5.4.0 by
>>>> + myself with some modifications made.
>>>> +
>>>> +diff -Naurp lua-5.4.0.orig/Makefile lua-5.4.0/Makefile
>>>> +--- lua-5.4.0.orig/Makefile 2020-04-15 07:55:07.000000000 -0500
>>>> ++++ lua-5.4.0/Makefile 2020-06-30 13:22:00.997938585 -0500
>>>> +@@ -52,7 +52,7 @@ R= $V.0
>>>> + 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)
>>>> +diff -Naurp lua-5.4.0.orig/src/luaconf.h lua-5.4.0/src/luaconf.h
>>>> +--- lua-5.4.0.orig/src/luaconf.h 2020-06-18 09:25:54.000000000 -0500
>>>> ++++ lua-5.4.0/src/luaconf.h 2020-06-30 13:24:59.294932289 -0500
>>>> +@@ -227,7 +227,7 @@
>>>> +
>>>> + #else /* }{ */
>>>> +
>>>> +-#define LUA_ROOT "/usr/local/"
>>>> ++#define LUA_ROOT "/usr/"
>>>> + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>>>> + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>>>> +
>>>> +diff -Naurp lua-5.4.0.orig/src/Makefile lua-5.4.0/src/Makefile
>>>> +--- lua-5.4.0.orig/src/Makefile 2020-04-15 08:00:29.000000000 -0500
>>>> ++++ lua-5.4.0/src/Makefile 2020-06-30 13:24:15.746933827 -0500
>>>> +@@ -7,7 +7,7 @@
>>>> + PLAT= guess
>>>> +
>>>> + CC= gcc -std=gnu99
>>>> +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS)
>>>> ++CFLAGS= -fPIC -O0 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS)
>>>> + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>>>> + LIBS= -lm $(SYSLIBS) $(MYLIBS)
>>>> +
>>>> +@@ -33,6 +33,7 @@ CMCFLAGS= -Os
>>>> + PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
>>>> +
>>>> + LUA_A= liblua.a
>>>> ++LUA_SO= liblua.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)
>>>> +@@ -44,7 +45,7 @@ LUAC_T= luac
>>>> + 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 +61,12 @@ $(LUA_A): $(BASE_O)
>>>> + $(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)
>>>> +
>>>> diff --git a/src/patches/lua/lua-5.3.5-autotoolize.patch b/src/patches/lua/lua-5.3.5-autotoolize.patch
>>>> deleted file mode 100644
>>>> index 76747923a..000000000
>>>> --- a/src/patches/lua/lua-5.3.5-autotoolize.patch
>>>> +++ /dev/null
>>>> @@ -1,192 +0,0 @@
>>>> -diff -up lua-5.3.0/configure.ac.autoxxx lua-5.3.0/configure.ac
>>>> ---- lua-5.3.0/configure.ac.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>> -+++ lua-5.3.0/configure.ac 2015-01-15 10:20:03.826889574 -0500
>>>> -@@ -0,0 +1,69 @@
>>>> -+AC_PREREQ(2.59)
>>>> -+AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
>>>> -+AC_SUBST([MAJOR_VERSION], [5.3])
>>>> -+
>>>> -+AC_CONFIG_HEADERS([config.h])
>>>> -+AC_CONFIG_SRCDIR([src/lapi.c])
>>>> -+
>>>> -+AM_INIT_AUTOMAKE([1.9 foreign])
>>>> -+
>>>> -+AC_PROG_CC
>>>> -+AC_PROG_LIBTOOL
>>>> -+
>>>> -+AC_ARG_WITH(
>>>> -+ [readline],
>>>> -+ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
>>>> -+ [use_readline=$withval],
>>>> -+ [use_readline=yes]
>>>> -+)
>>>> -+
>>>> -+LUA_LIBS="-lm"
>>>> -+
>>>> -+# Check for readline
>>>> -+READLINE_DEFS="#undef LUA_USE_READLINE"
>>>> -+if test "x$use_readline" == "xyes"; then
>>>> -+ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
>>>> -+ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
>>>> -+ if test "x$use_readline" == "xno"; then
>>>> -+ AC_MSG_WARN([readline headers could not be found, disabling readline support])
>>>> -+ else
>>>> -+ READLINE_DEFS="#define LUA_USE_READLINE"
>>>> -+ READLINE_LIBS="-lreadline -lncurses"
>>>> -+ fi
>>>> -+fi
>>>> -+AC_SUBST(READLINE_DEFS)
>>>> -+AC_SUBST(READLINE_LIBS)
>>>> -+
>>>> -+case "$host" in
>>>> -+ *-mingw*) use_os=win32 ;;
>>>> -+ *-darwin*) use_os=macosx ;;
>>>> -+ *) use_os=posix ;;
>>>> -+esac
>>>> -+
>>>> -+POSIX_DEFS="#undef LUA_USE_POSIX"
>>>> -+LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
>>>> -+LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
>>>> -+
>>>> -+if test "x$use_os" == "xwin32"; then
>>>> -+ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
>>>> -+elif test "x$use_os" == "xmacosx"; then
>>>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>>>> -+ LUA_DL_DEFS="#define LUA_DL_DYLD"
>>>> -+elif test "x$use_os" == "xposix"; then
>>>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>>>> -+ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
>>>> -+ LUA_LIBS="$LUA_LIBS -ldl"
>>>> -+fi
>>>> -+AC_SUBST(POSIX_DEFS)
>>>> -+AC_SUBST(LUA_DL_DEFS)
>>>> -+AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
>>>> -+
>>>> -+AC_SUBST(LUA_LIBS)
>>>> -+
>>>> -+AC_CONFIG_FILES([Makefile
>>>> -+ src/Makefile
>>>> -+ src/lua.pc
>>>> -+ src/luaconf.h.template
>>>> -+ doc/Makefile
>>>> -+])
>>>> -+AC_OUTPUT
>>>> -diff -up lua-5.3.0/doc/Makefile.am.autoxxx lua-5.3.0/doc/Makefile.am
>>>> ---- lua-5.3.0/doc/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>> -+++ lua-5.3.0/doc/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>>> -@@ -0,0 +1,4 @@
>>>> -+man1_MANS = lua.1 luac.1
>>>> -+
>>>> -+EXTRA_DIST = \
>>>> -+ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
>>>> -diff -up lua-5.3.0/Makefile.am.autoxxx lua-5.3.0/Makefile.am
>>>> ---- lua-5.3.0/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>> -+++ lua-5.3.0/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>>> -@@ -0,0 +1,3 @@
>>>> -+SUBDIRS = src doc
>>>> -+
>>>> -+EXTRA_DIST = README
>>>> -diff -up lua-5.3.0/src/.gitignore.autoxxx lua-5.3.0/src/.gitignore
>>>> ---- lua-5.3.0/src/.gitignore.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>> -+++ lua-5.3.0/src/.gitignore 2015-01-15 10:20:03.826889574 -0500
>>>> -@@ -0,0 +1,5 @@
>>>> -+lua
>>>> -+lua.pc
>>>> -+luac
>>>> -+luaconf.h
>>>> -+luaconf.h.template
>>>> -diff -up lua-5.3.0/src/luaconf.h.template.in.autoxxx lua-5.3.0/src/luaconf.h.template.in
>>>> ---- lua-5.3.0/src/luaconf.h.template.in.autoxxx 2015-01-15 10:20:03.828889562 -0500
>>>> -+++ lua-5.3.0/src/luaconf.h.template.in 2015-01-15 10:22:37.420027778 -0500
>>>> -@@ -11,6 +11,11 @@
>>>> - #include <limits.h>
>>>> - #include <stddef.h>
>>>> -
>>>> -+(a)POSIX_DEFS@
>>>> -+(a)LUA_DL_DEFS@
>>>> -+(a)LUA_BUILD_AS_DLL_DEFS@
>>>> -+(a)READLINE_DEFS@
>>>> -+
>>>> -
>>>> - /*
>>>> - ** ===================================================================
>>>> -@@ -200,9 +205,9 @@
>>>> -
>>>> - #else /* }{ */
>>>> -
>>>> --#define LUA_ROOT "/usr/local/"
>>>> --#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>>>> --#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>>>> -+#define LUA_ROOT "@prefix@/"
>>>> -+#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
>>>> -+#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
>>>> - #define LUA_PATH_DEFAULT \
>>>> - LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
>>>> - LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
>>>> -diff -up lua-5.3.0/src/lua.pc.in.autoxxx lua-5.3.0/src/lua.pc.in
>>>> ---- lua-5.3.0/src/lua.pc.in.autoxxx 2015-01-15 10:20:03.827889568 -0500
>>>> -+++ lua-5.3.0/src/lua.pc.in 2015-01-15 10:20:03.827889568 -0500
>>>> -@@ -0,0 +1,13 @@
>>>> -+V= @MAJOR_VERSION@
>>>> -+R= @VERSION@
>>>> -+prefix= @prefix@
>>>> -+exec_prefix=${prefix}
>>>> -+libdir= @libdir@
>>>> -+includedir=${prefix}/include
>>>> -+
>>>> -+Name: Lua
>>>> -+Description: An Extensible Extension Language
>>>> -+Version: ${R}
>>>> -+Requires:
>>>> -+Libs: -llua @LUA_LIBS@
>>>> -+Cflags: -I${includedir}
>>>> -diff -up lua-5.3.0/src/Makefile.am.autoxxx lua-5.3.0/src/Makefile.am
>>>> ---- lua-5.3.0/src/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>> -+++ lua-5.3.0/src/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>>> -@@ -0,0 +1,46 @@
>>>> -+AM_CFLAGS = -Wall
>>>> -+
>>>> -+include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
>>>> -+
>>>> -+nodist_include_HEADERS = luaconf.h
>>>> -+
>>>> -+lib_LTLIBRARIES = liblua.la
>>>> -+liblua_la_LDFLAGS = -release @MAJOR_VERSION@
>>>> -+liblua_la_SOURCES = \
>>>> -+ lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \
>>>> -+ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
>>>> -+ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
>>>> -+ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
>>>> -+ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
>>>> -+ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
>>>> -+ lundump.h lvm.h lzio.h
>>>> -+
>>>> -+pkgconfigdir = $(libdir)/pkgconfig
>>>> -+pkgconfig_DATA = lua.pc
>>>> -+
>>>> -+bin_PROGRAMS = lua luac
>>>> -+
>>>> -+lua_SOURCES = lua.c
>>>> -+lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
>>>> -+lua_DEPENDENCIES = liblua.la
>>>> -+
>>>> -+luac_SOURCES = luac.c
>>>> -+# Statically link liblua against luac since luac uses symbols not exported in liblua
>>>> -+luac_LDADD = .libs/liblua.a @LUA_LIBS@
>>>> -+luac_DEPENDENCIES = liblua.la
>>>> -+
>>>> -+EXTRA_DIST = luaconf.h.template
>>>> -+BUILT_SOURCES = luaconf.h
>>>> -+CLEANFILES = luaconf.h luaconf.h.template
>>>> -+
>>>> -+readline_defs = @READLINE_DEFS@
>>>> -+
>>>> -+edit = sed \
>>>> -+ -e 's,%prefix%,$(prefix),g' \
>>>> -+ -e 's,%lua_datadir%,$(datadir),g' \
>>>> -+ -e 's,%lua_libdir%,$(libdir),g'
>>>> -+
>>>> -+luaconf.h : luaconf.h.template
>>>> -+ rm -f $@ $@.tmp
>>>> -+ $(edit) $< >$@.tmp
>>>> -+ mv $@.tmp $@
>>>> diff --git a/src/patches/lua/lua-5.3.5-shared_library-1.patch b/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>> deleted file mode 100644
>>>> index 857fddc6c..000000000
>>>> --- a/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>> +++ /dev/null
>>>> @@ -1,61 +0,0 @@
>>>> -Submitted By: Igor Živković <contact(a)igor-zivkovic.from.hr>
>>>> -Date: 2013-06-19
>>>> -Initial Package Version: 5.2.2
>>>> -Upstream Status: Rejected
>>>> -Origin: Arch Linux packages repository
>>>> -Description: Adds the compilation of a shared library.
>>>> -
>>>> -diff -Naur lua-5.3.0.orig/Makefile lua-5.3.0/Makefile
>>>> ---- lua-5.3.0.orig/Makefile 2014-10-30 00:14:41.000000000 +0100
>>>> -+++ lua-5.3.0/Makefile 2015-01-19 22:14:09.822290828 +0100
>>>> -@@ -52,7 +52,7 @@
>>>> - all: $(PLAT)
>>>> -
>>>> - $(PLATS) clean:
>>>> -- cd src && $(MAKE) $@
>>>> -+ cd src && $(MAKE) $@ V=$(V) R=$(R)
>>>> -
>>>> - test: dummy
>>>> - src/lua -v
>>>> -diff -Naur lua-5.3.0.orig/src/Makefile lua-5.3.0/src/Makefile
>>>> ---- lua-5.3.0.orig/src/Makefile 2015-01-05 17:04:52.000000000 +0100
>>>> -+++ lua-5.3.0/src/Makefile 2015-01-19 22:14:52.559378543 +0100
>>>> -@@ -7,7 +7,7 @@
>>>> - PLAT= none
>>>> -
>>>> - CC= gcc -std=gnu99
>>>> --CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>>>> -+CFLAGS= -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>>>> - LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>>>> - LIBS= -lm $(SYSLIBS) $(MYLIBS)
>>>> -
>>>> -@@ -29,6 +29,7 @@
>>>> - PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
>>>> -
>>>> - LUA_A= liblua.a
>>>> -+LUA_SO= liblua.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 +44,7 @@
>>>> - 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.
>>>> -@@ -59,6 +60,12 @@
>>>> - $(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)
>>>> -
>>>> --
>>>> 2.31.1
>>>>
>>> -Michael
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] lua: Update to 5.4.3
2021-04-22 17:14 ` Adolf Belka
@ 2021-04-26 10:19 ` Michael Tremer
0 siblings, 0 replies; 6+ messages in thread
From: Michael Tremer @ 2021-04-26 10:19 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 22010 bytes --]
Hello,
> On 22 Apr 2021, at 18:14, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>
> Hi Michael,
>
> On 22/04/2021 18:51, Michael Tremer wrote:
>> Hi,
>>> On 22 Apr 2021, at 17:49, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>>>
>>> Hi Michael,
>>>
>>> On 22/04/2021 18:34, Michael Tremer wrote:
>>>> Hello,
>>>> Thank you for this patch.
>>>>> On 20 Apr 2021, at 21:59, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
>>>>>
>>>>> - Update from 5.3.5 to 5.4.3
>>>>> - Autotoolize patch not update since 5.3 series
>>>>> Based on input from Michael Tremer implemented build approach
>>>>> from BLFS. This approach also used by Arch Linux. Updated lfs in
>>>>> line with approach. Added pkgconfig file lua.pc as used in BLFS.
>>>>> - Update of shared_library patch obtained from BLFS
>>>>> - Update of rootfile
>>>>> - Removal of old lua-5.3.5 patches
>>>>> - Changelog
>>>>> Main changes
>>>>> new generational mode for garbage collection
>>>>> to-be-closed variables
>>>>> const variables
>>>>> userdata can have multiple user values
>>>>> new implementation for math.random
>>>>> warning system
>>>>> debug information about function arguments and returns
>>>>> new semantics for the integer 'for' loop
>>>>> optional 'init' argument to 'string.gmatch'
>>>>> new functions 'lua_resetthread' and 'coroutine.close'
>>>>> string-to-number coercions moved to the string library
>>>>> allocation function allowed to fail when shrinking a memory block
>>>>> new format '%p' in 'string.format'
>>>>> utf8 library accepts codepoints up to 2^31
>>>>>
>>>>> Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
>>>>> ---
>>>>> config/lua/lua.pc | 20 ++
>>>>> config/rootfiles/common/lua | 11 +-
>>>>> lfs/lua | 23 ++-
>>>>> src/patches/lua-5.4.3-shared_library-1.patch | 78 +++++++
>>>>> src/patches/lua/lua-5.3.5-autotoolize.patch | 192 ------------------
>>>>> .../lua/lua-5.3.5-shared_library-1.patch | 61 ------
>>>>> 6 files changed, 117 insertions(+), 268 deletions(-)
>>>>> create mode 100644 config/lua/lua.pc
>>>>> create mode 100644 src/patches/lua-5.4.3-shared_library-1.patch
>>>>> delete mode 100644 src/patches/lua/lua-5.3.5-autotoolize.patch
>>>>> delete mode 100644 src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>>>
>>>>> diff --git a/config/lua/lua.pc b/config/lua/lua.pc
>>>>> new file mode 100644
>>>>> index 000000000..f6d25ec33
>>>>> --- /dev/null
>>>>> +++ b/config/lua/lua.pc
>>>>> @@ -0,0 +1,20 @@
>>>>> +V=5.4
>>>>> +R=5.4.3
>>>>> +
>>>>> +prefix=/usr
>>>>> +INSTALL_BIN=${prefix}/bin
>>>>> +INSTALL_INC=${prefix}/include
>>>>> +INSTALL_LIB=${prefix}/lib
>>>>> +INSTALL_MAN=${prefix}/share/man/man1
>>>>> +INSTALL_LMOD=${prefix}/share/lua/${V}
>>>>> +INSTALL_CMOD=${prefix}/lib/lua/${V}
>>>>> +exec_prefix=${prefix}
>>>>> +libdir=${exec_prefix}/lib
>>>>> +includedir=${prefix}/include
>>>>> +
>>>>> +Name: Lua
>>>>> +Description: An Extensible Extension Language
>>>>> +Version: ${R}
>>>>> +Requires:
>>>>> +Libs: -L${libdir} -llua -lm -ldl
>>>>> +Cflags: -I${includedir}
>>>>> diff --git a/config/rootfiles/common/lua b/config/rootfiles/common/lua
>>>>> index 15d5995b3..44e3aa47e 100644
>>>>> --- a/config/rootfiles/common/lua
>>>>> +++ b/config/rootfiles/common/lua
>>>>> @@ -5,10 +5,13 @@ usr/bin/luac
>>>>> #usr/include/lua.hpp
>>>>> #usr/include/luaconf.h
>>>>> #usr/include/lualib.h
>>>>> -usr/lib/liblua-5.3.so
>>>> This is a soversion bump. These files are linked against it:
>>> Sorry, I forgot again. I will try better to test for this in future.
>> No problem. Just wanted to point it out because it worked different from the last case.
>>>> root(a)michael:/build/ipfire-2.x# ./make.sh find-dependencies liblua-5.3.so
>>>> /build/ipfire-2.x/build/usr/sbin/haproxy
>>>> /build/ipfire-2.x/build/usr/bin/nmap
>>>> /build/ipfire-2.x/build/usr/bin/lua
>>>> /build/ipfire-2.x/build/usr/bin/dnsdist
>>>> We will need to ship all of them again.
>>> What does this mean that I have to do. I am not sure here.
>> Just increment PAK_VER for all those packages so that systems will see that something has been changed.
> OK will do.
>>>>> -#usr/lib/liblua.a
>>>>> -#usr/lib/liblua.la
>>>>> usr/lib/liblua.so
>>>>> -#usr/lib/pkgconfig/lua.pc
>>>>> +#usr/lib/liblua.so.5.4
>>>>> +#usr/lib/liblua.so.5.4.3
>>>> You are not shipping the libraries at all. I am sure this isn’t what you intended :)
>>> Whoops. Big confusion here on my part.
>>>>> +#usr/lib/lua
>>>>> +#usr/lib/lua/5.4
>>>>> +usr/lib/pkgconfig/lua.pc
>>>> The pkg-config file is for development only and we do not need to ship it.
>>> Ah okay. Is that a standard thing anywhere in IPFire?
>> Yes, we should never ship them. Do we do this anywhere else?
> When I worked on mpd I had a problem with getting libid3tag seen during the build. I created a libid3tag.pc file to overcome that and I had that file uncommented in the rootfile I created.
>
> That rootfile is in Core Update 156.
>
> I will create a patch to correct that libid3tag rootfile.
Thank you.
>
> Regards,
> Adolf.
>> -Michael
>>>>> +#usr/share/lua
>>>>> +#usr/share/lua/5.4
>>>>> #usr/share/man/man1/lua.1
>>>>> #usr/share/man/man1/luac.1
>>>>> diff --git a/lfs/lua b/lfs/lua
>>>>> index e70b9cd00..3692c1d3e 100644
>>>>> --- a/lfs/lua
>>>>> +++ b/lfs/lua
>>>>> @@ -24,7 +24,7 @@
>>>>>
>>>>> include Config
>>>>>
>>>>> -VER = 5.3.5
>>>>> +VER = 5.4.3
>>>>>
>>>>> THISAPP = lua-$(VER)
>>>>> DL_FILE = $(THISAPP).tar.gz
>>>>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>>>>
>>>>> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>>>
>>>>> -$(DL_FILE)_MD5 = 4f4b4f323fd3514a68e0ab3da8ce3455
>>>>> +$(DL_FILE)_MD5 = ef63ed2ecfb713646a7fcc583cf5f352
>>>>>
>>>>> install : $(TARGET)
>>>>>
>>>>> @@ -70,14 +70,15 @@ $(subst %,%_MD5,$(objects)) :
>>>>> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>>> @$(PREBUILD)
>>>>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>>>>> - cd $(DIR_APP) && cp -v src/luaconf.h src/luaconf.h.template.in
>>>>> -
>>>>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-autotoolize.patch
>>>>> - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>>> -
>>>>> - cd $(DIR_APP) && autoreconf -vfi
>>>>> - cd $(DIR_APP) && ./configure --prefix=/usr
>>>>> - cd $(DIR_APP) && make $(MAKETUNING)
>>>>> - cd $(DIR_APP) && make install
>>>>> + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lua-5.4.3-shared_library-1.patch
>>>>> + # install lua pkgconfig file
>>>>> + install -v -m 644 ${DIR_SRC}/config/lua/lua.pc \
>>>>> + /usr/lib/pkgconfig/lua.pc
>>>> I would recommend installing everything after compiling the package.
>>> Okay, will do. I just followed the BLFS settings and Arch Linux was similar.
>>>
>>> Thanks for feedback. Will do all changes and re-issue as a v2 version.
>>>
>>> Adolf.
>>>>> + cd $(DIR_APP) && make linux $(MAKETUNING)
>>>>> + cd $(DIR_APP) && make INSTALL_TOP=/usr \
>>>>> + INSTALL_DATA="cp -d" \
>>>>> + INSTALL_MAN=/usr/share/man/man1 \
>>>>> + TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.3" \
>>>>> + install
>>>>> @rm -rf $(DIR_APP)
>>>>> @$(POSTBUILD)
>>>>> diff --git a/src/patches/lua-5.4.3-shared_library-1.patch b/src/patches/lua-5.4.3-shared_library-1.patch
>>>>> new file mode 100644
>>>>> index 000000000..f1dfad9ca
>>>>> --- /dev/null
>>>>> +++ b/src/patches/lua-5.4.3-shared_library-1.patch
>>>>> @@ -0,0 +1,78 @@
>>>>> +Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
>>>>> +Date: 2020-06-30
>>>>> +Initial Package Version: 5.4.0
>>>>> +Upstream Status: Rejected
>>>>> +Origin: Arch Linux, with some modifications
>>>>> +Description: Creates a shared liblua library, as well as
>>>>> + removes optimization since it causes SIGBUS errors,
>>>>> + and sets the search path to /usr from /usr/local.
>>>>> + The initial version of this patch was created by
>>>>> + Igor Zivkovic, before being rediffed for 5.4.0 by
>>>>> + myself with some modifications made.
>>>>> +
>>>>> +diff -Naurp lua-5.4.0.orig/Makefile lua-5.4.0/Makefile
>>>>> +--- lua-5.4.0.orig/Makefile 2020-04-15 07:55:07.000000000 -0500
>>>>> ++++ lua-5.4.0/Makefile 2020-06-30 13:22:00.997938585 -0500
>>>>> +@@ -52,7 +52,7 @@ R= $V.0
>>>>> + 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)
>>>>> +diff -Naurp lua-5.4.0.orig/src/luaconf.h lua-5.4.0/src/luaconf.h
>>>>> +--- lua-5.4.0.orig/src/luaconf.h 2020-06-18 09:25:54.000000000 -0500
>>>>> ++++ lua-5.4.0/src/luaconf.h 2020-06-30 13:24:59.294932289 -0500
>>>>> +@@ -227,7 +227,7 @@
>>>>> +
>>>>> + #else /* }{ */
>>>>> +
>>>>> +-#define LUA_ROOT "/usr/local/"
>>>>> ++#define LUA_ROOT "/usr/"
>>>>> + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>>>>> + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>>>>> +
>>>>> +diff -Naurp lua-5.4.0.orig/src/Makefile lua-5.4.0/src/Makefile
>>>>> +--- lua-5.4.0.orig/src/Makefile 2020-04-15 08:00:29.000000000 -0500
>>>>> ++++ lua-5.4.0/src/Makefile 2020-06-30 13:24:15.746933827 -0500
>>>>> +@@ -7,7 +7,7 @@
>>>>> + PLAT= guess
>>>>> +
>>>>> + CC= gcc -std=gnu99
>>>>> +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS)
>>>>> ++CFLAGS= -fPIC -O0 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1 $(SYSCFLAGS) $(MYCFLAGS)
>>>>> + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>>>>> + LIBS= -lm $(SYSLIBS) $(MYLIBS)
>>>>> +
>>>>> +@@ -33,6 +33,7 @@ CMCFLAGS= -Os
>>>>> + PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
>>>>> +
>>>>> + LUA_A= liblua.a
>>>>> ++LUA_SO= liblua.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)
>>>>> +@@ -44,7 +45,7 @@ LUAC_T= luac
>>>>> + 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 +61,12 @@ $(LUA_A): $(BASE_O)
>>>>> + $(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)
>>>>> +
>>>>> diff --git a/src/patches/lua/lua-5.3.5-autotoolize.patch b/src/patches/lua/lua-5.3.5-autotoolize.patch
>>>>> deleted file mode 100644
>>>>> index 76747923a..000000000
>>>>> --- a/src/patches/lua/lua-5.3.5-autotoolize.patch
>>>>> +++ /dev/null
>>>>> @@ -1,192 +0,0 @@
>>>>> -diff -up lua-5.3.0/configure.ac.autoxxx lua-5.3.0/configure.ac
>>>>> ---- lua-5.3.0/configure.ac.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>>> -+++ lua-5.3.0/configure.ac 2015-01-15 10:20:03.826889574 -0500
>>>>> -@@ -0,0 +1,69 @@
>>>>> -+AC_PREREQ(2.59)
>>>>> -+AC_INIT([lua], [5.3.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
>>>>> -+AC_SUBST([MAJOR_VERSION], [5.3])
>>>>> -+
>>>>> -+AC_CONFIG_HEADERS([config.h])
>>>>> -+AC_CONFIG_SRCDIR([src/lapi.c])
>>>>> -+
>>>>> -+AM_INIT_AUTOMAKE([1.9 foreign])
>>>>> -+
>>>>> -+AC_PROG_CC
>>>>> -+AC_PROG_LIBTOOL
>>>>> -+
>>>>> -+AC_ARG_WITH(
>>>>> -+ [readline],
>>>>> -+ [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
>>>>> -+ [use_readline=$withval],
>>>>> -+ [use_readline=yes]
>>>>> -+)
>>>>> -+
>>>>> -+LUA_LIBS="-lm"
>>>>> -+
>>>>> -+# Check for readline
>>>>> -+READLINE_DEFS="#undef LUA_USE_READLINE"
>>>>> -+if test "x$use_readline" == "xyes"; then
>>>>> -+ AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
>>>>> -+ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
>>>>> -+ if test "x$use_readline" == "xno"; then
>>>>> -+ AC_MSG_WARN([readline headers could not be found, disabling readline support])
>>>>> -+ else
>>>>> -+ READLINE_DEFS="#define LUA_USE_READLINE"
>>>>> -+ READLINE_LIBS="-lreadline -lncurses"
>>>>> -+ fi
>>>>> -+fi
>>>>> -+AC_SUBST(READLINE_DEFS)
>>>>> -+AC_SUBST(READLINE_LIBS)
>>>>> -+
>>>>> -+case "$host" in
>>>>> -+ *-mingw*) use_os=win32 ;;
>>>>> -+ *-darwin*) use_os=macosx ;;
>>>>> -+ *) use_os=posix ;;
>>>>> -+esac
>>>>> -+
>>>>> -+POSIX_DEFS="#undef LUA_USE_POSIX"
>>>>> -+LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
>>>>> -+LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
>>>>> -+
>>>>> -+if test "x$use_os" == "xwin32"; then
>>>>> -+ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
>>>>> -+elif test "x$use_os" == "xmacosx"; then
>>>>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>>>>> -+ LUA_DL_DEFS="#define LUA_DL_DYLD"
>>>>> -+elif test "x$use_os" == "xposix"; then
>>>>> -+ POSIX_DEFS="#define LUA_USE_POSIX"
>>>>> -+ LUA_DL_DEFS="#define LUA_DL_DLOPEN"
>>>>> -+ LUA_LIBS="$LUA_LIBS -ldl"
>>>>> -+fi
>>>>> -+AC_SUBST(POSIX_DEFS)
>>>>> -+AC_SUBST(LUA_DL_DEFS)
>>>>> -+AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
>>>>> -+
>>>>> -+AC_SUBST(LUA_LIBS)
>>>>> -+
>>>>> -+AC_CONFIG_FILES([Makefile
>>>>> -+ src/Makefile
>>>>> -+ src/lua.pc
>>>>> -+ src/luaconf.h.template
>>>>> -+ doc/Makefile
>>>>> -+])
>>>>> -+AC_OUTPUT
>>>>> -diff -up lua-5.3.0/doc/Makefile.am.autoxxx lua-5.3.0/doc/Makefile.am
>>>>> ---- lua-5.3.0/doc/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>>> -+++ lua-5.3.0/doc/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>>>> -@@ -0,0 +1,4 @@
>>>>> -+man1_MANS = lua.1 luac.1
>>>>> -+
>>>>> -+EXTRA_DIST = \
>>>>> -+ contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
>>>>> -diff -up lua-5.3.0/Makefile.am.autoxxx lua-5.3.0/Makefile.am
>>>>> ---- lua-5.3.0/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>>> -+++ lua-5.3.0/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>>>> -@@ -0,0 +1,3 @@
>>>>> -+SUBDIRS = src doc
>>>>> -+
>>>>> -+EXTRA_DIST = README
>>>>> -diff -up lua-5.3.0/src/.gitignore.autoxxx lua-5.3.0/src/.gitignore
>>>>> ---- lua-5.3.0/src/.gitignore.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>>> -+++ lua-5.3.0/src/.gitignore 2015-01-15 10:20:03.826889574 -0500
>>>>> -@@ -0,0 +1,5 @@
>>>>> -+lua
>>>>> -+lua.pc
>>>>> -+luac
>>>>> -+luaconf.h
>>>>> -+luaconf.h.template
>>>>> -diff -up lua-5.3.0/src/luaconf.h.template.in.autoxxx lua-5.3.0/src/luaconf.h.template.in
>>>>> ---- lua-5.3.0/src/luaconf.h.template.in.autoxxx 2015-01-15 10:20:03.828889562 -0500
>>>>> -+++ lua-5.3.0/src/luaconf.h.template.in 2015-01-15 10:22:37.420027778 -0500
>>>>> -@@ -11,6 +11,11 @@
>>>>> - #include <limits.h>
>>>>> - #include <stddef.h>
>>>>> -
>>>>> -+(a)POSIX_DEFS@
>>>>> -+(a)LUA_DL_DEFS@
>>>>> -+(a)LUA_BUILD_AS_DLL_DEFS@
>>>>> -+(a)READLINE_DEFS@
>>>>> -+
>>>>> -
>>>>> - /*
>>>>> - ** ===================================================================
>>>>> -@@ -200,9 +205,9 @@
>>>>> -
>>>>> - #else /* }{ */
>>>>> -
>>>>> --#define LUA_ROOT "/usr/local/"
>>>>> --#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
>>>>> --#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
>>>>> -+#define LUA_ROOT "@prefix@/"
>>>>> -+#define LUA_LDIR "@pkgdatadir@/lua/" LUA_VDIR "/"
>>>>> -+#define LUA_CDIR "@libdir@/lua/" LUA_VDIR "/"
>>>>> - #define LUA_PATH_DEFAULT \
>>>>> - LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
>>>>> - LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
>>>>> -diff -up lua-5.3.0/src/lua.pc.in.autoxxx lua-5.3.0/src/lua.pc.in
>>>>> ---- lua-5.3.0/src/lua.pc.in.autoxxx 2015-01-15 10:20:03.827889568 -0500
>>>>> -+++ lua-5.3.0/src/lua.pc.in 2015-01-15 10:20:03.827889568 -0500
>>>>> -@@ -0,0 +1,13 @@
>>>>> -+V= @MAJOR_VERSION@
>>>>> -+R= @VERSION@
>>>>> -+prefix= @prefix@
>>>>> -+exec_prefix=${prefix}
>>>>> -+libdir= @libdir@
>>>>> -+includedir=${prefix}/include
>>>>> -+
>>>>> -+Name: Lua
>>>>> -+Description: An Extensible Extension Language
>>>>> -+Version: ${R}
>>>>> -+Requires:
>>>>> -+Libs: -llua @LUA_LIBS@
>>>>> -+Cflags: -I${includedir}
>>>>> -diff -up lua-5.3.0/src/Makefile.am.autoxxx lua-5.3.0/src/Makefile.am
>>>>> ---- lua-5.3.0/src/Makefile.am.autoxxx 2015-01-15 10:20:03.826889574 -0500
>>>>> -+++ lua-5.3.0/src/Makefile.am 2015-01-15 10:20:03.826889574 -0500
>>>>> -@@ -0,0 +1,46 @@
>>>>> -+AM_CFLAGS = -Wall
>>>>> -+
>>>>> -+include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
>>>>> -+
>>>>> -+nodist_include_HEADERS = luaconf.h
>>>>> -+
>>>>> -+lib_LTLIBRARIES = liblua.la
>>>>> -+liblua_la_LDFLAGS = -release @MAJOR_VERSION@
>>>>> -+liblua_la_SOURCES = \
>>>>> -+ lapi.c lauxlib.c lbaselib.c lbitlib.c lcode.c lcorolib.c lctype.c ldblib.c \
>>>>> -+ ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
>>>>> -+ loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
>>>>> -+ ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
>>>>> -+ lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
>>>>> -+ lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
>>>>> -+ lundump.h lvm.h lzio.h
>>>>> -+
>>>>> -+pkgconfigdir = $(libdir)/pkgconfig
>>>>> -+pkgconfig_DATA = lua.pc
>>>>> -+
>>>>> -+bin_PROGRAMS = lua luac
>>>>> -+
>>>>> -+lua_SOURCES = lua.c
>>>>> -+lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
>>>>> -+lua_DEPENDENCIES = liblua.la
>>>>> -+
>>>>> -+luac_SOURCES = luac.c
>>>>> -+# Statically link liblua against luac since luac uses symbols not exported in liblua
>>>>> -+luac_LDADD = .libs/liblua.a @LUA_LIBS@
>>>>> -+luac_DEPENDENCIES = liblua.la
>>>>> -+
>>>>> -+EXTRA_DIST = luaconf.h.template
>>>>> -+BUILT_SOURCES = luaconf.h
>>>>> -+CLEANFILES = luaconf.h luaconf.h.template
>>>>> -+
>>>>> -+readline_defs = @READLINE_DEFS@
>>>>> -+
>>>>> -+edit = sed \
>>>>> -+ -e 's,%prefix%,$(prefix),g' \
>>>>> -+ -e 's,%lua_datadir%,$(datadir),g' \
>>>>> -+ -e 's,%lua_libdir%,$(libdir),g'
>>>>> -+
>>>>> -+luaconf.h : luaconf.h.template
>>>>> -+ rm -f $@ $@.tmp
>>>>> -+ $(edit) $< >$@.tmp
>>>>> -+ mv $@.tmp $@
>>>>> diff --git a/src/patches/lua/lua-5.3.5-shared_library-1.patch b/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>>> deleted file mode 100644
>>>>> index 857fddc6c..000000000
>>>>> --- a/src/patches/lua/lua-5.3.5-shared_library-1.patch
>>>>> +++ /dev/null
>>>>> @@ -1,61 +0,0 @@
>>>>> -Submitted By: Igor Živković <contact(a)igor-zivkovic.from.hr>
>>>>> -Date: 2013-06-19
>>>>> -Initial Package Version: 5.2.2
>>>>> -Upstream Status: Rejected
>>>>> -Origin: Arch Linux packages repository
>>>>> -Description: Adds the compilation of a shared library.
>>>>> -
>>>>> -diff -Naur lua-5.3.0.orig/Makefile lua-5.3.0/Makefile
>>>>> ---- lua-5.3.0.orig/Makefile 2014-10-30 00:14:41.000000000 +0100
>>>>> -+++ lua-5.3.0/Makefile 2015-01-19 22:14:09.822290828 +0100
>>>>> -@@ -52,7 +52,7 @@
>>>>> - all: $(PLAT)
>>>>> -
>>>>> - $(PLATS) clean:
>>>>> -- cd src && $(MAKE) $@
>>>>> -+ cd src && $(MAKE) $@ V=$(V) R=$(R)
>>>>> -
>>>>> - test: dummy
>>>>> - src/lua -v
>>>>> -diff -Naur lua-5.3.0.orig/src/Makefile lua-5.3.0/src/Makefile
>>>>> ---- lua-5.3.0.orig/src/Makefile 2015-01-05 17:04:52.000000000 +0100
>>>>> -+++ lua-5.3.0/src/Makefile 2015-01-19 22:14:52.559378543 +0100
>>>>> -@@ -7,7 +7,7 @@
>>>>> - PLAT= none
>>>>> -
>>>>> - CC= gcc -std=gnu99
>>>>> --CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>>>>> -+CFLAGS= -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
>>>>> - LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
>>>>> - LIBS= -lm $(SYSLIBS) $(MYLIBS)
>>>>> -
>>>>> -@@ -29,6 +29,7 @@
>>>>> - PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
>>>>> -
>>>>> - LUA_A= liblua.a
>>>>> -+LUA_SO= liblua.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 +44,7 @@
>>>>> - 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.
>>>>> -@@ -59,6 +60,12 @@
>>>>> - $(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)
>>>>> -
>>>>> --
>>>>> 2.31.1
>>>>>
>>>> -Michael
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-04-26 10:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-20 20:59 [PATCH] lua: Update to 5.4.3 Adolf Belka
2021-04-22 16:34 ` Michael Tremer
2021-04-22 16:49 ` Adolf Belka
2021-04-22 16:51 ` Michael Tremer
2021-04-22 17:14 ` Adolf Belka
2021-04-26 10:19 ` Michael Tremer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox