diff options
author | David Seifert <soap@gentoo.org> | 2019-06-16 17:00:52 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2019-06-16 17:00:52 +0200 |
commit | 795a587235c11f13c183e2ee4277322f3ac8e8af (patch) | |
tree | d8f679ef45d3313bcea062b3b40927846c132639 /dev-lua/toluapp | |
parent | dev-python/pyGPG: Remove old (diff) | |
download | gentoo-795a587235c11f13c183e2ee4277322f3ac8e8af.tar.gz gentoo-795a587235c11f13c183e2ee4277322f3ac8e8af.tar.bz2 gentoo-795a587235c11f13c183e2ee4277322f3ac8e8af.zip |
dev-lua/toluapp: Fix packaging and drop lua 5.3 patches
Closes: https://bugs.gentoo.org/688070
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'dev-lua/toluapp')
-rw-r--r-- | dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch | 3 | ||||
-rw-r--r-- | dev-lua/toluapp/files/toluapp-1.0.93_p20190513-lua5.3.patch | 534 | ||||
-rw-r--r-- | dev-lua/toluapp/toluapp-1.0.93_p20190513-r1.ebuild (renamed from dev-lua/toluapp/toluapp-1.0.93_p20190513.ebuild) | 3 |
3 files changed, 3 insertions, 537 deletions
diff --git a/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch b/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch index 21ebc4992382..b8f1cd3759ff 100644 --- a/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch +++ b/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch @@ -18,7 +18,7 @@ 1 ) # Build app -@@ -27,10 +27,11 @@ +@@ -27,10 +27,12 @@ set ( SRC_TOLUA src/bin/tolua.c src/bin/toluabind.c ) add_executable ( toluapp ${SRC_TOLUA} ) target_link_libraries ( toluapp toluapp_lib ${LUA_LIBRARIES} ) @@ -35,3 +35,4 @@ +install( DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) +install( FILES README DESTINATION ${CMAKE_INSTALL_DOCDIR} ) +install( DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR}/html ) ++install( DIRECTORY src/bin/lua/ DESTINATION ${CMAKE_INSTALL_DATADIR}/toluapp/luapp ) diff --git a/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-lua5.3.patch b/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-lua5.3.patch deleted file mode 100644 index 4da3e33e7fec..000000000000 --- a/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-lua5.3.patch +++ /dev/null @@ -1,534 +0,0 @@ -Taken from https://aur.archlinux.org/cgit/aur.git/tree/tolua53.patch?h=tolua%2b%2b_5.3 -and slimmed down - ---- a/src/bin/lua/all.lua -+++ b/src/bin/lua/all.lua -@@ -1,8 +1,8 @@ - dofile(path.."compat-5.1.lua") - dofile(path.."compat.lua") --dofile(path.."basic.lua") - dofile(path.."feature.lua") - dofile(path.."verbatim.lua") -+dofile(path.."basic.lua") - dofile(path.."code.lua") - dofile(path.."typedef.lua") - dofile(path.."container.lua") ---- a/src/bin/lua/basic.lua -+++ b/src/bin/lua/basic.lua -@@ -75,8 +75,8 @@ - end - - function applyrenaming (s) -- for i=1,getn(_renaming) do -- local m,n = gsub(s,_renaming[i].old,_renaming[i].new) -+ for i,v in ipairs(_renaming) do -+ local m,n = gsub(s,v.old,v.new) - if n ~= 0 then - return m - end -@@ -252,7 +252,8 @@ - -- concatenate all parameters, following output rules - function concatparam (line, ...) - local i=1 -- while i<=arg.n do -+ local arg={...} -+ while i<=#arg do - if _cont and not strfind(_cont,'[%(,"]') and - strfind(arg[i],"^[%a_~]") then - line = line .. ' ' -@@ -263,7 +264,7 @@ - end - i = i+1 - end -- if strfind(arg[arg.n],"[%/%)%;%{%}]$") then -+ if strfind(arg[#arg],"[%/%)%;%{%}]$") then - _cont=nil line = line .. '\n' - end - return line -@@ -272,7 +273,8 @@ - -- output line - function output (...) - local i=1 -- while i<=arg.n do -+ local arg = {...} -+ while i<=#arg do - if _cont and not strfind(_cont,'[%(,"]') and - strfind(arg[i],"^[%a_~]") then - write(' ') -@@ -283,7 +285,7 @@ - end - i = i+1 - end -- if strfind(arg[arg.n],"[%/%)%;%{%}]$") then -+ if strfind(arg[#arg],"[%/%)%;%{%}]$") then - _cont=nil write('\n') - end - end -@@ -373,9 +375,10 @@ - - end - -+ - -- called to output an error message - function output_error_hook(...) -- return string.format(...) -+ return string.format(table.unpack{...}) - end - - -- custom pushers ---- a/src/bin/lua/class.lua -+++ b/src/bin/lua/class.lua -@@ -92,7 +92,7 @@ - self.btype = typevar(self.base) - self.ctype = 'const '..self.type - if self.extra_bases then -- for i=1,table.getn(self.extra_bases) do -+ for i=1,#self.extra_bases do - self.extra_bases[i] = typevar(self.extra_bases[i]) - end - end -@@ -138,9 +138,9 @@ - -- Expects the name, the base (array) and the body of the class. - function Class (n,p,b) - -- if table.getn(p) > 1 then -+ if #p > 1 then - b = string.sub(b, 1, -2) -- for i=2,table.getn(p),1 do -+ for i=2,#p,1 do - b = b.."\n tolua_inherits "..p[i].." __"..p[i].."__;\n" - end - b = b.."\n}" ---- a/src/bin/lua/clean.lua -+++ b/src/bin/lua/clean.lua -@@ -19,14 +19,14 @@ - } - - function mask (s) -- for i = 1,getn(MASK) do -+ for i = 1,#MASK do - s = gsub(s,MASK[i][2],MASK[i][1]) - end - return s - end - - function unmask (s) -- for i = 1,getn(MASK) do -+ for i = 1,#MASK do - s = gsub(s,MASK[i][1],MASK[i][2]) - end - return s ---- a/src/bin/lua/compat-5.1.lua -+++ b/src/bin/lua/compat-5.1.lua -@@ -25,10 +25,10 @@ - end
- end
-
-- local f = load(getfile, path)
-+ local f, errmsg = load(getfile, path)
- if not f then
-
-- error("error loading file "..path)
-+ error("error loading file "..path ..": " .. errmsg)
- end
- return f()
- end
---- a/src/bin/lua/compat.lua -+++ b/src/bin/lua/compat.lua -@@ -40,15 +40,13 @@ - end - end - --function dostring(s) return do_(loadstring(s)) end -+function dostring(s) return do_(load(s)) end - -- function dofile(s) return do_(loadfile(s)) end - - ------------------------------------------------------------------- - -- Table library - local tab = table --foreach = tab.foreach --foreachi = tab.foreachi --getn = tab.getn -+getn = function (tab) return #tab end - tinsert = tab.insert - tremove = tab.remove - sort = tab.sort -@@ -78,7 +76,7 @@ - frexp = math.frexp - ldexp = math.ldexp - log = math.log --log10 = math.log10 -+log10 = function(val) return math.log(10, val) end - max = math.max - min = math.min - mod = math.mod -@@ -177,17 +175,19 @@ - - function read (...) - local f = _INPUT -+ local arg = {...} - if rawtype(arg[1]) == 'userdata' then - f = tab.remove(arg, 1) - end -- return f:read(unpack(arg)) -+ return f:read(table.unpack(arg)) - end - - function write (...) - local f = _OUTPUT -+ local arg = {...} - if rawtype(arg[1]) == 'userdata' then - f = tab.remove(arg, 1) - end -- return f:write(unpack(arg)) -+ return f:write(table.unpack(arg)) - end - ---- a/src/bin/lua/declaration.lua -+++ b/src/bin/lua/declaration.lua -@@ -137,7 +137,7 @@ - if b then - - m = split_c_tokens(string.sub(m, 2, -2), ",") -- for i=1, table.getn(m) do -+ for i=1, #m do - m[i] = string.gsub(m[i],"%s*([%*&])", "%1") - if not isbasic(m[i]) then - if not isenum(m[i]) then _, m[i] = applytypedef("", m[i]) end -@@ -522,7 +522,7 @@ - end - - -- check the form: mod type* name -- local s1 = gsub(s,"(%b\[\])",function (n) return gsub(n,'%*','\1') end) -+ local s1 = gsub(s,"(%b%[%])",function (n) return gsub(n,'%*','\1') end) - t = split_c_tokens(s1,'%*') - if t.n == 2 then - t[2] = gsub(t[2],'\1','%*') -- restore * in dimension expression ---- a/src/bin/lua/feature.lua -+++ b/src/bin/lua/feature.lua -@@ -132,7 +132,7 @@ - if not fname or fname == '' then - fname = self.name - end -- n = string.gsub(n..'_'.. (fname), "[<>:, \.%*&]", "_") -+ n = string.gsub(n..'_'.. (fname), "[<>:, \\.%*&]", "_") - - return n - end ---- a/src/bin/lua/function.lua -+++ b/src/bin/lua/function.lua -@@ -520,7 +520,7 @@ - function join(t, sep, first, last) - - first = first or 1 -- last = last or table.getn(t) -+ last = last or #t - local lsep = "" - local ret = "" - local loop = false ---- a/src/bin/lua/package.lua -+++ b/src/bin/lua/package.lua -@@ -39,7 +39,7 @@ - self.code = gsub(self.code,"\n%s*%$%]","\2") - self.code = gsub(self.code,"(%b\1\2)", function (c) - tinsert(L,c) -- return "\n#["..getn(L).."]#" -+ return "\n#[".. #L .."]#" - end) - -- avoid preprocessing embedded C code - local C = {} -@@ -47,14 +47,14 @@ - self.code = gsub(self.code,"\n%s*%$%>","\4") - self.code = gsub(self.code,"(%b\3\4)", function (c) - tinsert(C,c) -- return "\n#<"..getn(C)..">#" -+ return "\n#<".. #C ..">#" - end) - -- avoid preprocessing embedded C code - self.code = gsub(self.code,"\n%s*%$%{","\5") -- deal with embedded C code - self.code = gsub(self.code,"\n%s*%$%}","\6") - self.code = gsub(self.code,"(%b\5\6)", function (c) - tinsert(C,c) -- return "\n#<"..getn(C)..">#" -+ return "\n#<".. #C..">#" - end) - - --self.code = gsub(self.code,"\n%s*#[^d][^\n]*\n", "\n\n") -- eliminate preprocessor directives that don't start with 'd' -@@ -64,7 +64,7 @@ - local V = {} - self.code = gsub(self.code,"\n(%s*%$[^%[%]][^\n]*)",function (v) - tinsert(V,v) -- return "\n#"..getn(V).."#" -+ return "\n#".. #V .."#" - end) - - -- perform global substitution -@@ -152,14 +152,14 @@ - if flags.t then - output("#ifndef Mtolua_typeid\n#define Mtolua_typeid(L,TI,T)\n#endif\n") - end -- foreach(_usertype,function(n,v) -+ for n,v in pairs(_usertype) do - if (not _global_classes[v]) or _global_classes[v]:check_public_access() then - output(' tolua_usertype(tolua_S,"',v,'");') - if flags.t then - output(' Mtolua_typeid(tolua_S,typeid(',v,'), "',v,'");') - end - end -- end) -+ end - output('}') - output('\n') - end -@@ -288,7 +288,7 @@ - local t = {code=s} - extra = string.gsub(extra, "^%s*,%s*", "") - local pars = split_c_tokens(extra, ",") -- include_file_hook(t, fn, unpack(pars)) -+ include_file_hook(t, fn, table.unpack(pars)) - return "\n\n" .. t.code - else - error('#Invalid include directive (use $cfile, $pfile, $lfile or $ifile)') -@@ -322,7 +322,7 @@ - table.insert(chunk, string.sub(line, 3) .. "\n") - else - local last = 1 -- for text, expr, index in string.gfind(line, "(.-)$(%b())()") do -+ for text, expr, index in string.gmatch(line, "(.-)$(%b())()") do - last = index - if text ~= "" then - table.insert(chunk, string.format('table.insert(__ret, %q )', text)) -@@ -334,10 +334,9 @@ - end - end - table.insert(chunk, '\nreturn table.concat(__ret)\n') -- local f,e = loadstring(table.concat(chunk)) -+ local f,e = load(table.concat(chunk), nil, "t", _extra_parameters) - if e then - error("#"..e) - end -- setfenv(f, _extra_parameters) - return f() - end ---- a/src/bin/lua/template_class.lua -+++ b/src/bin/lua/template_class.lua -@@ -22,7 +22,7 @@ - for i =1 , types.n do - - local Il = split_c_tokens(types[i], " ") -- if table.getn(Il) ~= table.getn(self.args) then -+ if #Il ~= #self.args then - error("#invalid parameter count for "..types[i]) - end - local bI = self.body -@@ -31,16 +31,16 @@ - --Tl[j] = findtype(Tl[j]) or Tl[j] - bI = string.gsub(bI, "([^_%w])"..self.args[j].."([^_%w])", "%1"..Il[j].."%2") - if self.parents then -- for i=1,table.getn(self.parents) do -+ for i=1,#self.parents do - pI[i] = string.gsub(self.parents[i], "([^_%w]?)"..self.args[j].."([^_%w]?)", "%1"..Il[j].."%2") - end - end - end - --local append = "<"..string.gsub(types[i], "%s+", ",")..">" -- local append = "<"..concat(Il, 1, table.getn(Il), ",")..">" -+ local append = "<"..concat(Il, 1, #Il, ",")..">" - append = string.gsub(append, "%s*,%s*", ",") - append = string.gsub(append, ">>", "> >") -- for i=1,table.getn(pI) do -+ for i=1,#pI do - --pI[i] = string.gsub(pI[i], ">>", "> >") - pI[i] = resolve_template_types(pI[i]) - end ---- a/src/bin/tolua.c -+++ b/src/bin/tolua.c -@@ -67,7 +67,11 @@ - static void add_extra (lua_State* L, char* value) { - int len; - lua_getglobal(L, "_extra_parameters"); -+#if LUA_VERSION_NUM > 501 -+ len = lua_rawlen(L, -1); -+#else - len = luaL_getn(L, -1); -+#endif - lua_pushstring(L, value); - lua_rawseti(L, -2, len+1); - lua_pop(L, 1); -@@ -145,7 +149,7 @@ - } - lua_pop(L,1); - } --/* #define TOLUA_SCRIPT_RUN */ -+#define TOLUA_SCRIPT_RUN - #ifndef TOLUA_SCRIPT_RUN - { - int tolua_tolua_open (lua_State* L); -@@ -153,16 +157,17 @@ - } - #else - { -- char* p; -- char path[BUFSIZ]; -- strcpy(path,argv[0]); -- p = strrchr(path,'/'); -- if (p==NULL) p = strrchr(path,'\\'); -- p = (p==NULL) ? path : p+1; -- sprintf(p,"%s","../src/bin/lua/"); -- lua_pushstring(L,path); lua_setglobal(L,"path"); -- strcat(path,"all.lua"); -- lua_dofile(L,path); -+ lua_pushstring(L, "/usr/share/toluapp/luapp/"); lua_setglobal(L,"path"); -+ if (luaL_loadfile(L, "/usr/share/toluapp/luapp/all.lua") != 0) { -+ fprintf(stderr, "luaL_loadfile failed\n"); -+ return 1; -+ } -+ if (lua_pcall(L, 0,0,0) != 0) { -+ const char *errmsg = lua_tostring(L, -1); -+ fprintf(stderr, "lua_pcall failed: %s\n", errmsg); -+ lua_pop(L, 1); -+ return 1; -+ } - } - #endif - return 0; ---- a/src/lib/tolua_event.c -+++ b/src/lib/tolua_event.c -@@ -23,12 +23,20 @@ - static void storeatubox (lua_State* L, int lo) - { - #ifdef LUA_VERSION_NUM -+#if LUA_VERSION_NUM > 501 -+ lua_getuservalue(L, lo); -+#else - lua_getfenv(L, lo); -+#endif - if (lua_rawequal(L, -1, TOLUA_NOPEER)) { - lua_pop(L, 1); - lua_newtable(L); - lua_pushvalue(L, -1); -+#if LUA_VERSION_NUM > 501 -+ lua_setuservalue(L, lo); /* stack: k,v,table */ -+#else - lua_setfenv(L, lo); /* stack: k,v,table */ -+#endif - }; - lua_insert(L, -3); - lua_settable(L, -3); /* on lua 5.1, we trade the "tolua_peers" lookup for a settable call */ -@@ -141,7 +149,11 @@ - { - /* Access alternative table */ - #ifdef LUA_VERSION_NUM /* new macro on version 5.1 */ -+#if LUA_VERSION_NUM > 501 -+ lua_getuservalue(L, 1); -+#else - lua_getfenv(L,1); -+#endif - if (!lua_rawequal(L, -1, TOLUA_NOPEER)) { - lua_pushvalue(L, 2); /* key */ - lua_gettable(L, -2); /* on lua 5.1, we trade the "tolua_peers" lookup for a gettable call */ -@@ -420,6 +432,8 @@ - */ - TOLUA_API int class_gc_event (lua_State* L) - { -+ if (lua_type(L,1) == LUA_TUSERDATA) -+ { - void* u = *((void**)lua_touserdata(L,1)); - int top; - /*fprintf(stderr, "collecting: looking at %p\n", u);*/ -@@ -427,7 +441,8 @@ - lua_pushstring(L,"tolua_gc"); - lua_rawget(L,LUA_REGISTRYINDEX); - */ -- lua_pushvalue(L, lua_upvalueindex(1)); -+ lua_pushstring(L,"tolua_gc"); -+ lua_rawget(L,LUA_REGISTRYINDEX); /* gc */ - lua_pushlightuserdata(L,u); - lua_rawget(L,-2); /* stack: gc umt */ - lua_getmetatable(L,1); /* stack: gc umt mt */ -@@ -456,6 +471,7 @@ - lua_rawset(L,-5); /* stack: gc umt mt */ - } - lua_pop(L,3); -+ } - return 0; - } - ---- a/src/lib/tolua_map.c -+++ b/src/lib/tolua_map.c -@@ -262,8 +262,12 @@ - - lua_pop(L, 1); - lua_pushvalue(L, TOLUA_NOPEER); -- }; -+ } -+#if LUA_VERSION_NUM > 501 -+ lua_setuservalue(L, -2); -+#else - lua_setfenv(L, -2); -+#endif - - return 0; - }; -@@ -271,7 +275,11 @@ - static int tolua_bnd_getpeer(lua_State* L) { - - /* stack: userdata */ -+#if LUA_VERSION_NUM > 501 -+ lua_getuservalue(L, -1); -+#else - lua_getfenv(L, -1); -+#endif - if (lua_rawequal(L, -1, TOLUA_NOPEER)) { - lua_pop(L, 1); - lua_pushnil(L); -@@ -411,7 +419,11 @@ - lua_rawget(L,-2); - } - else -+#if LUA_VERSION_NUM > 501 -+ lua_pushglobaltable(L); -+#else - lua_pushvalue(L,LUA_GLOBALSINDEX); -+#endif - } - - /* End module -@@ -445,7 +457,11 @@ - else - { - /* global table */ -+#if LUA_VERSION_NUM > 501 -+ lua_pushglobaltable(L); -+#else - lua_pushvalue(L,LUA_GLOBALSINDEX); -+#endif - } - if (hasvar) - { -@@ -473,7 +489,11 @@ - else - { - /* global table */ -+#if LUA_VERSION_NUM > 501 -+ lua_pushglobaltable(L); -+#else - lua_pushvalue(L,LUA_GLOBALSINDEX); -+#endif - } - if (hasvar) - { ---- a/src/lib/tolua_push.c -+++ b/src/lib/tolua_push.c -@@ -79,7 +79,11 @@ - - #ifdef LUA_VERSION_NUM - lua_pushvalue(L, TOLUA_NOPEER); -+#if LUA_VERSION_NUM > 501 -+ lua_setuservalue(L, -2); -+#else - lua_setfenv(L, -2); -+#endif - #endif - } - else diff --git a/dev-lua/toluapp/toluapp-1.0.93_p20190513.ebuild b/dev-lua/toluapp/toluapp-1.0.93_p20190513-r1.ebuild index d6f8c841fb1a..2340fd572121 100644 --- a/dev-lua/toluapp/toluapp-1.0.93_p20190513.ebuild +++ b/dev-lua/toluapp/toluapp-1.0.93_p20190513-r1.ebuild @@ -17,13 +17,12 @@ SLOT="0" KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" IUSE="" -RDEPEND=">=dev-lang/lua-5.1.1:=[deprecated]" +RDEPEND="=dev-lang/lua-5.1*:=[deprecated]" DEPEND="${RDEPEND}" S="${WORKDIR}/${PN}-${COMMIT_ID}" PATCHES=( "${FILESDIR}"/${PN}-1.0.93_p20190513-fix-multilib.patch - "${FILESDIR}"/${PN}-1.0.93_p20190513-lua5.3.patch ) CMAKE_REMOVE_MODULES_LIST="dist.cmake lua.cmake FindLua.cmake" |