Skip to contentSkip to conversation

lua: choice between 5.1.x & 5.2.x

PATCH Superseded Francois Perrad 3 participants 7 messages Jan 15, 2014 – Jan 17, 2014

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/3 lua: choice between 5.1.x & 5.2.x

---
 package/lua/{ => 5.1.5}/lua-01-root-path.patch     |    0
 .../{ => 5.1.5}/lua-02-shared-libs-for-lua.patch   |    0
 package/lua/{ => 5.1.5}/lua-11-linenoise.patch     |    0
 package/lua/5.2.3/lua-01-root-path.patch           |   17 +++++++++
 .../{ => 5.2.3}/lua-02-shared-libs-for-lua.patch   |   28 +++++++-------
 package/lua/5.2.3/lua-04-lua-pc.patch              |   40 ++++++++++++++++++++
 package/lua/{ => 5.2.3}/lua-11-linenoise.patch     |   22 ++++++-----
 package/lua/Config.in                              |   14 +++++++
 package/lua/lua.mk                                 |   18 ++++++++-
 package/luainterpreter/Config.in                   |    5 +++
 package/luainterpreter/luainterpreter.mk           |    2 +
 11 files changed, 121 insertions(+), 25 deletions(-)
 rename package/lua/{ => 5.1.5}/lua-01-root-path.patch (100%)
 copy package/lua/{ => 5.1.5}/lua-02-shared-libs-for-lua.patch (100%)
 copy package/lua/{ => 5.1.5}/lua-11-linenoise.patch (100%)
 create mode 100644 package/lua/5.2.3/lua-01-root-path.patch
 rename package/lua/{ => 5.2.3}/lua-02-shared-libs-for-lua.patch (59%)
 create mode 100644 package/lua/5.2.3/lua-04-lua-pc.patch
 rename package/lua/{ => 5.2.3}/lua-11-linenoise.patch (60%)
package/lua/5.1.5/lua-01-root-path.patch renamed from package/lua/lua-01-root-path.patch +0 -0
similarity index 100%
rename from package/lua/lua-01-root-path.patch
rename to package/lua/5.1.5/lua-01-root-path.patch
package/lua/5.1.5/lua-02-shared-libs-for-lua.patch renamed from package/lua/lua-02-shared-libs-for-lua.patch +0 -0
similarity index 100%
copy from package/lua/lua-02-shared-libs-for-lua.patch
copy to package/lua/5.1.5/lua-02-shared-libs-for-lua.patch
package/lua/5.1.5/lua-11-linenoise.patch renamed from package/lua/lua-11-linenoise.patch +0 -0
similarity index 100%
copy from package/lua/lua-11-linenoise.patch
copy to package/lua/5.1.5/lua-11-linenoise.patch
package/lua/5.2.3/lua-01-root-path.patch new file +17 -0
new file mode 100644
index 0000000..c6f242c
@@ -0,0 +1,17 @@
+Adjust installation location to /usr.
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/src/luaconf.h
+===================================================================
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -100,7 +100,7 @@
+ #else			/* }{ */
+ 
+ #define LUA_VDIR	LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/"
+-#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
+ #define LUA_PATH_DEFAULT  \
package/lua/5.2.3/lua-02-shared-libs-for-lua.patch renamed from package/lua/lua-02-shared-libs-for-lua.patch +14 -14
similarity index 59%
rename from package/lua/lua-02-shared-libs-for-lua.patch
rename to package/lua/5.2.3/lua-02-shared-libs-for-lua.patch
index 97a7068..4679325 100644
@@ -7,43 +7,43 @@ Index: b/src/Makefile
 ===================================================================
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -23,6 +23,7 @@
+@@ -29,6 +29,7 @@
  PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
  
  LUA_A=	liblua.a
 +LUA_SO=	liblua.so
- CORE_O=	lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
- 	lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o  \
- 	lundump.o lvm.o lzio.o
-@@ -36,8 +37,9 @@
- LUAC_O=	luac.o print.o
+ 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,8 +44,9 @@
+ LUAC_O=	luac.o
  
- ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
+ ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
 -ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
 +ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
  ALL_A= $(LUA_A)
 +ALL_SO= $(LUA_SO)
  
+ # Targets start here.
  default: $(PLAT)
- 
-@@ -47,12 +49,18 @@
+@@ -55,12 +57,18 @@
  
  a:	$(ALL_A)
  
 +so:	$(ALL_SO)
 +
- $(LUA_A): $(CORE_O) $(LIB_O)
- 	$(AR) $@ $(CORE_O) $(LIB_O)	# DLL needs all object files
+ $(LUA_A): $(BASE_O)
+ 	$(AR) $@ $(BASE_O)
  	$(RANLIB) $@
  
 -$(LUA_T): $(LUA_O) $(LUA_A)
--	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+-	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
 +$(LUA_SO): $(CORE_O) $(LIB_O)
 +	$(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
 +	ln -fs $@.$(PKG_VERSION) $@
 +
 +$(LUA_T): $(LUA_O) $(LUA_SO)
-+	$(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
++	$(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS)
  
  $(LUAC_T): $(LUAC_O) $(LUA_A)
- 	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+ 	$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
package/lua/5.2.3/lua-04-lua-pc.patch new file +40 -0
new file mode 100644
index 0000000..62acb20
@@ -0,0 +1,40 @@
+add lua.pc
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/etc/lua.pc
+===================================================================
+--- /dev/null
++++ b/etc/lua.pc
+@@ -0,0 +1,31 @@
++# lua.pc -- pkg-config data for Lua
++
++# vars from install Makefile
++
++# grep '^V=' ../Makefile
++V= 5.2
++# grep '^R=' ../Makefile
++R= 5.2.3
++
++# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
++prefix= /usr
++INSTALL_BIN= ${prefix}/bin
++INSTALL_INC= ${prefix}/include
++INSTALL_LIB= ${prefix}/lib
++INSTALL_MAN= ${prefix}/man/man1
++INSTALL_LMOD= ${prefix}/share/lua/${V}
++INSTALL_CMOD= ${prefix}/lib/lua/${V}
++
++# canonical vars
++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
++Cflags: -I${includedir}
++
++# (end of lua.pc)
package/lua/5.2.3/lua-11-linenoise.patch renamed from package/lua/lua-11-linenoise.patch +12 -10
similarity index 60%
rename from package/lua/lua-11-linenoise.patch
rename to package/lua/5.2.3/lua-11-linenoise.patch
index 488c080..b1f228c 100644
@@ -4,21 +4,23 @@ see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html
 
 Signed-off-by: Francois Perrad <[email protected]>
 
-Index: b/src/luaconf.h
+Index: b/src/lua.c
 ===================================================================
---- a/src/luaconf.h
-+++ b/src/luaconf.h
-@@ -279,6 +279,13 @@
- 	if (lua_strlen(L,idx) > 0)  /* non-empty line? */ \
- 	  add_history(lua_tostring(L, idx));  /* add it to history */
+--- a/src/lua.c
++++ b/src/lua.c
+@@ -72,6 +72,15 @@
+           add_history(lua_tostring(L, idx));  /* add it to history */
  #define lua_freeline(L,b)	((void)L, free(b))
+ 
 +#elif defined(LUA_USE_LINENOISE)
++
 +#include <linenoise.h>
 +#define lua_readline(L,b,p)	((void)L, ((b)=linenoise(p)) != NULL)
 +#define lua_saveline(L,idx) \
-+	if (lua_strlen(L,idx) > 0)  /* non-empty line? */ \
++	if (lua_rawlen(L,idx) > 0)  /* non-empty line? */ \
 +	  linenoiseHistoryAdd(lua_tostring(L, idx));  /* add it to history */
 +#define lua_freeline(L,b)	((void)L, free(b))
- #else
- #define lua_readline(L,b,p)	\
- 	((void)L, fputs(p, stdout), fflush(stdout),  /* show prompt */ \
++
+ #elif !defined(lua_readline)
+ 
+ #define lua_readline(L,b,p) \
package/lua/Config.in +14 -0
index b96ef0e..9b8b6f1 100644
@@ -12,6 +12,20 @@ config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER
 	default "lua"
 
 choice
+	prompt "Lua Version"
+	default BR2_PACKAGE_LUA_5_1
+	help
+	  Select the version of Lua API/ABI you wish to use.
+
+	config BR2_PACKAGE_LUA_5_1
+		bool "Lua 5.1.x"
+
+	config BR2_PACKAGE_LUA_5_2
+		bool "Lua 5.2.x"
+
+endchoice
+
+choice
 	prompt "Lua Interpreter command-line editing"
 	default BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE
 
package/lua/lua.mk +17 -1
index a88a11e..2c867f6 100644
@@ -4,7 +4,11 @@
 #
 ################################################################################
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+LUA_VERSION = 5.2.3
+else
 LUA_VERSION = 5.1.5
+endif
 LUA_SITE = http://www.lua.org/ftp
 LUA_INSTALL_STAGING = YES
 LUA_LICENSE = MIT
@@ -13,6 +17,13 @@ LUA_LICENSE_FILES = COPYRIGHT
 LUA_CFLAGS = -Wall -fPIC
 LUA_MYLIBS += -ldl
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+LUA_CFLAGS += -DLUA_COMPAT_ALL
+ifneq ($(BR2_LARGEFILE),y)
+LUA_CFLAGS += -D_FILE_OFFSET_BITS=32
+endif
+endif
+
 ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
 	LUA_DEPENDENCIES = readline ncurses
 	LUA_MYLIBS += -lreadline -lhistory -lncurses
@@ -33,6 +44,10 @@ HOST_LUA_DEPENDENCIES =
 HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX
 HOST_LUA_MYLIBS = -ldl
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+HOST_LUA_CFLAGS += -DLUA_COMPAT_ALL
+endif
+
 define LUA_BUILD_CMDS
 	$(MAKE) \
 	CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
@@ -70,7 +85,8 @@ define LUA_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
 		$(TARGET_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
 	ln -sf liblua.so.$(LUA_VERSION) $(TARGET_DIR)/usr/lib/liblua.so
-	$(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(TARGET_DIR)/usr/lib/liblua.a
+	mkdir -p $(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER)
+	mkdir -p $(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)
 endef
 
 define HOST_LUA_INSTALL_CMDS
package/luainterpreter/Config.in +5 -0
index 1562145..ec51c1a 100644
@@ -4,3 +4,8 @@ config BR2_PACKAGE_HAS_LUA_INTERPRETER
 config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER
 	string
 	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+
+config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
+	string
+	default "5.1"	if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT
+	default "5.2"	if BR2_PACKAGE_LUA_5_2
package/luainterpreter/luainterpreter.mk +2 -0
index 04d63d4..c37d621 100644
@@ -7,4 +7,6 @@
 LUAINTERPRETER_SOURCE =
 LUAINTERPRETER_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LUA_INTERPRETER))
 
+LUAINTERPRETER_ABIVER = $(call qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION))
+
 $(eval $(generic-package))
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 2/3 lua-modules: choice between Lua 5.1.x & Lua 5.2.x

---
 package/lbase64/Config.in                        |    4 ++++
 package/lua-ev/lua-ev.mk                         |    2 +-
 package/lua-msgpack-native/Config.in             |    4 ++++
 package/lua-msgpack-native/lua-msgpack-native.mk |    3 ++-
 package/luaexpat/Config.in                       |    4 ++++
 package/luaexpatutils/Config.in                  |    4 ++++
 package/luaexpatutils/luaexpatutils.mk           |    2 +-
 package/luaposix/Config.in                       |    2 +-
 package/luaposix/luaposix.mk                     |    2 +-
 package/luarocks/luarocks.mk                     |    4 ++--
 package/luasec/Config.in                         |    4 ++++
 11 files changed, 28 insertions(+), 7 deletions(-)
package/lbase64/Config.in +4 -0
index ca9dd5d..4593ab9 100644
@@ -1,7 +1,11 @@
 config BR2_PACKAGE_LBASE64
 	bool "lbase64"
 	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+	depends on !BR2_PACKAGE_LUA_5_2
 	help
 	  A base64 library for Lua
 
 	  http://luaforge.net/projects/lbase64/
+
+comment "lbase64 needs a Lua 5.1 interpreter"
+	depends on BR2_PACKAGE_LUA_5_2
package/lua-ev/lua-ev.mk +1 -1
index 1236d77..1b10a80 100644
@@ -9,6 +9,6 @@ LUA_EV_SITE = $(call github,brimworks,lua-ev,$(LUA_EV_VERSION))
 LUA_EV_DEPENDENCIES = luainterpreter libev
 LUA_EV_LICENSE = MIT
 LUA_EV_LICENSE_FILES = README
-LUA_EV_CONF_OPT = -DINSTALL_CMOD="/usr/lib/lua/5.1"
+LUA_EV_CONF_OPT = -DINSTALL_CMOD="/usr/lib/lua/$(LUAINTERPRETER_ABIVER)"
 
 $(eval $(cmake-package))
package/lua-msgpack-native/Config.in +4 -0
index 1014298..498b30c 100644
@@ -1,8 +1,12 @@
 config BR2_PACKAGE_LUA_MSGPACK_NATIVE
 	bool "lua-msgpack-native"
 	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+	depends on !BR2_PACKAGE_LUA_5_2
 	help
 	  This is a native, C language implementation of msgpack
 	  (http://msgpack.org) library/protocol for Lua language
 
 	  https://github.com/kengonakajima/lua-msgpack-native
+
+comment "lua-msgpack-native needs a Lua 5.1 interpreter"
+	depends on BR2_PACKAGE_LUA_5_2
package/lua-msgpack-native/lua-msgpack-native.mk +2 -1
index d4547ae..ceb453d 100644
@@ -15,7 +15,8 @@ define LUA_MSGPACK_NATIVE_BUILD_CMDS
 endef
 
 define LUA_MSGPACK_NATIVE_INSTALL_TARGET_CMDS
-	$(INSTALL) -m 755 -D $(@D)/msgpack.so $(TARGET_DIR)/usr/lib/lua/5.1/msgpack.so
+	$(INSTALL) -m 755 -D $(@D)/msgpack.so \
+		$(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER)/msgpack.so
 endef
 
 $(eval $(generic-package))
package/luaexpat/Config.in +4 -0
index f8db318..f1bd15d 100644
@@ -2,7 +2,11 @@ config BR2_PACKAGE_LUAEXPAT
 	bool "luaexpat"
 	select BR2_PACKAGE_EXPAT
 	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+	depends on !BR2_PACKAGE_LUA_5_2
 	help
 	  LuaExpat is a SAX XML parser based on the Expat library.
 
 	  http://matthewwild.co.uk/projects/luaexpat/
+
+comment "LuaExpat needs a Lua 5.1 interpreter"
+	depends on BR2_PACKAGE_LUA_5_2
package/luaexpatutils/Config.in +4 -0
index cb2887a..9b406c8 100644
@@ -1,8 +1,12 @@
 config BR2_PACKAGE_LUAEXPATUTILS
 	bool "luaexpatutils"
 	select BR2_PACKAGE_LUAEXPAT
+	depends on !BR2_PACKAGE_LUA_5_2
 	help
 	  lxp.doc is a module that provides useful features for working with
 	  XML formats in LOM format as used by the LuaExpat project from Kepler.
 
 	  https://github.com/stevedonovan/LuaExpatUtils
+
+comment "LuaExpatUtils needs a Lua 5.1 interpreter"
+	depends on BR2_PACKAGE_LUA_5_2
package/luaexpatutils/luaexpatutils.mk +1 -1
index 93cf621..9bfc654 100644
@@ -11,7 +11,7 @@ LUAEXPATUTILS_DEPENDENCIES = luaexpat
 
 define LUAEXPATUTILS_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0644 -D $(@D)/lua/doc.lua \
-		$(TARGET_DIR)/usr/share/lua/5.1/lxp/doc.lua
+		$(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)/lxp/doc.lua
 endef
 
 $(eval $(generic-package))
package/luaposix/Config.in +1 -1
index cad6fe9..a95c825 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_LUAPOSIX
 	bool "luaposix"
 	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
-	select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA
+	select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1
 	# LuaBitOp is already included in LuaJIT
 	help
 	  luaposix is a POSIX binding, including curses, for Lua 5.1
package/luaposix/luaposix.mk +1 -1
index b018995..77f5e62 100644
@@ -10,7 +10,7 @@ LUAPOSIX_SOURCE = release-v$(LUAPOSIX_VERSION).tar.gz
 LUAPOSIX_LICENSE = MIT
 LUAPOSIX_LICENSE_FILES = COPYING
 LUAPOSIX_DEPENDENCIES = luainterpreter host-lua
-LUAPOSIX_CONF_OPT = --libdir="/usr/lib/lua/5.1" --datarootdir="/usr/share/lua/5.1"
+LUAPOSIX_CONF_OPT = --libdir="/usr/lib/lua/$(LUAINTERPRETER_ABIVER)" --datarootdir="/usr/share/lua/$(LUAINTERPRETER_ABIVER)"
 
 ifeq ($(BR2_PACKAGE_NCURSES),y)
     LUAPOSIX_DEPENDENCIES += ncurses
package/luarocks/luarocks.mk +2 -2
index 6cfd92e..88ab22a 100644
@@ -12,7 +12,7 @@ LUAROCKS_LICENSE_FILES = COPYING
 HOST_LUAROCKS_DEPENDENCIES = host-lua luainterpreter
 
 LUAROCKS_CONFIG_DIR  = $(HOST_DIR)/usr/etc/luarocks
-LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/config-5.1.lua
+LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/config-$(LUAINTERPRETER_ABIVER).lua
 
 define HOST_LUAROCKS_CONFIGURE_CMDS
 	cd $(@D) && ./configure \
@@ -41,5 +41,5 @@ endef
 
 $(eval $(host-generic-package))
 
-LUAROCKS_RUN = LUA_PATH="$(HOST_DIR)/usr/share/lua/5.1/?.lua" \
+LUAROCKS_RUN = LUA_PATH="$(HOST_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)/?.lua" \
 	$(HOST_DIR)/usr/bin/lua $(HOST_DIR)/usr/bin/luarocks
package/luasec/Config.in +4 -0
index ed55df7..54e1842 100644
@@ -3,8 +3,12 @@ config BR2_PACKAGE_LUASEC
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LUASOCKET
 	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+	depends on !BR2_PACKAGE_LUA_5_2
 	help
 	  LuaSec is a binding for OpenSSL library to provide TLS/SSL
 	  communication.
 
 	  http://www.inf.puc-rio.br/~brunoos/luasec/
+
+comment "LuaSec needs a Lua 5.1 interpreter"
+	depends on BR2_PACKAGE_LUA_5_2
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v2 2/3 lua-modules: choice between Lua 5.1.x & Lua 5.2.x

On 15/01/14 20:54, Francois Perrad wrote:
[snip]

Quoted 5 lines
package/luaexpat/Config.in +0 -0
index f8db318..f1bd15d 100644

package/luaexpat/Config.in config BR2_PACKAGE_LUAEXPAT · line 11

Quoted 10 lines
package/luaexpat/Config.in +3 -0
@@ -2,7 +2,11 @@ config BR2_PACKAGE_LUAEXPAT
  	bool "luaexpat"
  	select BR2_PACKAGE_EXPAT
  	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+	depends on !BR2_PACKAGE_LUA_5_2
  	help
  	  LuaExpat is a SAX XML parser based on the Expat library.
 
  	http://matthewwild.co.uk/projects/luaexpat/
+
+comment "LuaExpat needs a Lua 5.1 interpreter"

Capitalization should be the same as in the normal config symbol, i.e.
luaexpat instead of LuaExpat.

Personally I would be in favour of changing our coding style to use the
upstream capitalization for the user-visible text, but that's not how it is done now... But it certainly should be consistent between the config symbol and the comment.

Regards,
Arnout

Quoted 1 line
package/luaexpat/Config.in +1 -0
+	depends on BR2_PACKAGE_LUA_5_2
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#3 lore raw

PATCH v2 2/3 lua-modules: choice between Lua 5.1.x & Lua 5.2.x

2014/1/16 Arnout Vandecappelle <[email protected]>:

Quoted 15 lines · Francois Perrad

[snip]

Quoted 12 lines
package/luaexpat/Config.in +1 -0
index f8db318..f1bd15d 100644
@@ -2,7 +2,11 @@ config BR2_PACKAGE_LUAEXPAT
        bool "luaexpat"
        select BR2_PACKAGE_EXPAT
        depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+       depends on !BR2_PACKAGE_LUA_5_2
        help
          LuaExpat is a SAX XML parser based on the Expat library.
 
Quoted 7 lines

package/luaexpat/Config.in config BR2_PACKAGE_LUAEXPAT · line 11

Quoted 3 lines
package/luaexpat/Config.in +2 -0
        http://matthewwild.co.uk/projects/luaexpat/
+
+comment "LuaExpat needs a Lua 5.1 interpreter"

Capitalization should be the same as in the normal config symbol, i.e.
luaexpat instead of LuaExpat.

Ok.

Fran?ois

Quoted 26 lines

Personally I would be in favour of changing our coding style to use the
upstream capitalization for the user-visible text, but that's not how it is done now... But it certainly should be consistent between the config symbol and the comment.

Regards,
Arnout

package/luaexpat/Config.in config BR2_PACKAGE_LUAEXPAT · line 12

Quoted 1 line
package/luaexpat/Config.in +1 -0
+       depends on BR2_PACKAGE_LUA_5_2

--

Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#4 lore raw

PATCH v2 3/3 lua: add an upstream patch

In reply to Francois Perrad

from http://www.lua.org/bugs.html

---
 package/lua/5.1.5/lua-12-fix-reader-at-eoz.patch |   46 ++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 package/lua/5.1.5/lua-12-fix-reader-at-eoz.patch
package/lua/5.1.5/lua-12-fix-reader-at-eoz.patch new file +46 -0
new file mode 100644
index 0000000..17a28ba
@@ -0,0 +1,46 @@
+When loading a file, Lua may call the reader function again after it returned end of input.
+
+Fetch from: http://www.lua.org/bugs.html#5.1.5-2
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/src/lzio.c
+===================================================================
+--- a/src/lzio.c
++++ b/src/lzio.c
+@@ -22,10 +22,14 @@
+   size_t size;
+   lua_State *L = z->L;
+   const char *buff;
++  if (z->eoz) return EOZ;
+   lua_unlock(L);
+   buff = z->reader(L, z->data, &size);
+   lua_lock(L);
+-  if (buff == NULL || size == 0) return EOZ;
++  if (buff == NULL || size == 0) {
++    z->eoz = 1;  /* avoid calling reader function next time */
++    return EOZ;
++  }
+   z->n = size - 1;
+   z->p = buff;
+   return char2int(*(z->p++));
+@@ -51,6 +55,7 @@
+   z->data = data;
+   z->n = 0;
+   z->p = NULL;
++  z->eoz = 0;
+ }
+ 
+ 
+Index: b/src/lzio.h
+===================================================================
+--- a/src/lzio.h
++++ b/src/lzio.h
+@@ -59,6 +59,7 @@
+   lua_Reader reader;
+   void* data;			/* additional data */
+   lua_State *L;			/* Lua state (for reader) */
++  int eoz;			/* true if reader has no more data */
+ };
+ 
+ 
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH v2 1/3 lua: choice between 5.1.x & 5.2.x

In reply to Francois Perrad
Quoted 2 lines · Francois Perrad

[snip]

package/lua/5.2.3/lua-04-lua-pc.patch line 1

Quoted 7 lines
package/lua/5.2.3/lua-04-lua-pc.patch new file +1 -0
new file mode 100644
index 0000000..62acb20
@@ -0,0 +1,40 @@
+add lua.pc

So they had a .pc file, and now they removed it? How weird...

[snip]

Quoted 37 lines
package/lua/lua.mk +14 -0
index a88a11e..2c867f6 100644
@@ -4,7 +4,11 @@
  #
  ################################################################################
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+LUA_VERSION = 5.2.3
+else
  LUA_VERSION = 5.1.5
+endif
  LUA_SITE = http://www.lua.org/ftp
  LUA_INSTALL_STAGING = YES
  LUA_LICENSE = MIT
@@ -13,6 +17,13 @@ LUA_LICENSE_FILES = COPYRIGHT
  LUA_CFLAGS = -Wall -fPIC
  LUA_MYLIBS += -ldl
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+LUA_CFLAGS += -DLUA_COMPAT_ALL
+ifneq ($(BR2_LARGEFILE),y)
+LUA_CFLAGS += -D_FILE_OFFSET_BITS=32
+endif
+endif
+
  ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
  	LUA_DEPENDENCIES = readline ncurses
  	LUA_MYLIBS += -lreadline -lhistory -lncurses
@@ -33,6 +44,10 @@ HOST_LUA_DEPENDENCIES =
  HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX
  HOST_LUA_MYLIBS = -ldl
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+HOST_LUA_CFLAGS += -DLUA_COMPAT_ALL
+endif

[snip]

package/luainterpreter/Config.in config BR2_PACKAGE_HAS_LUA_INTERPRETER · line 11

Quoted 13 lines
package/luainterpreter/Config.in +5 -0
index 1562145..ec51c1a 100644
@@ -4,3 +4,8 @@ config BR2_PACKAGE_HAS_LUA_INTERPRETER
  config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER
  	string
  	depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+
+config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
+	string
+	default "5.1"	if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT
+	default "5.2"	if BR2_PACKAGE_LUA_5_2

Sorry, not OK. It should be split over the three packages.

In luainterpreter/Config.in:

config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
string

In lua/Config.in (inside the LUA condition):

config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION

	default "5.1" if BR2_PACKAGE_LUA_5_1
	default "5.2" if BR2_PACKAGE_LUA_5_2

In luajit/Config.in:

config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION

	default "5.1"

Regards,
Arnout

Quoted 12 lines
package/luainterpreter/luainterpreter.mk +2 -0
index 04d63d4..c37d621 100644
@@ -7,4 +7,6 @@
  LUAINTERPRETER_SOURCE =
  LUAINTERPRETER_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LUA_INTERPRETER))
 
+LUAINTERPRETER_ABIVER = $(call qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION))
+
  $(eval $(generic-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#6 lore raw

PATCH v2 1/3 lua: choice between 5.1.x & 5.2.x

2014/1/16 Arnout Vandecappelle <[email protected]>:

Quoted 7 lines · Francois Perrad
Quoted 3 lines

[snip]

Quoted 12 lines

package/lua/5.2.3/lua-04-lua-pc.patch line 1

Quoted 8 lines
package/lua/5.2.3/lua-04-lua-pc.patch new file +1 -0
new file mode 100644
index 0000000..62acb20
@@ -0,0 +1,40 @@
+add lua.pc

So they had a .pc file, and now they removed it? How weird...

Yes, :)

Quoted 72 lines

[snip]

Quoted 38 lines
package/lua/lua.mk +4 -0
index a88a11e..2c867f6 100644
@@ -4,7 +4,11 @@
  #
 
 ################################################################################
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+LUA_VERSION = 5.2.3
+else
  LUA_VERSION = 5.1.5
+endif
  LUA_SITE = http://www.lua.org/ftp
  LUA_INSTALL_STAGING = YES

LUA_LICENSE = MIT

package/lua/lua.mk +10 -0
@@ -13,6 +17,13 @@ LUA_LICENSE_FILES = COPYRIGHT
  LUA_CFLAGS = -Wall -fPIC
  LUA_MYLIBS += -ldl
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+LUA_CFLAGS += -DLUA_COMPAT_ALL
+ifneq ($(BR2_LARGEFILE),y)
+LUA_CFLAGS += -D_FILE_OFFSET_BITS=32
+endif
+endif
+
  ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
        LUA_DEPENDENCIES = readline ncurses
        LUA_MYLIBS += -lreadline -lhistory -lncurses
@@ -33,6 +44,10 @@ HOST_LUA_DEPENDENCIES =
  HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX
  HOST_LUA_MYLIBS = -ldl
 
+ifeq ($(BR2_PACKAGE_LUA_5_2),y)
+HOST_LUA_CFLAGS += -DLUA_COMPAT_ALL
+endif

[snip]

Quoted 6 lines
package/luainterpreter/Config.in +0 -0
index 1562145..ec51c1a 100644

package/luainterpreter/Config.in config BR2_PACKAGE_HAS_LUA_INTERPRETER · line 11

Quoted 8 lines
package/luainterpreter/Config.in +5 -0
@@ -4,3 +4,8 @@ config BR2_PACKAGE_HAS_LUA_INTERPRETER
  config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER
        string
        depends on BR2_PACKAGE_HAS_LUA_INTERPRETER
+
+config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
+       string
+       default "5.1"   if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT
+       default "5.2"   if BR2_PACKAGE_LUA_5_2

Sorry, not OK. It should be split over the three packages.

In luainterpreter/Config.in:

config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
string

In lua/Config.in (inside the LUA condition):

config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION

Quoted 9 lines
        default "5.1" if BR2_PACKAGE_LUA_5_1
        default "5.2" if BR2_PACKAGE_LUA_5_2

In luajit/Config.in:

config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION

        default "5.1"

Ok

Fran?ois

Quoted 33 lines

Regards,
Arnout

Quoted 11 lines
package/luainterpreter/luainterpreter.mk +1 -0
index 04d63d4..c37d621 100644
@@ -7,4 +7,6 @@
  LUAINTERPRETER_SOURCE =
  LUAINTERPRETER_DEPENDENCIES = $(call
 qstrip,$(BR2_PACKAGE_PROVIDES_LUA_INTERPRETER))
 
+LUAINTERPRETER_ABIVER = $(call
Quoted 4 lines

qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION))
+
$(eval $(generic-package))

--

Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot