From becdff9fe097e44335d0327d66d95133229f3862 Mon Sep 17 00:00:00 2001 From: Robert Scheck Date: Apr 23 2014 21:51:04 +0000 Subject: New upstream release --- diff --git a/.gitignore b/.gitignore index 9979c37..c6cc9aa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -luaexpat-1.1.tar.gz -/luaexpat-1.2.0.tar.gz +/luaexpat-1.*.tar.gz diff --git a/lua-expat-lua-5.2-test-fix.patch b/lua-expat-lua-5.2-test-fix.patch deleted file mode 100644 index b00506b..0000000 --- a/lua-expat-lua-5.2-test-fix.patch +++ /dev/null @@ -1,117 +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/lua-expat-lua-5.2.patch b/lua-expat-lua-5.2.patch deleted file mode 100644 index 53df2e4..0000000 --- a/lua-expat-lua-5.2.patch +++ /dev/null @@ -1,201 +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/lua-expat.spec b/lua-expat.spec index 19bf30c..8603044 100644 --- a/lua-expat.spec +++ b/lua-expat.spec @@ -3,18 +3,14 @@ %define luapkgdir %{_datadir}/lua/%{luaver} Name: lua-expat -Version: 1.2.0 -Release: 6%{?dist} +Version: 1.3.0 +Release: 1%{?dist} Summary: SAX XML parser based on the Expat library Group: Development/Libraries License: MIT URL: http://www.keplerproject.org/luaexpat/ Source0: http://matthewwild.co.uk/projects/luaexpat/luaexpat-%{version}.tar.gz -# http://code.matthewwild.co.uk/lua-expat/rev/e981a82571cf -Patch0: lua-expat-lua-5.2.patch -# http://code.matthewwild.co.uk/lua-expat/rev/b2a77ebe7aed -Patch1: lua-expat-lua-5.2-test-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: lua >= %{luaver}, lua-devel >= %{luaver} @@ -26,25 +22,18 @@ LuaExpat is a SAX XML parser based on the Expat library. %prep %setup -q -n luaexpat-%{version} -%patch0 -p1 -b .lua-52 -%patch1 -p1 -b .testfix %build -make %{?_smp_mflags} PREFIX=%{_prefix} LUA_LIBDIR=%{lualibdir} LUA_DIR=%{luapkgdir} LUA_INC=%{_includedir} EXPAT_INC=%{_includedir} CFLAGS="%{optflags} -fPIC" LUA_VERSION_NUM=501 -/usr/bin/iconv -f ISO8859-1 -t UTF8 README >README.UTF8 -mv -f README.UTF8 README +make %{?_smp_mflags} LUA_CDIR=%{lualibdir} LUA_LDIR=%{luapkgdir} LUA_INC=-I%{_includedir} EXPAT_INC=-I%{_includedir} CFLAGS="%{optflags} -fPIC" %install rm -rf %{buildroot} -make install PREFIX=%{_prefix} LUA_LIBDIR=%{buildroot}%{lualibdir} LUA_DIR=%{buildroot}%{luapkgdir} LUA_VERSION_NUM=501 +make install DESTDIR=%{buildroot} LUA_CDIR=%{lualibdir} LUA_LDIR=%{luapkgdir} INSTALL='install -p' %check -pushd src -ln -s lxp.so.* lxp.so -popd lua -e 'package.cpath="./src/?.so;"..package.cpath; dofile("tests/test.lua");' lua -e 'package.cpath="./src/?.so;" .. package.cpath; package.path="./src/?.lua;" .. package.path; dofile("tests/test-lom.lua");' @@ -60,6 +49,9 @@ rm -rf %{buildroot} %changelog +* Wed Apr 23 2014 Robert Scheck - 1.3.0-1 +- New upstream release + * Sat Aug 03 2013 Fedora Release Engineering - 1.2.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index 01c1424..eb478d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -03efe50c7f30a34580701e6527d7bfee luaexpat-1.2.0.tar.gz +3c20b5795e7107f847f8da844fbfe2da luaexpat-1.3.0.tar.gz