diff options
Diffstat (limited to 'games-strategy')
-rw-r--r-- | games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch | 36 | ||||
-rw-r--r-- | games-strategy/s25rttr/s25rttr-0.8.1-r1.ebuild | 110 |
2 files changed, 146 insertions, 0 deletions
diff --git a/games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch b/games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch new file mode 100644 index 000000000000..d2ff0ee1fe39 --- /dev/null +++ b/games-strategy/s25rttr/files/s25rttr-0.8.1-miniupnpc-api-14.patch @@ -0,0 +1,36 @@ +From 3b08b907235c09ab84e3bb23d1e05fe5a1d1c00e Mon Sep 17 00:00:00 2001 +From: Manuel Zeise <mail@manuel-zeise.de> +Date: Sun, 3 Jan 2016 16:54:05 +0100 +Subject: [PATCH] Switch for miniUPnPc API version 14 and above + +API version 14 of miniUPnPc has introduced a new TTL argument to +upnpDiscover() with a recommended default value of 2. A new preprocessor +statement evaluates the API version and selects the correct version of +upnpDiscover() based on the API version. + +--- s25rttr-0.8.1/libutil/src/UPnP.cpp ++++ s25rttr-0.8.1/libutil/src/UPnP.cpp +@@ -210,7 +210,11 @@ + UPNPDev* devicelist = NULL; + #ifdef UPNPDISCOVER_SUCCESS + int upnperror = 0; ++#if (MINIUPNPC_API_VERSION >= 14) /* miniUPnPc API version 14 adds TTL parameter */ ++ devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, 2, &upnperror); ++#else + devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, &upnperror); ++#endif + #else + devicelist = upnpDiscover(2000, NULL, NULL, 0); + #endif +@@ -276,7 +280,11 @@ + UPNPDev* devicelist = NULL; + #ifdef UPNPDISCOVER_SUCCESS + int upnperror = 0; ++#if (MINIUPNPC_API_VERSION >= 14) /* miniUPnPc API version 14 adds TTL parameter */ ++ devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, 2, &upnperror); ++#else + devicelist = upnpDiscover(2000, NULL, NULL, 0, 0 /* ipv6 */, &upnperror); ++#endif + #else + devicelist = upnpDiscover(2000, NULL, NULL, 0); + #endif diff --git a/games-strategy/s25rttr/s25rttr-0.8.1-r1.ebuild b/games-strategy/s25rttr/s25rttr-0.8.1-r1.ebuild new file mode 100644 index 000000000000..9f39e6bb536d --- /dev/null +++ b/games-strategy/s25rttr/s25rttr-0.8.1-r1.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils cmake-utils gnome2-utils games + +DESCRIPTION="Open Source remake of The Settlers II game (needs original game files)" +HOMEPAGE="http://www.siedler25.org/" +# no upstream source tarball yet +# https://bugs.launchpad.net/s25rttr/+bug/1069546 +SRC_URI="https://dev.gentoo.org/~hasufell/distfiles/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug glfw" + +RDEPEND="app-arch/bzip2 + media-libs/libsamplerate + media-libs/libsdl[X,sound,opengl,video] + media-libs/libsndfile + media-libs/sdl-mixer[vorbis] + net-libs/miniupnpc + virtual/libiconv + virtual/opengl + glfw? ( <media-libs/glfw-3 )" +DEPEND="${RDEPEND} + sys-devel/gettext" + +src_prepare() { + epatch "${FILESDIR}"/${P}-cmake.patch \ + "${FILESDIR}"/${P}-soundconverter.patch \ + "${FILESDIR}"/${P}-fpic.patch \ + "${FILESDIR}"/${P}-miniupnpc-api-14.patch +} + +src_configure() { + local arch + case ${ARCH} in + amd64) + arch="x86_64" ;; + x86) + arch="i386" ;; + *) die "Architecture ${ARCH} not yet supported" ;; + esac + + local mycmakeargs=( + -DCOMPILEFOR="linux" + -DCOMPILEARCH="${arch}" + -DCMAKE_SKIP_RPATH=YES + -DPREFIX="${GAMES_PREFIX}" + -DBINDIR="${GAMES_BINDIR}" + -DDATADIR="${GAMES_DATADIR}" + -DLIBDIR="$(games_get_libdir)/${PN}" + -DDRIVERDIR="$(games_get_libdir)/${PN}" + -DGAMEDIR="~/.${PN}/S2" + $(cmake-utils_use_build glfw GLFW_DRIVER) + ) + + cmake-utils_src_configure +} + +src_compile() { + # work around some relative paths (CMAKE_IN_SOURCE_BUILD not supported) + ln -s "${CMAKE_USE_DIR}"/RTTR "${CMAKE_BUILD_DIR}"/RTTR || die + + cmake-utils_src_compile + + mv "${CMAKE_USE_DIR}"/RTTR/{sound-convert,s-c_resample} "${T}"/ || die +} + +src_install() { + cd "${CMAKE_BUILD_DIR}" || die + + exeinto "$(games_get_libdir)"/${PN} + doexe "${T}"/{sound-convert,s-c_resample} + exeinto "$(games_get_libdir)"/${PN}/video + doexe driver/video/SDL/src/libvideoSDL.so + use glfw && doexe driver/video/GLFW/src/libvideoGLFW.so + exeinto "$(games_get_libdir)"/${PN}/audio + doexe driver/audio/SDL/src/libaudioSDL.so + + insinto "${GAMES_DATADIR}" + doins -r "${CMAKE_USE_DIR}"/RTTR + dosym ./LSTS/splash.bmp "${GAMES_DATADIR}"/RTTR/splash.bmp + + doicon -s 64 "${CMAKE_USE_DIR}"/debian/${PN}.png + dogamesbin src/s25client + make_desktop_entry "s25client" "Settlers RTTR" "${PN}" + dodoc RTTR/texte/{keyboardlayout.txt,readme.txt} + + prepgamesdirs +} + +pkg_preinst() { + games_pkg_preinst + gnome2_icon_savelist +} + +pkg_postinst() { + games_pkg_postinst + elog "Copy your Settlers2 game files into ~/.${PN}/S2" + + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} |