commit:     ef56c689570380dc0808b4c7e21195b759b10155
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 09:28:38 2019 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Wed May 15 09:28:38 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef56c689

dev-lua/toluapp: Use CMake for building

Closes: https://bugs.gentoo.org/399201
Closes: https://bugs.gentoo.org/590944
Closes: https://bugs.gentoo.org/648656
Closes: https://bugs.gentoo.org/679706
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 dev-lua/toluapp/Manifest                           |   1 +
 .../toluapp-1.0.93_p20190513-fix-multilib.patch    |  37 ++
 .../files/toluapp-1.0.93_p20190513-lua5.3.patch    | 534 +++++++++++++++++++++
 dev-lua/toluapp/toluapp-1.0.93_p20190513.ebuild    |  29 ++
 4 files changed, 601 insertions(+)

diff --git a/dev-lua/toluapp/Manifest b/dev-lua/toluapp/Manifest
index de46d05a2e7..e76de25ee33 100644
--- a/dev-lua/toluapp/Manifest
+++ b/dev-lua/toluapp/Manifest
@@ -1 +1,2 @@
 DIST tolua++-1.0.93.tar.bz2 163956 BLAKE2B 
e4ff54ec130036654446a6e1f5d487d40af9ebbf2fdb3a8ae055fd20768fad6434fdfd4f359369dbc3669565f54dad3d6957da06c6e029e6abe6a529861ff96e
 SHA512 
d1ae56b2dd38437e0aef81d5230d1a954b8f914133cfa199a18193d05ecfd188ec2bbeec76e63846ef673dc89c12e47bfd9727c227b71833d622cc441c071013
+DIST toluapp-1.0.93_p20190513.tar.gz 248043 BLAKE2B 
08db9f86f224c95532ede354d93317680beeacb7ab8c0e41ddd8ed785a682ab4a3664265d10fae7d36fab33864442fcb403985176a9c01797e29c72708500968
 SHA512 
5750f9d4bbb39832650ac6874c2933f4ed3ff5f6a40a2345ab795f6fea841ccdbc93cd1fee53ffc93db3cee43bfdb367fa1ec19cf0cd1f75edf6bdb8ee269442

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
new file mode 100644
index 00000000000..21ebc499238
--- /dev/null
+++ b/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch
@@ -0,0 +1,37 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,7 +6,7 @@
+ 
+ project ( toluapp C )
+ cmake_minimum_required ( VERSION 2.8 )
+-include ( cmake/dist.cmake )
++include ( GNUInstallDirs )
+ 
+ find_package ( Lua REQUIRED )
+ include_directories ( include src/lib ${LUA_INCLUDE_DIR} )
+@@ -19,7 +19,7 @@
+ 
+ add_library ( toluapp_lib ${SRC_LIBTOLUAPP} ${DEF_FILE} )
+ target_link_libraries ( toluapp_lib ${LUA_LIBRARIES} )
+-set_target_properties ( toluapp_lib PROPERTIES OUTPUT_NAME toluapp 
CLEAN_DIRECT_OUTPUT 
++set_target_properties ( toluapp_lib PROPERTIES OUTPUT_NAME tolua++ 
CLEAN_DIRECT_OUTPUT 
+   1 )
+ 
+ # Build app
+@@ -27,10 +27,11 @@
+ set ( SRC_TOLUA src/bin/tolua.c src/bin/toluabind.c )
+ add_executable ( toluapp ${SRC_TOLUA} )
+ target_link_libraries ( toluapp toluapp_lib ${LUA_LIBRARIES} )
++set_target_properties ( toluapp PROPERTIES OUTPUT_NAME tolua++ )
+ 
+ # Install
+-install_library ( toluapp_lib )
+-install_executable ( toluapp )
+-install_header ( include/ )
+-install_data ( README INSTALL )
+-install_doc ( doc/ )
++install( TARGETS toluapp_lib DESTINATION ${CMAKE_INSTALL_LIBDIR} )
++install( TARGETS toluapp DESTINATION ${CMAKE_INSTALL_BINDIR} )
++install( DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
++install( FILES README DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR}/html )

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
new file mode 100644
index 00000000000..4da3e33e7fe
--- /dev/null
+++ b/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-lua5.3.patch
@@ -0,0 +1,534 @@
+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.ebuild
new file mode 100644
index 00000000000..d6f8c841fb1
--- /dev/null
+++ b/dev-lua/toluapp/toluapp-1.0.93_p20190513.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+MY_PN=${PN/pp/++}
+COMMIT_ID="b34075b76835b778bb6b2ce0aa224afd9d182887"
+
+DESCRIPTION="A tool to integrate C/C++ code with Lua"
+HOMEPAGE="https://github.com/LuaDist/toluapp";
+SRC_URI="https://github.com/LuaDist/toluapp/archive/${COMMIT_ID}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/lua-5.1.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"

Reply via email to