summaryrefslogtreecommitdiff
path: root/games-sports/xmoto/files/xmoto-0.6.1_lua_deprecated.patch
diff options
context:
space:
mode:
Diffstat (limited to 'games-sports/xmoto/files/xmoto-0.6.1_lua_deprecated.patch')
-rw-r--r--games-sports/xmoto/files/xmoto-0.6.1_lua_deprecated.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/games-sports/xmoto/files/xmoto-0.6.1_lua_deprecated.patch b/games-sports/xmoto/files/xmoto-0.6.1_lua_deprecated.patch
new file mode 100644
index 000000000000..078fa91aaab8
--- /dev/null
+++ b/games-sports/xmoto/files/xmoto-0.6.1_lua_deprecated.patch
@@ -0,0 +1,79 @@
+From fb004501a6387bb7ba5182b60ec305e9947dc545 Mon Sep 17 00:00:00 2001
+From: _yui <imbatman0xff@gmail.com>
+Date: Tue, 7 Jul 2020 21:44:49 +0300
+Subject: [PATCH 1/2] Fix building with Lua with deprecated functions removed
+
+---
+ src/CMakeLists.txt | 5 +++++
+ src/xmoto/LuaLibBase.cpp | 6 ++++++
+ 2 files changed, 11 insertions(+)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a3f328f9..3618360e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -461,6 +461,11 @@ check_prototype_definition(mkdir
+ )
+ target_compile_definitions(xmoto PUBLIC MS_MKDIR=$<BOOL:${MS_MKDIR}>)
+
++if(USE_SYSTEM_Lua)
++ check_symbol_exists(luaL_openlib lauxlib.h HAVE_LUAL_OPENLIB)
++ target_compile_definitions(xmoto PUBLIC HAVE_LUAL_OPENLIB=$<BOOL:${HAVE_LUAL_OPENLIB}>)
++endif()
++
+ target_compile_definitions(xmoto PUBLIC USE_OPENGL=$<BOOL:${USE_OPENGL}>)
+ target_compile_definitions(xmoto PUBLIC USE_SDLGFX=$<BOOL:${USE_SDLGFX}>)
+ target_compile_definitions(xmoto PUBLIC USE_GETTEXT=$<BOOL:${USE_GETTEXT}>)
+diff --git a/src/xmoto/LuaLibBase.cpp b/src/xmoto/LuaLibBase.cpp
+index fed3c79e..62b690e1 100644
+--- a/src/xmoto/LuaLibBase.cpp
++++ b/src/xmoto/LuaLibBase.cpp
+@@ -42,7 +42,13 @@ LuaLibBase::LuaLibBase(const std::string &i_libname, luaL_Reg i_reg[]) {
+ luaL_requiref(m_pL, LUA_TABLIBNAME, luaopen_table, 1);
+ #endif
+
++#if HAVE_LUAL_OPENLIB
+ luaL_openlib(m_pL, i_libname.c_str(), i_reg, 0);
++#else
++ lua_newtable(m_pL);
++ luaL_register(m_pL, i_libname.c_str(), i_reg);
++ lua_setglobal(m_pL, i_libname.c_str());
++#endif
+ }
+
+ LuaLibBase::~LuaLibBase() {
+
+From 0a92ee4e8d6ffb88f137b74ba3e9a9b688ac50e6 Mon Sep 17 00:00:00 2001
+From: _yui <imbatman0xff@gmail.com>
+Date: Tue, 7 Jul 2020 23:01:38 +0300
+Subject: [PATCH 2/2] Change luaL_register to luaL_setfuncs for lua 5.2 and
+ newer
+
+---
+ src/xmoto/LuaLibBase.cpp | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/xmoto/LuaLibBase.cpp b/src/xmoto/LuaLibBase.cpp
+index 62b690e1..911c5698 100644
+--- a/src/xmoto/LuaLibBase.cpp
++++ b/src/xmoto/LuaLibBase.cpp
+@@ -44,11 +44,17 @@ LuaLibBase::LuaLibBase(const std::string &i_libname, luaL_Reg i_reg[]) {
+
+ #if HAVE_LUAL_OPENLIB
+ luaL_openlib(m_pL, i_libname.c_str(), i_reg, 0);
+-#else
++#else // HAVE_LUAL_OPENLIB
+ lua_newtable(m_pL);
++
++#if LUA_VERSION_NUM >= 502
++ luaL_setfuncs(m_pL, i_reg, 0);
++#else // LUA_VERSION_NUM >= 502
+ luaL_register(m_pL, i_libname.c_str(), i_reg);
++#endif // LUA_VERSION_NUM >= 502
++
+ lua_setglobal(m_pL, i_libname.c_str());
+-#endif
++#endif // HAVE_LUAL_OPENLIB
+ }
+
+ LuaLibBase::~LuaLibBase() {