commit:     f2797c5e9235f969e7c3aee900b7669821c69827
Author:     Azamat H. Hackimov <azamat.hackimov <AT> gmail <DOT> com>
AuthorDate: Thu Aug  6 23:19:28 2020 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Aug 17 21:59:05 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2797c5e

games-sports/xmoto: fix #730346

Applied upstream patch for removing uses of deprecated lua 5.0 code.
Closes: https://bugs.gentoo.org/730346
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Azamat H. Hackimov <azamat.hackimov <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/17037
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 .../xmoto/files/xmoto-0.6.1_lua_deprecated.patch   | 79 ++++++++++++++++++++++
 games-sports/xmoto/metadata.xml                    |  3 +
 games-sports/xmoto/xmoto-0.6.1-r1.ebuild           | 66 ++++++++++++++++++
 3 files changed, 148 insertions(+)

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 00000000000..078fa91aaab
--- /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 <imbatman0...@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 <imbatman0...@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() {

diff --git a/games-sports/xmoto/metadata.xml b/games-sports/xmoto/metadata.xml
index e62095b0181..fe3815850e5 100644
--- a/games-sports/xmoto/metadata.xml
+++ b/games-sports/xmoto/metadata.xml
@@ -8,4 +8,7 @@
   <use>
     <flag name="double-precision">more precise calculations at the expense of 
speed</flag>
   </use>
+  <upstream>
+    <remote-id type="github">xmoto/xmoto</remote-id>
+  </upstream>
 </pkgmetadata>

diff --git a/games-sports/xmoto/xmoto-0.6.1-r1.ebuild 
b/games-sports/xmoto/xmoto-0.6.1-r1.ebuild
new file mode 100644
index 00000000000..c8bbb19258a
--- /dev/null
+++ b/games-sports/xmoto/xmoto-0.6.1-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A challenging 2D motocross platform game, where physics play an 
important role"
+HOMEPAGE="https://xmoto.tuxfamily.org";
+SRC_URI="https://github.com/xmoto/xmoto/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="double-precision +nls"
+
+RDEPEND="app-arch/bzip2
+       dev-db/sqlite:3
+       dev-games/ode[double-precision=]
+       dev-lang/lua:0
+       dev-libs/libxdg-basedir
+       dev-libs/libxml2
+       media-fonts/dejavu
+       media-libs/libpng:0=
+       media-libs/libsdl[joystick,opengl]
+       media-libs/sdl-mixer[vorbis]
+       media-libs/sdl-net
+       media-libs/sdl-ttf
+       net-misc/curl
+       sys-libs/zlib:=
+       virtual/jpeg:0
+       virtual/glu
+       virtual/opengl
+       nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/xz-utils
+       nls? ( sys-devel/gettext )"
+
+PATCHES=(
+       "${FILESDIR}/${P}_lua_deprecated.patch"
+)
+
+src_prepare() {
+       sed -e "/^Icon/s/.xpm//" -i extra/xmoto.desktop || die
+       sed -e "/add_subdirectory.*\(bzip2\|libccd\|lua\|ode\|xdgbasedir\)/d" 
-i src/CMakeLists.txt || die
+       rm -rf vendor/{bzip2,lua,ode,xdgbasedir} || die
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DUSE_GETTEXT=$(usex nls)
+               -DOpenGL_GL_PREFERENCE=GLVND
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       rm -f "${ED}/usr/share/xmoto"/Textures/Fonts/DejaVuSans{Mono,}.ttf || 
die
+       dosym ../../../fonts/dejavu/DejaVuSans.ttf 
/usr/share/xmoto/Textures/Fonts/DejaVuSans.ttf
+       dosym ../../../fonts/dejavu/DejaVuSansMono.ttf 
/usr/share/xmoto/Textures/Fonts/DejaVuSansMono.ttf
+}

Reply via email to