games-rpg/sumwars: migrate to lua-single.eclass

Set LUA_COMPAT to lua5-{1..2} because when left to its own devices,
upstream build scripts select 5.2 at most even when newer versions of
Lua are present in the system. Builds without errors also when
forced to use 5.3, then again the bunded data scripts may or may not be
compatible with that version so let's err on the side of caution.

This version of sumwars does not use the CEGUI Lua-scripting module
(CEGUILua is mentioned exactly once in the source code, in a
commented-out #include line) and does not link against the relevant
CEGUI library. Therefore, the value of LUA_SINGLE_TARGET used during the
building of dev-games/cegui can safely be disregarded.

Closes: https://bugs.gentoo.org/752702
Signed-off-by: Marek Szuba <marecki@gentoo.org>
This commit is contained in:
Marek Szuba
2020-11-30 23:10:35 +01:00
parent d147227360
commit 4ee08e4fc5
3 changed files with 113 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -179,7 +179,7 @@
FIND_PACKAGE(GNUWIN REQUIRED)
ENDIF (WIN32)
FIND_PACKAGE(OIS REQUIRED)
-FIND_PACKAGE(Lua REQUIRED)
+FIND_PACKAGE(Lua ${LUA_VERSION} EXACT REQUIRED)
FIND_PACKAGE(CEGUI REQUIRED)
SET(CEGUI_VERSION_RESOURCES "gui_0.8")

View File

@@ -0,0 +1,101 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
LUA_COMPAT=( lua5-{1..2} )
inherit cmake desktop flag-o-matic lua-single xdg-utils
DESCRIPTION="a multi-player, 3D action role-playing game"
HOMEPAGE="http://sumwars.org"
SRC_URI="mirror://sourceforge/sumwars/${P//_/-}-src.tar.bz2"
LICENSE="GPL-3 CC-BY-SA-3.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+tools debug"
LANGS="de en it pl pt ru uk"
for L in ${LANGS} ; do
IUSE="${IUSE} l10n_${L}"
done
unset L
REQUIRED_USE="${LUA_REQUIRED_USE}"
RDEPEND="${LUA_DEPS}
>=dev-games/cegui-0.8[ogre]
>=dev-games/ogre-1.7.4-r1[freeimage,opengl]
dev-games/ois
dev-games/physfs
>=dev-libs/tinyxml-2.6.2-r2
media-libs/freealut
media-libs/openal
media-libs/libogg
media-libs/libvorbis
>=net-libs/enet-1.3.0
x11-libs/libX11
x11-libs/libXrandr
tools? ( dev-libs/boost )"
DEPEND=${RDEPEND}
PATCHES=(
"${FILESDIR}"/${PN}-0.5.8-cmake_lua_version.patch
)
CMAKE_REMOVE_MODULES_LIST="FindLua FindLua51"
S=${WORKDIR}/${PN}-${PV%_*}
src_configure() {
# QA
append-flags -fno-strict-aliasing
use debug && CMAKE_BUILD_TYPE=Debug
local l langs
for l in ${LANGS}; do
if use l10n_${l}; then
langs="${langs} ${l}"
fi
done
[[ -z "${langs}" ]] && langs="en"
# configure sumwars with cmake
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX=""
-DLUA_VERSION="$(lua_get_version)"
-DSUMWARS_BUILD_TOOLS="$(usex tools)"
-DSUMWARS_DOC_DIR="/usr/share/doc/${PF}"
-DSUMWARS_EXECUTABLE_DIR="/usr/bin"
-DSUMWARS_LANGUAGES="${langs}"
-DSUMWARS_NO_ENET=ON
-DSUMWARS_NO_TINYXML=ON
-DSUMWARS_PORTABLE_MODE=OFF
-DSUMWARS_POST_BUILD_COPY=OFF
-DSUMWARS_RANDOM_REGIONS=ON
-DSUMWARS_SHARE_DIR="/usr/share/${PN}"
-DSUMWARS_STANDALONE_MODE=OFF
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
}
src_install() {
cmake_src_install
newicon -s 128 share/icon/SumWarsIcon_128x128.png ${PN}.png
make_desktop_entry ${PN} "Summoning Wars"
}
pkg_postinst() {
xdg_icon_cache_update
}
pkg_postrm() {
xdg_icon_cache_update
}

View File

@@ -568,6 +568,7 @@ dev-lua/luacrypto
>=games-roguelike/crossfire-client-1.71.0-r100
>=games-roguelike/stone-soup-0.25.1-r100
>=games-rpg/kqlives-0.99-r100
>=games-rpg/sumwars-0.5.8-r100
>=mail-filter/imapfilter-2.6.16-r100
>=media-gfx/geeqie-1.5.1-r1
>=media-sound/aqualung-1.1-r100