diff options
Diffstat (limited to 'games-action/armagetronad')
-rw-r--r-- | games-action/armagetronad/Manifest | 4 | ||||
-rw-r--r-- | games-action/armagetronad/armagetronad-0.2.8.3.3-r1.ebuild | 66 | ||||
-rw-r--r-- | games-action/armagetronad/files/armagetronad-0.2.8.3.3-gcc6.patch | 222 | ||||
-rw-r--r-- | games-action/armagetronad/metadata.xml | 11 |
4 files changed, 303 insertions, 0 deletions
diff --git a/games-action/armagetronad/Manifest b/games-action/armagetronad/Manifest new file mode 100644 index 000000000000..018b527f208b --- /dev/null +++ b/games-action/armagetronad/Manifest @@ -0,0 +1,4 @@ +AUX armagetronad-0.2.8.3.3-gcc6.patch 6419 BLAKE2B af8f6ec0ab77839ced171e6002279952a1aa680115bf2985c69df8b973c67f8c6516a45608737b4e473175b5682b0a03ec2c089a70b47b34ffeb8ce9318aad9c SHA512 ff56e2388b56736fddd1a4fba94914a3d327c11b25675a45f930b1ceab215cd197563194aa6485571ba5ee7c4ed6e2644da9f81f70cc686201a8efbed9149a44 +DIST armagetronad-0.2.8.3.3.src.tar.bz2 1857868 BLAKE2B 60a8fffe61903cb1fa4b188ae6c72ad842e5395b8a37276a6b84018e5393e1294e6ef5438fc7e029d02bfd7172eb81973781e7fbb670c3c7fbacae46d19de409 SHA512 05dd7db10efdac0e681133d07384b0e3c2edea328433f1d906e36b5f70960bf502df8d496967981b6bd67e1a119af9a5bbd71b0c824f790921deb3165165dc3f +EBUILD armagetronad-0.2.8.3.3-r1.ebuild 1321 BLAKE2B 68a66afe2c40cd1a083531c60ec9b8b3dbd7dbe1edc8533df273e5fb4962d97296db52a60c9c38d7a52a21c389026ea653583c11a806a44fe08cb8d1c53de84c SHA512 9fd7a73fc82c802189bb4e379d26c87807508fc3631adbe6c1b2a4f35d82fd97f73fbce7455d8d8020780ad6ee766d1875f32a4bbac6b1f8d37271764ad3d1f6 +MISC metadata.xml 333 BLAKE2B 9e7f4657f3f025fbe42e09e9b64d191a79a125ad3df9ff007e1f6cbdbe40b9311ef257adac0a5861750c21c067bfe6165e80451ac211e06dd0dce542f126ca3f SHA512 ead9b44190ac80607b29eb37c771f7ce041cdde47e1e8203201d0e616ea78377312101dbf1ed6a508c64a884980506c96cf77dbd8a4d05f0a69ecd807fc40ead diff --git a/games-action/armagetronad/armagetronad-0.2.8.3.3-r1.ebuild b/games-action/armagetronad/armagetronad-0.2.8.3.3-r1.ebuild new file mode 100644 index 000000000000..9147b2111608 --- /dev/null +++ b/games-action/armagetronad/armagetronad-0.2.8.3.3-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils gnome2-utils + +DESCRIPTION="Fast-paced 3D lightcycle game based on Tron" +HOMEPAGE="http://armagetronad.org/" +SRC_URI="https://launchpad.net/armagetronad/${PV:0:5}/${PV:0:7}.x/+download/armagetronad-${PV}.src.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dedicated sound" + +RDEPEND=" + dev-libs/libxml2 + !dedicated? ( + media-libs/libpng:0= + media-libs/libsdl[X,opengl,video,sound?] + media-libs/sdl-image[jpeg,png] + virtual/glu + virtual/opengl + sound? ( media-libs/sdl-mixer ) + )" +DEPEND=${RDEPEND} + +PATCHES=( "${FILESDIR}"/${P}-gcc6.patch ) + +src_prepare() { + default + sed -i -e 's#aa_docdir=.*$#aa_docdir=${docdir}#' configure || die +} + +src_configure() { + # --enable-games just messes up paths + econf \ + $(use_enable dedicated) \ + $(use_enable sound music) \ + --disable-sysinstall \ + --disable-useradd \ + --disable-uninstall \ + --disable-games +} + +src_install() { + default + + # misplaced desktop-file/icons + rm -r "${ED%/}"/usr/share/${PN}/desktop || die + doicon -s 48 desktop/icons/large/armagetronad.png + make_desktop_entry ${PN} +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/games-action/armagetronad/files/armagetronad-0.2.8.3.3-gcc6.patch b/games-action/armagetronad/files/armagetronad-0.2.8.3.3-gcc6.patch new file mode 100644 index 000000000000..0cd6e5bc1d67 --- /dev/null +++ b/games-action/armagetronad/files/armagetronad-0.2.8.3.3-gcc6.patch @@ -0,0 +1,222 @@ +Bug: https://bugs.gentoo.org/show_bug.cgi?id=617768 +Commit: https://sourceforge.net/p/armagetronad/code/10845/ + +--- a/src/engine/eNetGameObject.cpp ++++ b/src/engine/eNetGameObject.cpp +@@ -85,7 +85,7 @@ + eNetGameObject::eNetGameObject(eGrid *grid, const eCoord &pos,const eCoord &dir, + ePlayerNetID* p,bool autodelete) + :eGameObject(grid, pos,dir,NULL,autodelete), +-nNetObject(p->Owner()),player(p){ ++ nNetObject(Owner(p)),player(p){ + lastClientsideAction=0; + if (sn_GetNetState()!=nCLIENT) + RequestSync(); +@@ -205,7 +205,7 @@ + + void eNetGameObject::SetPlayer(ePlayerNetID* a_player) + { +- tASSERT( !a_player || Owner() == player->Owner() ); ++ tASSERT( !a_player || Owner() == Owner(player) ); + player = a_player; + if ( laggometerSmooth == 0 && sn_GetNetState() != nCLIENT ) + laggometerSmooth = laggometer = se_GetPing( player ); +--- a/src/engine/ePlayer.cpp ++++ b/src/engine/ePlayer.cpp +@@ -56,6 +56,7 @@ + #include "nConfig.h" + #include "nNetwork.h" + #include <time.h> ++#include <climits> + + int se_lastSaidMaxEntries = 8; + +@@ -1689,9 +1690,9 @@ + // foo (Red Team) --> Blue Team: some message here + eTeam *senderTeam = sender->CurrentTeam(); + console << tColoredString::ColorString(1,1,.5) << " ("; +- console << *senderTeam; ++ console << senderTeam; + console << tColoredString::ColorString(1,1,.5) << ") --> "; +- console << *team; ++ console << team; + } + + console << tColoredString::ColorString(1,1,.5) << ": "; +@@ -1923,7 +1924,7 @@ + else { + eTeam *senderTeam = sender->CurrentTeam(); + say << tColoredString::ColorString(1,1,.5) << " ("; +- say << *team; ++ say << team; + say << tColoredString::ColorString(1,1,.5) << " ) --> "; + say << senderTeam; + } +@@ -3941,7 +3942,7 @@ + sg_ClampPingCharity( ::pingCharity ); + } + +-static int IMPOSSIBLY_LOW_SCORE=(-1 << 31); ++static int IMPOSSIBLY_LOW_SCORE=INT_MIN; + + static nSpamProtectionSettings se_chatSpamSettings( 1.0f, "SPAM_PROTECTION_CHAT", tOutput("$spam_protection") ); + +--- a/src/engine/eTeam.cpp ++++ b/src/engine/eTeam.cpp +@@ -31,20 +31,21 @@ + #include "nConfig.h" + + #include <set> ++#include <climits> + +-tString & operator << ( tString &s, const eTeam & team) ++tString & operator << ( tString &s, const eTeam * team) + { +- if ( !(&team) ) ++ if ( !team ) + return s << tOutput("$player_spectator_message"); + else +- return s << team.GetColoredName(); ++ return s << team->GetColoredName(); + } +-std::ostream & operator << ( std::ostream &s, const eTeam & team) ++std::ostream & operator << ( std::ostream &s, const eTeam * team) + { +- if ( !(&team) ) ++ if ( !team ) + return s << tOutput("$player_spectator_message"); + else +- return s << team.GetColoredName(); ++ return s << team->GetColoredName(); + } + + #define TEAMCOLORS 8 +@@ -75,7 +76,7 @@ + // static tList<eTeam> se_ColoredTeams; + static eTeam * se_ColoredTeams[TEAMCOLORS]={0,0,0,0,0,0,0,0}; + +-static int IMPOSSIBLY_LOW_SCORE=(-1 << 31); ++static int IMPOSSIBLY_LOW_SCORE=INT_MIN; + + // class that creates config items for one team + // TEAM_(NAME|RED|GREEN|BLUE)_X +--- a/src/engine/eTeam.h ++++ b/src/engine/eTeam.h +@@ -32,8 +32,8 @@ + #include "nNetObject.h" + #include "tList.h" + +-tString & operator << ( tString&, const eTeam&); +-std::ostream & operator << ( std::ostream&, const eTeam&); ++tString & operator << ( tString&, const eTeam*); ++std::ostream & operator << ( std::ostream&, const eTeam*); + + template<class T> class nConfItem; + +--- a/src/network/nNetObject.h ++++ b/src/network/nNetObject.h +@@ -128,7 +128,16 @@ + + virtual void Dump( tConsole& con ); // dumps object stats + ++ static unsigned short ID(nNetObject const *pThis) ++ { ++ if (pThis) ++ return pThis->id; ++ else ++ return 0; ++ } ++ + unsigned short ID() const{ ++ tASSERT(this); + if (this) + return id; + else +@@ -135,7 +144,16 @@ + return 0; + } + ++ static unsigned short Owner(nNetObject const *pThis) ++ { ++ if (pThis) ++ return pThis->owner; ++ else ++ return ::sn_myNetID; ++ } ++ + unsigned short Owner() const{ ++ tASSERT(this); + if (this) + return owner; + else +--- a/src/tools/tLocale.cpp ++++ b/src/tools/tLocale.cpp +@@ -731,6 +731,13 @@ + + // and a special implementation for the locales and strings: + tOutput& operator << (tOutput &o, const char *locale){ ++ return o.AddString(locale); ++} ++ ++tOutput & tOutput::AddString(char const * locale) ++{ ++ tOutput & o = *this; ++ + int len = strlen(locale); + if (len == 0) + return o; +--- a/src/tools/tLocale.h ++++ b/src/tools/tLocale.h +@@ -81,7 +81,7 @@ + + tOutputItemBase *anchor; + +- tOutput& operator << (const tOutput &o); ++ // tOutput& operator << (const tOutput &o); + public: + tOutput(); + ~tOutput(); +@@ -91,6 +91,7 @@ + void AddLiteral(const char *); // adds a language independent string + void AddLocale(const char *); // adds a language dependant string + void AddSpace(); // adds a simple space ++ tOutput & AddString(char const * pString); // checks the string, delegates to correct Add...()-Function + + // set a template parameter at this position of the output string + tOutput & SetTemplateParameter(int num, const char *parameter); +@@ -113,7 +114,7 @@ + + SetTemplateParameter(1, template1); + +- *this << identifier; ++ AddString(identifier); + } + + template< class T1, class T2 > +@@ -125,7 +126,7 @@ + SetTemplateParameter(1, template1); + SetTemplateParameter(2, template2); + +- *this << identifier; ++ AddString(identifier); + } + + template< class T1, class T2, class T3 > +@@ -138,7 +139,7 @@ + SetTemplateParameter(2, template2); + SetTemplateParameter(3, template3); + +- *this << identifier; ++ AddString(identifier); + } + + template< class T1, class T2, class T3, class T4 > +@@ -152,7 +153,7 @@ + SetTemplateParameter(3, template3); + SetTemplateParameter(4, template4); + +- *this << identifier; ++ AddString(identifier); + } + + tOutput(const tOutput &o); // copy constructor diff --git a/games-action/armagetronad/metadata.xml b/games-action/armagetronad/metadata.xml new file mode 100644 index 000000000000..0a249e335798 --- /dev/null +++ b/games-action/armagetronad/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <upstream> + <remote-id type="launchpad">armagetronad</remote-id> + </upstream> +</pkgmetadata> |