From fabe027157e2ef865954c77b4f295ca202b0355d Mon Sep 17 00:00:00 2001 From: vanhofen Date: Sat, 8 Sep 2018 05:39:08 +0200 Subject: [PATCH] - luaexpat: bump version to 1.3.0 --- archive-patches/luaexpat-1.3.0-lua-5.2.patch | 200 ------------------ .../luaexpat-lua-5.2-test-fix.patch | 116 ---------- archive-patches/luaexpat-makefile.diff | 39 ---- archive-patches/luaexpat-makefile.patch | 23 ++ make/archives.mk | 6 +- make/system-libs.mk | 24 +-- 6 files changed, 36 insertions(+), 372 deletions(-) delete mode 100644 archive-patches/luaexpat-1.3.0-lua-5.2.patch delete mode 100644 archive-patches/luaexpat-lua-5.2-test-fix.patch delete mode 100644 archive-patches/luaexpat-makefile.diff create mode 100644 archive-patches/luaexpat-makefile.patch diff --git a/archive-patches/luaexpat-1.3.0-lua-5.2.patch b/archive-patches/luaexpat-1.3.0-lua-5.2.patch deleted file mode 100644 index d8fbba8f..00000000 --- a/archive-patches/luaexpat-1.3.0-lua-5.2.patch +++ /dev/null @@ -1,200 +0,0 @@ - -# HG changeset patch -# User Tom?s Guisasola Gorham -# Date 1343430908 -3600 -# Node ID e981a82571cf5c54d5e84f73fbcad7214f699c03 -# Parent 5dfed844930e6ccd981d44290fe51d20255388bc -Add compatibility with Lua 5.2 - -diff -r 5dfed844930e -r e981a82571cf src/lxp/lom.lua ---- a/src/lxp/lom.lua Fri Jul 27 22:03:24 2012 +0100 -+++ b/src/lxp/lom.lua Sat Jul 28 00:15:08 2012 +0100 -@@ -1,13 +1,11 @@ - -- See Copyright Notice in license.html - -- $Id: lom.lua,v 1.6 2005/06/09 19:18:40 tuler Exp $ - --require "lxp" -+local lxp = require "lxp" - --local tinsert, tremove, getn = table.insert, table.remove, table.getn -+local tinsert, tremove = table.insert, table.remove - local assert, type, print = assert, type, print --local lxp = lxp - --module ("lxp.lom") - - local function starttag (p, tag, attr) - local stack = p:getcallbacks().stack -@@ -19,14 +17,14 @@ - local stack = p:getcallbacks().stack - local element = tremove(stack) - assert(element.tag == tag) -- local level = getn(stack) -+ local level = #stack - tinsert(stack[level], element) - end - - local function text (p, txt) - local stack = p:getcallbacks().stack -- local element = stack[getn(stack)] -- local n = getn(element) -+ local element = stack[#stack] -+ local n = #element - if type(element[n]) == "string" then - element[n] = element[n] .. txt - else -@@ -34,7 +32,7 @@ - end - end - --function parse (o) -+local function parse (o) - local c = { StartElement = starttag, - EndElement = endtag, - CharacterData = text, -@@ -47,7 +45,7 @@ - status, err = p:parse(o) - if not status then return nil, err end - else -- for l in o do -+ for l in pairs(o) do - status, err = p:parse(l) - if not status then return nil, err end - end -@@ -58,3 +56,4 @@ - return c.stack[1][1] - end - -+return { parse = parse } -diff -r 5dfed844930e -r e981a82571cf src/lxplib.c ---- a/src/lxplib.c Fri Jul 27 22:03:24 2012 +0100 -+++ b/src/lxplib.c Sat Jul 28 00:15:08 2012 +0100 -@@ -13,14 +13,16 @@ - - #include "lua.h" - #include "lauxlib.h" --#if ! defined (LUA_VERSION_NUM) || LUA_VERSION_NUM < 501 --#include "compat-5.1.h" --#endif - - - #include "lxplib.h" - - -+#if !defined(lua_pushliteral) -+#define lua_pushliteral(L, s) \ -+ lua_pushstring(L, "" s, (sizeof(s)/sizeof(char))-1) -+#endif -+ - - enum XPState { - XPSpre, /* parser just initialized */ -@@ -66,7 +68,7 @@ - - - static void lxpclose (lua_State *L, lxp_userdata *xpu) { -- lua_unref(L, xpu->tableref); -+ luaL_unref(L, LUA_REGISTRYINDEX, xpu->tableref); - xpu->tableref = LUA_REFNIL; - if (xpu->parser) - XML_ParserFree(xpu->parser); -@@ -225,7 +227,7 @@ - child->parser = XML_ExternalEntityParserCreate(p, context, NULL); - if (!child->parser) - luaL_error(L, "XML_ParserCreate failed"); -- lua_getref(L, xpu->tableref); /* child uses the same table of its father */ -+ lua_rawgeti(L, LUA_REGISTRYINDEX, xpu->tableref); /*lua_getref(L, xpu->tableref); */ /* child uses the same table of its father */ - child->tableref = luaL_ref(L, LUA_REGISTRYINDEX); - lua_pushstring(L, base); - lua_pushstring(L, systemId); -@@ -449,7 +451,7 @@ - xpu->state = XPSok; - xpu->b = &b; - lua_settop(L, 2); -- lua_getref(L, xpu->tableref); /* to be used by handlers */ -+ lua_rawgeti(L, LUA_REGISTRYINDEX, xpu->tableref); /*lua_getref(L, xpu->tableref);*/ /* to be used by handlers */ - status = XML_Parse(xpu->parser, s, (int)len, s == NULL); - if (xpu->state == XPSstring) dischargestring(xpu); - if (xpu->state == XPSerror) { /* callback error? */ -@@ -517,7 +519,12 @@ - return 1; - } - --static const struct luaL_reg lxp_meths[] = { -+#if !defined LUA_VERSION_NUM -+/* Lua 5.0 */ -+#define luaL_Reg luaL_reg -+#endif -+ -+static const struct luaL_Reg lxp_meths[] = { - {"parse", lxp_parse}, - {"close", lxp_close}, - {"__gc", parser_gc}, -@@ -530,7 +537,7 @@ - {NULL, NULL} - }; - --static const struct luaL_reg lxp_funcs[] = { -+static const struct luaL_Reg lxp_funcs[] = { - {"new", lxp_make_parser}, - {NULL, NULL} - }; -@@ -541,25 +548,48 @@ - */ - static void set_info (lua_State *L) { - lua_pushliteral (L, "_COPYRIGHT"); -- lua_pushliteral (L, "Copyright (C) 2003-2007 Kepler Project"); -+ lua_pushliteral (L, "Copyright (C) 2003-2012 Kepler Project"); - lua_settable (L, -3); - lua_pushliteral (L, "_DESCRIPTION"); - lua_pushliteral (L, "LuaExpat is a SAX XML parser based on the Expat library"); - lua_settable (L, -3); - lua_pushliteral (L, "_VERSION"); -- lua_pushliteral (L, "LuaExpat 1.2.0"); -+ lua_pushliteral (L, "LuaExpat 1.3.0"); - lua_settable (L, -3); - } - - -+#if !defined LUA_VERSION_NUM || LUA_VERSION_NUM==501 -+/* -+** Adapted from Lua 5.2.0 -+*/ -+static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) { -+ luaL_checkstack(L, nup, "too many upvalues"); -+ for (; l->name != NULL; l++) { /* fill the table with given functions */ -+ int i; -+ for (i = 0; i < nup; i++) /* copy upvalues to the top */ -+ lua_pushvalue(L, -nup); -+ lua_pushstring(L, l->name); -+ lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */ -+ lua_settable(L, -(nup + 3)); -+ } -+ lua_pop(L, nup); /* remove upvalues */ -+} -+#endif -+ -+ - int luaopen_lxp (lua_State *L) { -- luaL_newmetatable(L, ParserType); -- lua_pushliteral(L, "__index"); -- lua_pushvalue(L, -2); -- lua_rawset(L, -3); -- luaL_openlib (L, NULL, lxp_meths, 0); -- luaL_openlib (L, "lxp", lxp_funcs, 0); -- set_info (L); -+ luaL_newmetatable(L, ParserType); - -- return 1; -+ lua_pushliteral(L, "__index"); -+ lua_pushvalue(L, -2); -+ lua_rawset(L, -3); -+ -+ luaL_setfuncs (L, lxp_meths, 0); -+ lua_pop (L, 1); /* remove metatable */ -+ -+ lua_newtable (L); -+ luaL_setfuncs (L, lxp_funcs, 0); -+ set_info (L); -+ return 1; - } diff --git a/archive-patches/luaexpat-lua-5.2-test-fix.patch b/archive-patches/luaexpat-lua-5.2-test-fix.patch deleted file mode 100644 index 33f568bf..00000000 --- a/archive-patches/luaexpat-lua-5.2-test-fix.patch +++ /dev/null @@ -1,116 +0,0 @@ - -# HG changeset patch -# User Tom?s Guisasola Gorham -# Date 1343436760 -3600 -# Node ID b2a77ebe7aed73ef5318895dd8f34dcdece94114 -# Parent e981a82571cf5c54d5e84f73fbcad7214f699c03 -test.lua: Expand tests and add compatibility with Lua 5.2 - -diff -r e981a82571cf -r b2a77ebe7aed tests/test.lua ---- a/tests/test.lua Sat Jul 28 00:15:08 2012 +0100 -+++ b/tests/test.lua Sat Jul 28 01:52:40 2012 +0100 -@@ -2,8 +2,14 @@ - -- See Copyright Notice in license.html - -- $Id: test.lua,v 1.6 2006/06/08 20:34:52 tomas Exp $ - --require"lxp" -+if string.find(_VERSION, " 5.0") then -+ lxp = assert(loadlib("./lxp.so", "luaopen_lxp"))() -+else -+ lxp = require"lxp" -+ gcinfo = function () return collectgarbage"count" end -+end - print (lxp._VERSION) -+assert(lxp.new, "Cannot find function lxp.new ("..tostring(lxp.new)..")") - - -- basic test with no preamble - local p = lxp.new{} -@@ -35,15 +41,44 @@ - ]> - ]] - --local X --function getargs (...) X = arg end -+X = {} -+if string.find(_VERSION, " 5.0") then -+ function getargs (...) X = arg end -+ function xgetargs (c) -+ return function (...) -+ table.insert(arg, 1, c) -+ table.insert(X, arg) -+ end -+ end -+else -+ (loadstring or load)[[ -+ function getargs (...) -+ X = { ... } -+ X.n = select('#', ...) -+ end -+ function xgetargs (c) -+ return function (...) -+ local arg = { ... } -+ arg.n = select('#', ...) + 1 -+ table.insert(arg, 1, c) -+ table.insert(X, arg) -+ end -+ end -+ table.getn = function (t) -+ if t.n then -+ return t.n -+ else -+ local n = 0 -+ for i in pairs(t) do -+ if type(i) == "number" then -+ n = math.max(n, i) -+ end -+ end -+ return n -+ end -+ end]]() -+end - --function xgetargs (c) -- return function (...) -- table.insert(arg, 1, c) -- table.insert(X, arg) -- end --end - - - ------------------------------- -@@ -61,7 +96,7 @@ - assert(X.n == 3 and X[1] == p and X[2] == "to") - x = X[3] - assert(x.priority=="10" and x.xu=="hi" and x.method=="POST") --assert(x[1] == "priority" and x[2] == "xu" and table.getn(x) == 2) -+assert(x[1] == "priority" and x[2] == "xu" and table.getn(x) == 2, "x[1] == "..tostring(x[1])..", x[2] == "..tostring(x[2])..", #x == "..tostring(table.getn(x))) - assert(p:parse("")) - assert(p:parse()) - p:close() -@@ -95,7 +130,7 @@ - assert(p:parse"") - assert(p:parse"") - assert(table.getn(X) == 3) --assert(X[1][1] == "s" and X[1][2] == p) -+assert(X[1][1] == "s" and X[1][2] == p, "X[1][1] == "..tostring(X[1][1])..", X[1][2] == "..tostring(X[1][2])..", p == "..tostring(p)) - assert(X[2][1] == "c" and X[2][2] == p and X[2][3] == "hi") - assert(X[3][1] == "e" and X[3][2] == p) - assert(p:parse"") -@@ -220,7 +255,7 @@ - ]]) - p:close() - x = X[1] --assert(x[1] == "sn" and x[3] == "space" and x[4] == "a/namespace" and table.getn(x) == 4) -+assert(x[1] == "sn" and x[3] == "space" and x[4] == "a/namespace" and table.getn(x) == 4, "x[1] == "..tostring(x[1])..", x[3] == "..tostring(x[3])..", x[4] == "..tostring(x[4])..", #x == "..tostring(table.getn(x))) - x = X[3] - assert(x[1] == "s" and x[3] == "a/namespace?a") - x = X[4] -@@ -316,7 +351,7 @@ - local x = gcinfo() - for i=1,100000 do - -- due to a small bug in Lua... -- if math.mod(i, 100) == 0 then collectgarbage() end -+ if (math.mod or math.fmod)(i, 100) == 0 then collectgarbage() end - lxp.new({}) - end - collectgarbage(); collectgarbage() diff --git a/archive-patches/luaexpat-makefile.diff b/archive-patches/luaexpat-makefile.diff deleted file mode 100644 index 9cd85ad9..00000000 --- a/archive-patches/luaexpat-makefile.diff +++ /dev/null @@ -1,39 +0,0 @@ ---- /dev/null 2014-02-16 10:23:32.271000394 +0100 -+++ b/Makefile 2014-02-18 15:25:06.121294649 +0100 -@@ -0,0 +1,36 @@ -+CC ?= cc -+RM ?= rm -rf -+INSTALL ?= install -+INSTALL_PROGRAM ?= $(INSTALL) -+INSTALL_DATA ?= $(INSTALL) -m 644 -+LUA_V ?= 5.1 -+LUA_LDIR ?= /usr/share/lua/$(LUA_V) -+LUA_CDIR ?= /usr/lib/lua/$(LUA_V) -+T = lxp -+LIBNAME = $(T).so -+ -+COMMON_CFLAGS = -g -pedantic -Wall -O2 -shared -fPIC -DPIC -ansi -+LUA_INC ?= -I/usr/include/lua$(LUA_V) -+EXPAT_INC ?= -I/usr/include -+CF = $(LUA_INC) $(EXPAT_INC) $(COMMON_CFLAGS) $(CFLAGS) -+ -+EXPAT_LIB = -lexpat -+COMMON_LDFLAGS = -shared -+LF = $(COMMON_LDFLAGS) $(EXPAT_LIB) $(LDFLAGS) -+ -+OBJS = src/lxplib.o -+ -+lib: src/$(LIBNAME) -+ -+src/$(LIBNAME): -+ export MACOSX_DEPLOYMENT_TARGET="10.3"; -+ $(CC) $(CF) $(LF) -o $@ src/$(T)lib.c -+ -+install: -+ $(INSTALL_PROGRAM) -D src/$(LIBNAME) $(DESTDIR)$(LUA_CDIR)/$(LIBNAME) -+ $(INSTALL_PROGRAM) -D src/$T/lom.lua $(DESTDIR)$(LUA_LDIR)/$T/lom.lua -+ $(INSTALL_DATA) -D tests/test.lua $(DESTDIR)$(LUA_LDIR)/$T/tests/test.lua -+ $(INSTALL_DATA) -D tests/test-lom.lua $(DESTDIR)$(LUA_LDIR)/$T/tests/test-lom.lua -+ -+clean: -+ $(RM) src/$(LIBNAME) $(OBJS) diff --git a/archive-patches/luaexpat-makefile.patch b/archive-patches/luaexpat-makefile.patch new file mode 100644 index 00000000..aa78e27c --- /dev/null +++ b/archive-patches/luaexpat-makefile.patch @@ -0,0 +1,23 @@ +--- a/Makefile ++++ b/Makefile +@@ -3,15 +3,15 @@ + INSTALL ?= install + INSTALL_PROGRAM ?= $(INSTALL) + INSTALL_DATA ?= $(INSTALL) -m 644 +-LUA_V ?= 5.1 +-LUA_LDIR ?= /usr/share/lua/$(LUA_V) +-LUA_CDIR ?= /usr/lib/lua/$(LUA_V) ++LUA_V ?= 5.2 ++LUA_LDIR ?= $(PREFIX)/share/lua/$(LUA_V) ++LUA_CDIR ?= $(PREFIX)/lib/lua/$(LUA_V) + T = lxp + LIBNAME = $(T).so + + COMMON_CFLAGS = -g -pedantic -Wall -O2 -fPIC -DPIC -ansi +-LUA_INC ?= -I/usr/include/lua$(LUA_V) +-EXPAT_INC ?= -I/usr/include ++LUA_INC ?= -I$(PREFIX)/include ++EXPAT_INC ?= -I$(PREFIX)/include + CF = $(LUA_INC) $(EXPAT_INC) $(COMMON_CFLAGS) $(CFLAGS) + + EXPAT_LIB = -lexpat diff --git a/make/archives.mk b/make/archives.mk index a5161ee7..49a6a822 100644 --- a/make/archives.mk +++ b/make/archives.mk @@ -268,9 +268,9 @@ EXPAT_VER=2.2.6 $(ARCHIVE)/expat-$(EXPAT_VER).tar.bz2: $(WGET) http://sourceforge.net/projects/expat/files/expat/$(EXPAT_VER)/expat-$(EXPAT_VER).tar.bz2 -LUA_EXPAT_VER=1.2.0 -$(ARCHIVE)/luaexpat-$(LUA_EXPAT_VER).tar.gz: - $(WGET) http://matthewwild.co.uk/projects/luaexpat/luaexpat-$(LUA_EXPAT_VER).tar.gz +LUAEXPAT_VER=1.3.0 +$(ARCHIVE)/luaexpat-$(LUAEXPAT_VER).tar.gz: + $(WGET) http://matthewwild.co.uk/projects/luaexpat/luaexpat-$(LUAEXPAT_VER).tar.gz LUACURL_VER=v3 $(ARCHIVE)/Lua-cURL$(LUACURL_VER).tar.xz: diff --git a/make/system-libs.mk b/make/system-libs.mk index b9b3e631..58e56b94 100644 --- a/make/system-libs.mk +++ b/make/system-libs.mk @@ -485,20 +485,16 @@ $(D)/expat: $(ARCHIVE)/expat-$(EXPAT_VER).tar.bz2 | $(TARGET_DIR) # ----------------------------------------------------------------------------- -$(D)/luaexpat: $(ARCHIVE)/luaexpat-$(LUA_EXPAT_VER).tar.gz $(D)/expat $(D)/lua | $(TARGET_DIR) - $(REMOVE)/luaexpat-$(LUA_EXPAT_VER) - $(UNTAR)/luaexpat-$(LUA_EXPAT_VER).tar.gz - $(CHDIR)/luaexpat-$(LUA_EXPAT_VER); \ - rm makefile*; \ - $(PATCH)/luaexpat-makefile.diff; \ - $(PATCH)/luaexpat-1.3.0-lua-5.2.patch; \ - $(PATCH)/luaexpat-lua-5.2-test-fix.patch; \ - $(MAKE) \ - CC=$(TARGET)-gcc LUA_V=$(LUA_ABIVER) LDFLAGS="$(TARGET_LDFLAGS)" \ - LUA_INC=-I$(TARGET_INCLUDE_DIR) EXPAT_INC=-I$(TARGET_INCLUDE_DIR); \ - $(MAKE) install LUA_LDIR=$(TARGET_DIR)/share/lua/$(LUA_ABIVER) LUA_CDIR=$(TARGET_LIB_DIR)/lua/$(LUA_ABIVER) - rm -rf $(TARGET_DIR)/share/lua/$(LUA_ABIVER)/lxp/tests - $(REMOVE)/luaexpat-$(LUA_EXPAT_VER) +LUAEXPAT_PATCH = luaexpat-makefile.patch + +$(D)/luaexpat: $(D)/expat $(D)/lua $(ARCHIVE)/luaexpat-$(LUAEXPAT_VER).tar.gz | $(TARGET_DIR) + $(REMOVE)/luaexpat-$(LUAEXPAT_VER) + $(UNTAR)/luaexpat-$(LUAEXPAT_VER).tar.gz + $(CHDIR)/luaexpat-$(LUAEXPAT_VER); \ + $(call apply_patches, $(LUAEXPAT_PATCH)); \ + $(MAKE) CC=$(TARGET)-gcc LDFLAGS="$(TARGET_LDFLAGS)" PREFIX=$(TARGET_DIR); \ + $(MAKE) install DESTDIR=$(TARGET_DIR) + $(REMOVE)/luaexpat-$(LUAEXPAT_VER) $(TOUCH) # -----------------------------------------------------------------------------