diff options
Diffstat (limited to 'games-strategy')
-rw-r--r-- | games-strategy/freeorion/ChangeLog | 10 | ||||
-rw-r--r-- | games-strategy/freeorion/files/remove_cruft_EffectParser.cpp.patch | 29 | ||||
-rw-r--r-- | games-strategy/freeorion/freeorion-9999-r8.ebuild (renamed from games-strategy/freeorion/freeorion-9999-r7.ebuild) | 4 |
3 files changed, 43 insertions, 0 deletions
diff --git a/games-strategy/freeorion/ChangeLog b/games-strategy/freeorion/ChangeLog index 2626db8..de72961 100644 --- a/games-strategy/freeorion/ChangeLog +++ b/games-strategy/freeorion/ChangeLog @@ -2,6 +2,16 @@ # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*freeorion-9999-r8 (20 Apr 2012) + + 20 Apr 2012; Sven Eden <sven.eden@gmx.de> + +freeorion-9999-r8.ebuild, + -freeorion-9999-r7.ebuild: + gcc-4.6.2 crashes on EffectParser.cpp which preprocesses into a + 275,320 lines sized file. Two includes that add a huge amount + of files are unnecessary and are patched away now, reducing the + size by over 80,000 lines. Now it can be compiled with gcc-4.6.2. + *freeorion-9999-r7 (19 Apr 2012) 19 Apr 2012; Sven Eden <sven.eden@gmx.de> diff --git a/games-strategy/freeorion/files/remove_cruft_EffectParser.cpp.patch b/games-strategy/freeorion/files/remove_cruft_EffectParser.cpp.patch new file mode 100644 index 0000000..b4454dd --- /dev/null +++ b/games-strategy/freeorion/files/remove_cruft_EffectParser.cpp.patch @@ -0,0 +1,29 @@ +--- FreeOrion/parse/EffectParser.cpp 2012-04-20 13:12:33.892274619 +0200 ++++ FreeOrion/parse/EffectParser.cpp 2012-04-20 12:54:54.382219385 +0200 +@@ -5,18 +5,22 @@ + #include "Label.h" + #include "ValueRefParser.h" + #include "../universe/Effect.h" +-#include "../universe/ValueRef.h" ++//#include "../universe/ValueRef.h" + +-#include <GG/ReportParseError.h> + +-#include <boost/spirit/home/phoenix.hpp> ++#define DEBUG_PARSERS 0 ++ ++#if DEBUG_PARSERS ++# include <GG/ReportParseError.h> ++#endif + + ++#include <boost/spirit/home/phoenix.hpp> ++ + namespace qi = boost::spirit::qi; + namespace phoenix = boost::phoenix; + + +-#define DEBUG_PARSERS 0 + + namespace { + struct effect_parser_rules { diff --git a/games-strategy/freeorion/freeorion-9999-r7.ebuild b/games-strategy/freeorion/freeorion-9999-r8.ebuild index 6afdfdc..4869280 100644 --- a/games-strategy/freeorion/freeorion-9999-r7.ebuild +++ b/games-strategy/freeorion/freeorion-9999-r8.ebuild @@ -43,6 +43,10 @@ src_prepare() { sed -i -e \ "s:svn_revision_number ???:svn_revision_number ${ESVN_WC_REVISION}:" \ FreeOrion/CMakeLists.txt || die "sed FreeOrion/CMakeLists.txt failed" + + # gcc-4.6.2 crashes with an internal segfault on EffectParser.cpp + # Solution: remove those includes, that are way too much. + epatch "${FILESDIR}/remove_cruft_EffectParser.cpp.patch } src_configure() { |