summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2009-07-11 00:36:40 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2009-07-11 00:36:40 +0000
commit9ab37bb85bc56a90ee4eecf111a9d9a635d2c73b (patch)
tree872e04743fe0106a3da6fbc0cd1cc7044b3a3a64 /games-strategy
parentMarked stable on AMD64 for bug #277103; tested on a dual Opteron 2354. (diff)
downloadgentoo-2-9ab37bb85bc56a90ee4eecf111a9d9a635d2c73b.tar.gz
gentoo-2-9ab37bb85bc56a90ee4eecf111a9d9a635d2c73b.tar.bz2
gentoo-2-9ab37bb85bc56a90ee4eecf111a9d9a635d2c73b.zip
version bump (bug #259701 with submissions from yury fedorchenko); clean old
(Portage version: 2.1.6.13/cvs/Linux i686)
Diffstat (limited to 'games-strategy')
-rw-r--r--games-strategy/glest/ChangeLog10
-rw-r--r--games-strategy/glest/files/glest-3.1.2-gcc43.patch31
-rw-r--r--games-strategy/glest/files/glest-3.1.2-home.patch166
-rw-r--r--games-strategy/glest/files/glest-3.2.2-gentoo.patch151
-rw-r--r--games-strategy/glest/files/glest-3.2.2-xerces-c.patch49
-rw-r--r--games-strategy/glest/glest-3.1.2.ebuild106
-rw-r--r--games-strategy/glest/glest-3.2.2.ebuild85
-rw-r--r--games-strategy/glest/metadata.xml3
8 files changed, 297 insertions, 304 deletions
diff --git a/games-strategy/glest/ChangeLog b/games-strategy/glest/ChangeLog
index 139d2f4866d1..fda01bd00981 100644
--- a/games-strategy/glest/ChangeLog
+++ b/games-strategy/glest/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for games-strategy/glest
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-strategy/glest/ChangeLog,v 1.22 2009/01/22 18:53:35 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/glest/ChangeLog,v 1.23 2009/07/11 00:36:39 mr_bones_ Exp $
+
+*glest-3.2.2 (11 Jul 2009)
+
+ 11 Jul 2009; Michael Sterrett <mr_bones_@gentoo.org>
+ -files/glest-3.1.2-gcc43.patch, -files/glest-3.1.2-home.patch,
+ +files/glest-3.2.2-gentoo.patch, +files/glest-3.2.2-xerces-c.patch,
+ -glest-3.1.2.ebuild, +glest-3.2.2.ebuild:
+ version bump (bug #259701 with submissions from yury fedorchenko); clean old
22 Jan 2009; Michael Sterrett <mr_bones_@gentoo.org> glest-3.1.2.ebuild:
transition to the non-no* use flags in libsdl
diff --git a/games-strategy/glest/files/glest-3.1.2-gcc43.patch b/games-strategy/glest/files/glest-3.1.2-gcc43.patch
deleted file mode 100644
index 425aa6f9ff4c..000000000000
--- a/games-strategy/glest/files/glest-3.1.2-gcc43.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- shared_lib/sources/platform/posix/socket.cpp.old 2008-10-19 13:45:33.000000000 +0200
-+++ shared_lib/sources/platform/posix/socket.cpp 2008-10-19 13:48:42.000000000 +0200
-@@ -8,6 +8,8 @@
-
- #include "socket.h"
-
-+#include <stdlib.h>
-+#include <string.h>
- #include <stdexcept>
- #include <sstream>
- #if defined(HAVE_SYS_IOCTL_H)
---- shared_lib/sources/util/conversion.cpp.old 2008-10-19 14:12:55.000000000 +0200
-+++ shared_lib/sources/util/conversion.cpp 2008-10-19 14:13:49.000000000 +0200
-@@ -13,6 +13,7 @@
-
- #include <stdexcept>
- #include <cstdio>
-+#include <stdlib.h>
-
- #include "leak_dumper.h"
-
---- shared_lib/sources/util/util.cpp.old 2008-10-19 14:20:17.000000000 +0200
-+++ shared_lib/sources/util/util.cpp 2008-10-19 14:21:07.000000000 +0200
-@@ -14,6 +14,7 @@
- #include <ctime>
- #include <cassert>
- #include <stdexcept>
-+#include <string.h>
-
- #include "leak_dumper.h"
-
diff --git a/games-strategy/glest/files/glest-3.1.2-home.patch b/games-strategy/glest/files/glest-3.1.2-home.patch
deleted file mode 100644
index df0351f05853..000000000000
--- a/games-strategy/glest/files/glest-3.1.2-home.patch
+++ /dev/null
@@ -1,166 +0,0 @@
---- glest_game/ai/ai_interface.cpp.old 2008-10-20 22:06:57.000000000 +0200
-+++ glest_game/ai/ai_interface.cpp 2008-10-20 22:09:19.000000000 +0200
-@@ -48,7 +48,9 @@
-
- //clear log file
- if(logLevel>0){
-- FILE *f= fopen(getLogFilename().c_str(), "wt");
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest/%s", getenv("HOME"), getLogFilename().c_str());
-+ FILE *f= fopen(path, "wt");
- if(f==NULL){
- throw runtime_error("Can't open file: "+getLogFilename());
- }
-@@ -71,7 +73,9 @@
- string logString= "(" + intToStr(factionIndex) + ") " + s;
-
- //print log to file
-- FILE *f= fopen(getLogFilename().c_str(), "at");
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest/%s", getenv("HOME"), getLogFilename().c_str());
-+ FILE *f= fopen(path, "at");
- if(f==NULL){
- throw runtime_error("Can't open file: "+getLogFilename());
- }
---- glest_game/game/game.cpp.old 2008-10-19 14:28:24.000000000 +0200
-+++ glest_game/game/game.cpp 2008-10-19 14:28:51.000000000 +0200
-@@ -11,6 +11,8 @@
-
- #include "game.h"
-
-+#include <limits.h>
-+
- #include "config.h"
- #include "renderer.h"
- #include "particle_renderer.h"
-@@ -400,9 +400,10 @@
- }
- else if(key=='E'){
- for(int i=0; i<100; ++i){
-- string path= "screens/screen" + intToStr(i) + ".tga";
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest/screens/screen%d.tga", getenv("HOME"), i);
-
-- FILE *f= fopen(path.c_str(), "rb");
-+ FILE *f= fopen(path, "rb");
- if(f==NULL){
- Renderer::getInstance().saveScreen(path);
- break;
---- glest_game/main/main.cpp.old 2008-10-18 22:03:33.000000000 +0200
-+++ glest_game/main/main.cpp 2008-10-18 22:05:22.000000000 +0200
-@@ -13,6 +13,7 @@
-
- #include <string>
- #include <cstdlib>
-+#include <sys/stat.h>
-
- #include "game.h"
- #include "main_menu.h"
-@@ -38,7 +38,9 @@
- class ExceptionHandler: public PlatformExceptionHandler{
- public:
- virtual void handle(string description, void *address){
-- FILE *f= fopen("crash.txt", "at");
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest/crash.txt", getenv("HOME"));
-+ FILE *f= fopen(path, "at");
- if(f!=NULL){
- time_t t= time(NULL);
- char *timeString= asctime(localtime(&t));
-@@ -130,6 +130,17 @@
- // =====================================================
-
- int glestMain(int argc, char** argv){
-+ if (!getenv("HOME"))
-+ throw runtime_error("HOME external variable is not set");
-+
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest", getenv("HOME"));
-+ mkdir(path, 0750);
-+
-+ snprintf(path, PATH_MAX, "%s/.glest/screens", getenv("HOME"));
-+ mkdir(path, 0750);
-+
-+ chdir("@GENTOO_DATADIR@");
-
- MainWindow *mainWindow= NULL;
- Program *program= NULL;
---- glest_game/main/program.cpp.old 2008-10-20 22:11:29.000000000 +0200
-+++ glest_game/main/program.cpp 2008-10-20 22:12:16.000000000 +0200
-@@ -197,8 +197,10 @@
- updateCameraTimer.init(GameConstants::cameraFps, maxTimes);
-
- //log start
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest/glest.log", getenv("HOME"));
- Logger &logger= Logger::getInstance();
-- logger.setFile("glest.log");
-+ logger.setFile(path);
- logger.clear();
-
- //lang
---- shared_lib/sources/util/leak_dumper.cpp.old 2008-10-21 22:35:33.000000000 +0200
-+++ shared_lib/sources/util/leak_dumper.cpp 2008-10-21 22:36:28.000000000 +0200
-@@ -52,7 +52,9 @@
- }
-
- AllocRegistry::~AllocRegistry(){
-- dump("leak_dump.log");
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest/leak_dump.log", getenv("HOME"));
-+ dump(path);
- }
-
- void AllocRegistry::allocate(AllocInfo info){
---- shared_lib/sources/util/properties.cpp.old 2008-10-19 14:37:19.000000000 +0200
-+++ shared_lib/sources/util/properties.cpp 2008-10-19 14:37:49.000000000 +0200
-@@ -13,6 +13,9 @@
-
- #include <fstream>
- #include <stdexcept>
-+#include <limits.h>
-+#include <stdlib.h>
-+#include <string.h>
-
- #include "conversion.h"
- #include "leak_dumper.h"
-@@ -33,9 +33,13 @@
-
- this->path= path;
-
-- fileStream.open(path.c_str(), ios_base::in);
-+ char str[PATH_MAX];
-+ snprintf(str, PATH_MAX, "%s/.glest/%s", getenv("HOME"), path.c_str());
-+ fileStream.open(str, ios_base::in);
- if(fileStream.fail()){
-- throw runtime_error("Can't open propertyMap file: " + path);
-+ fileStream.open(path.c_str(), ios_base::in); // use defaults
-+ if(fileStream.fail())
-+ throw runtime_error("Can't open propertyMap file: " + path);
- }
-
- propertyMap.clear();
-@@ -71,7 +75,9 @@
- void Properties::save(const string &path){
- ofstream fileStream;
-
-- fileStream.open(path.c_str(), ios_base::out | ios_base::trunc);
-+ char str[PATH_MAX];
-+ snprintf(str, PATH_MAX, "%s/.glest/%s", getenv("HOME"), path.c_str());
-+ fileStream.open(str, ios_base::out | ios_base::trunc);
-
- fileStream << "; === propertyMap File === \n";
- fileStream << '\n';
---- shared_lib/sources/util/profiler.cpp.old 2008-10-21 22:38:11.000000000 +0200
-+++ shared_lib/sources/util/profiler.cpp 2008-10-21 22:38:50.000000000 +0200
-@@ -71,7 +71,9 @@
- Profiler::~Profiler(){
- rootSection->stop();
-
-- FILE *f= fopen("profiler.log", "w");
-+ char path[PATH_MAX];
-+ snprintf(path, PATH_MAX, "%s/.glest/profiler.log", getenv("HOME"));
-+ FILE *f= fopen(path, "w");
- if(f==NULL)
- throw runtime_error("Can not open file: profiler.log");
-
diff --git a/games-strategy/glest/files/glest-3.2.2-gentoo.patch b/games-strategy/glest/files/glest-3.2.2-gentoo.patch
new file mode 100644
index 000000000000..633fe37355c7
--- /dev/null
+++ b/games-strategy/glest/files/glest-3.2.2-gentoo.patch
@@ -0,0 +1,151 @@
+diff -urN glest-source-3.2.2/glest_game/ai/ai_interface.h glest-source-3.2.2_mod/glest_game/ai/ai_interface.h
+--- glest-source-3.2.2/glest_game/ai/ai_interface.h 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/glest_game/ai/ai_interface.h 2009-04-15 12:25:04.000000000 +0400
+@@ -84,7 +84,11 @@
+ bool isFreeCells(const Vec2i &pos, int size, Field field);
+
+ private:
+- string getLogFilename() const {return "ai"+intToStr(factionIndex)+".log";}
++ string getLogFilename() const {
++ string logfn=getenv("HOME");
++ logfn+="/.glest/ai"+intToStr(factionIndex)+".log";
++ return logfn;
++ }
+ };
+
+ }}//end namespace
+diff -urN glest-source-3.2.2/glest_game/ai/ai_rule.cpp glest-source-3.2.2_mod/glest_game/ai/ai_rule.cpp
+--- glest-source-3.2.2/glest_game/ai/ai_rule.cpp 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/glest_game/ai/ai_rule.cpp 2009-04-15 11:19:02.000000000 +0400
+@@ -17,6 +17,8 @@
+ #include "unit.h"
+ #include "leak_dumper.h"
+
++#include <limits.h>
++
+ using Shared::Graphics::Vec2i;
+
+ namespace Glest{ namespace Game{
+diff -urN glest-source-3.2.2/glest_game/game/game.cpp glest-source-3.2.2_mod/glest_game/game/game.cpp
+--- glest-source-3.2.2/glest_game/game/game.cpp 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/glest_game/game/game.cpp 2009-04-15 12:21:29.000000000 +0400
+@@ -443,7 +443,8 @@
+ }
+ else if(key=='E'){
+ for(int i=0; i<100; ++i){
+- string path= "screens/screen" + intToStr(i) + ".tga";
++ string path=getenv("HOME");
++ path+="/.glest/screens/screen" + intToStr(i) + ".tga";
+
+ FILE *f= fopen(path.c_str(), "rb");
+ if(f==NULL){
+diff -urN glest-source-3.2.2/glest_game/main/main.cpp glest-source-3.2.2_mod/glest_game/main/main.cpp
+--- glest-source-3.2.2/glest_game/main/main.cpp 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/glest_game/main/main.cpp 2009-04-15 12:32:04.000000000 +0400
+@@ -114,6 +114,17 @@
+ // =====================================================
+
+ int glestMain(int argc, char** argv){
++ if (!getenv("HOME"))
++ throw runtime_error("HOME external variable is not set");
++
++ char path[PATH_MAX];
++ snprintf(path, PATH_MAX, "%s/.glest", getenv("HOME"));
++ mkdir(path, 0750);
++
++ snprintf(path, PATH_MAX, "%s/.glest/screens", getenv("HOME"));
++ mkdir(path, 0750);
++
++ chdir("@GENTOO_DATADIR@");
+
+ MainWindow *mainWindow= NULL;
+ Program *program= NULL;
+diff -urN glest-source-3.2.2/glest_game/main/program.cpp glest-source-3.2.2_mod/glest_game/main/program.cpp
+--- glest-source-3.2.2/glest_game/main/program.cpp 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/glest_game/main/program.cpp 2009-04-15 12:11:51.000000000 +0400
+@@ -196,9 +196,11 @@
+ updateTimer.init(GameConstants::updateFps, maxTimes);
+ updateCameraTimer.init(GameConstants::cameraFps, maxTimes);
+
+- //log start
+- Logger &logger= Logger::getInstance();
+- logger.setFile("glest.log");
++ //log start
++ char path[PATH_MAX];
++ snprintf(path, PATH_MAX, "%s/.glest/glest.log", getenv("HOME"));
++ Logger &logger= Logger::getInstance();
++ logger.setFile(path);
+ logger.clear();
+
+ //lang
+diff -urN glest-source-3.2.2/shared_lib/sources/util/leak_dumper.cpp glest-source-3.2.2_mod/shared_lib/sources/util/leak_dumper.cpp
+--- glest-source-3.2.2/shared_lib/sources/util/leak_dumper.cpp 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/shared_lib/sources/util/leak_dumper.cpp 2009-04-15 12:04:49.000000000 +0400
+@@ -52,7 +52,9 @@
+ }
+
+ AllocRegistry::~AllocRegistry(){
+- dump("leak_dump.log");
++ char path[PATH_MAX];
++ snprintf(path, PATH_MAX, "%s/.glest/leak_dump.log", getenv("HOME"));
++ dump(path);
+ }
+
+ void AllocRegistry::allocate(AllocInfo info){
+diff -urN glest-source-3.2.2/shared_lib/sources/util/profiler.cpp glest-source-3.2.2_mod/shared_lib/sources/util/profiler.cpp
+--- glest-source-3.2.2/shared_lib/sources/util/profiler.cpp 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/shared_lib/sources/util/profiler.cpp 2009-04-15 12:01:52.000000000 +0400
+@@ -71,9 +71,11 @@
+ Profiler::~Profiler(){
+ rootSection->stop();
+
+- FILE *f= fopen("profiler.log", "w");
++ char path[PATH_MAX];
++ snprintf(path, PATH_MAX, "%s/.glest/profiler.log", getenv("HOME"));
++ FILE *f= fopen(path, "w");
+ if(f==NULL)
+- throw runtime_error("Can not open file: profiler.log");
++ throw runtime_error("Can not open file: %s",path);
+
+ fprintf(f, "Profiler Results\n\n");
+
+diff -urN glest-source-3.2.2/shared_lib/sources/util/properties.cpp glest-source-3.2.2_mod/shared_lib/sources/util/properties.cpp
+--- glest-source-3.2.2/shared_lib/sources/util/properties.cpp 2009-04-15 11:17:19.000000000 +0400
++++ glest-source-3.2.2_mod/shared_lib/sources/util/properties.cpp 2009-04-15 13:09:33.000000000 +0400
+@@ -15,6 +15,9 @@
+ #include <stdexcept>
+ #include <cstring>
+
++#include <limits.h>
++#include <stdlib.h>
++
+ #include "conversion.h"
+ #include "leak_dumper.h"
+
+@@ -34,9 +37,13 @@
+
+ this->path= path;
+
+- fileStream.open(path.c_str(), ios_base::in);
++ char str[PATH_MAX];
++ snprintf(str, PATH_MAX, "%s/.glest/%s", getenv("HOME"), path.c_str());
++ fileStream.open(str, ios_base::in);
+ if(fileStream.fail()){
+- throw runtime_error("Can't open propertyMap file: " + path);
++ fileStream.open(path.c_str(), ios_base::in); // use defaults
++ if(fileStream.fail())
++ throw runtime_error("Can't open propertyMap file: " + path + " cwd: "+ getenv("PWD"));
+ }
+
+ propertyMap.clear();
+@@ -71,7 +78,9 @@
+ void Properties::save(const string &path){
+ ofstream fileStream;
+
+- fileStream.open(path.c_str(), ios_base::out | ios_base::trunc);
++ char str[PATH_MAX];
++ snprintf(str, PATH_MAX, "%s/.glest/%s", getenv("HOME"), path.c_str());
++ fileStream.open(str, ios_base::out | ios_base::trunc);
+
+ fileStream << "; === propertyMap File === \n";
+ fileStream << '\n';
diff --git a/games-strategy/glest/files/glest-3.2.2-xerces-c.patch b/games-strategy/glest/files/glest-3.2.2-xerces-c.patch
new file mode 100644
index 000000000000..98e9f400d416
--- /dev/null
+++ b/games-strategy/glest/files/glest-3.2.2-xerces-c.patch
@@ -0,0 +1,49 @@
+diff -urN glest-source-3.2.1/shared_lib/sources/xml/xml_parser.cpp glest-source-3.2.1.mod/shared_lib/sources/xml/xml_parser.cpp
+--- glest-source-3.2.1/shared_lib/sources/xml/xml_parser.cpp 2009-02-13 18:52:25.000000000 +0300
++++ glest-source-3.2.1.mod/shared_lib/sources/xml/xml_parser.cpp 2009-04-15 11:13:46.000000000 +0400
+@@ -87,10 +87,17 @@
+
+ try{
+ ErrorHandler errorHandler;
+- DOMBuilder *parser= (static_cast<DOMImplementationLS*>(implementation))->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
+- parser->setErrorHandler(&errorHandler);
+- parser->setFeature(XMLUni::fgXercesSchemaFullChecking, true);
+- parser->setFeature(XMLUni::fgDOMValidation, true);
++#if XERCES_VERSION_MAJOR < 3
++ DOMBuilder *parser= (static_cast<DOMImplementationLS*>(implementation))->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
++ parser->setErrorHandler(&errorHandler);
++ parser->setFeature(XMLUni::fgXercesSchemaFullChecking, true);
++ parser->setFeature(XMLUni::fgDOMValidation, true);
++#else
++ DOMLSParser *parser = (static_cast<DOMImplementationLS*>(implementation))->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
++ DOMConfiguration *config = parser->getDomConfig();
++ config->setParameter(XMLUni::fgXercesSchemaFullChecking, true);
++ config->setParameter(XMLUni::fgDOMValidate, true);
++#endif
+ DOMDocument *document= parser->parseURI(path.c_str());
+
+ if(document==NULL){
+@@ -119,9 +126,20 @@
+ }
+
+ LocalFileFormatTarget file(path.c_str());
+- DOMWriter* writer = implementation->createDOMWriter();
+- writer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);
+- writer->writeNode(&file, *document);
++#if XERCES_VERSION_MAJOR < 3
++ DOMWriter* writer = implementation->createDOMWriter();
++ writer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);
++ writer->writeNode(&file, *document);
++#else
++ DOMLSSerializer *serializer = implementation->createLSSerializer();
++ DOMLSOutput* output=implementation->createLSOutput();
++ DOMConfiguration* config=serializer->getDomConfig();
++ config->setParameter(XMLUni::fgDOMWRTFormatPrettyPrint,true);
++ output->setByteStream(&file);
++ serializer->write(document,output);
++ output->release();
++ serializer->release();
++#endif
+ document->release();
+ }
+ catch(const DOMException &e){
diff --git a/games-strategy/glest/glest-3.1.2.ebuild b/games-strategy/glest/glest-3.1.2.ebuild
deleted file mode 100644
index d65a042d74a5..000000000000
--- a/games-strategy/glest/glest-3.1.2.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-strategy/glest/glest-3.1.2.ebuild,v 1.5 2009/01/22 18:53:35 mr_bones_ Exp $
-
-EAPI=2
-inherit autotools eutils games
-
-L_URI="http://www.glest.org/files/contrib/translations"
-DESCRIPTION="Cross-platform 3D realtime strategy game"
-HOMEPAGE="http://www.glest.org/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}-source-${PV}.tar.bz2
- mirror://sourceforge/${PN}/${PN}_data_${PV}.zip
- linguas_pt_BR? ( ${L_URI}/brazilian_${PV}.zip )
- linguas_cs? ( ${L_URI}/cesky_${PV}.zip )
- linguas_de? ( ${L_URI}/german_${PV}.zip )
- linguas_hu? ( ${L_URI}/magyar_${PV}.zip )
- linguas_no? ( ${L_URI}/norsk_${PV}.zip )
- linguas_ru? ( ${L_URI}/russian_${PV}.zip )
- linguas_tr? ( ${L_URI}/turkish_${PV}.zip )"
-
-LICENSE="GPL-2 glest-data"
-SLOT="0"
-KEYWORDS="~amd64 -ppc ~x86" # ppc: bug #145478
-IUSE="linguas_pt_BR linguas_cs linguas_de linguas_hu linguas_no linguas_ru
-linguas_tr"
-
-RDEPEND="|| ( media-libs/libsdl[joystick] <media-libs/libsdl-1.2.13-r1 )
- media-libs/libogg
- media-libs/libvorbis
- media-libs/openal
- <dev-libs/xerces-c-3
- virtual/opengl
- virtual/glu
- x11-libs/libX11
- media-fonts/font-adobe-utopia-75dpi"
-DEPEND="${RDEPEND}
- app-arch/unzip
- dev-util/ftjam"
-
-S="${WORKDIR}"/${PN}-source-${PV}
-
-GAMES_USE_SDL="nojoystick"
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/${P}-{home,gcc43}.patch
-
- sed -i \
- -e "s:@GENTOO_DATADIR@:${GAMES_DATADIR}/${PN}:" \
- glest_game/main/main.cpp \
- || die "sed main.cpp failed"
-
- # sometimes they package configure, sometimes they don't
- if [[ ! -f configure ]] ; then
- chmod a+x autogen.sh
- ./autogen.sh || die "autogen failed" # FIXME: use autotools.eclass
- fi
-
- sed -i 's:-O3 -g3::' Jamrules || die "sed Jamrules failed"
-}
-
-src_configure() {
- # Fails with wx enabled, bug #130011
- egamesconf \
- --with-vorbis=/usr \
- --with-ogg=/usr \
- --with-wx-config=disabled_wx
-}
-
-src_compile() {
- jam -q || die "jam failed"
-}
-
-src_install() {
- dogamesbin glest || die "dogamesbin glest failed"
-
- insinto "${GAMES_DATADIR}"/${PN}
- doins glest.ini || die "doins glest.ini failed"
- dodoc README.linux || die "dodoc README.linux failed"
-
- cd "${WORKDIR}"/glest_game
- doins -r servers.ini \
- glest_irc.url \
- glest_web.url \
- data maps scenarios techs tilesets || die "doins data failed"
- dodoc docs/readme.txt || die "dodoc docs/readme.txt failed"
-
- newicon techs/magitech/factions/magic/units/archmage/images/archmage.bmp \
- ${PN}.bmp
- make_desktop_entry glest Glest /usr/share/pixmaps/${PN}.bmp
-
- dolang() {
- insinto "${GAMES_DATADIR}"/${PN}/data/lang
- doins "${WORKDIR}"/${1} || die "doins ${1} failed"
- }
-
- use linguas_pt_BR && dolang brazilian_${PV}.lng
- use linguas_cs && dolang cesky.lng
- use linguas_de && dolang german.lng
- use linguas_hu && dolang magyar.lng
- use linguas_no && dolang norsk.lng
- use linguas_ru && dolang russian.lng
- use linguas_tr && dolang turkish.lng
-
- prepgamesdirs
-}
diff --git a/games-strategy/glest/glest-3.2.2.ebuild b/games-strategy/glest/glest-3.2.2.ebuild
new file mode 100644
index 000000000000..e9f6680e85c1
--- /dev/null
+++ b/games-strategy/glest/glest-3.2.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/glest/glest-3.2.2.ebuild,v 1.1 2009/07/11 00:36:39 mr_bones_ Exp $
+
+EAPI=2
+inherit eutils games
+
+DESCRIPTION="Cross-platform 3D realtime strategy game"
+HOMEPAGE="http://www.glest.org/"
+SRC_URI="http://www.titusgames.de/${PN}-source-${PV}.tar.bz2
+ mirror://sourceforge/glest/${PN}_data_3.2.1.zip"
+
+LICENSE="GPL-2 glest-data"
+SLOT="0"
+KEYWORDS="~amd64 -ppc ~x86" # ppc: bug #145478
+IUSE="editor"
+
+RDEPEND="media-libs/libsdl[joystick,video]
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ || ( >=dev-libs/xerces-c-3[icu] >=dev-libs/xerces-c-3[-icu,-iconv] )
+ virtual/opengl
+ virtual/glu
+ dev-lang/lua
+ x11-libs/libX11
+ editor? ( x11-libs/wxGTK )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/ftjam"
+
+S=${WORKDIR}/${PN}-source-${PV}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-{gentoo,xerces-c}.patch
+
+ sed -i \
+ -e "s:@GENTOO_DATADIR@:${GAMES_DATADIR}/${PN}:" \
+ glest_game/main/main.cpp \
+ || die "sed failed"
+
+ sed -i \
+ -e '/Lang/s:\.lng::' \
+ glest.ini \
+ || die "sed failed"
+
+ sed -i \
+ -e 's:-O3 -DNDEBUG:-DNDEBUG:' \
+ Jamrules \
+ || die "sed failed"
+}
+
+src_configure() {
+ use editor || NOWX="--with-wx-config=disabled_wx"
+ egamesconf \
+ --with-vorbis=/usr \
+ --with-ogg=/usr \
+ ${NOWX}
+}
+
+src_compile() {
+ local jamopts=$(echo "${MAKEOPTS}" | sed -ne "/-j/ { s/.*\(-j[0-9]\+\).*/\1/; p }")
+ jam -dx -q ${jamopts} || die "jam failed"
+}
+
+src_install() {
+ dogamesbin glest || die "dogamesbin glest failed"
+ if use editor ; then
+ dogamesbin glest_editor || die "dogamesbin glest_editor failed"
+ fi
+
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins glest.ini || die "doins glest.ini failed"
+
+ cd "${WORKDIR}"/glest_game
+ doins -r servers.ini \
+ data maps scenarios techs tilesets || die "doins data failed"
+ dodoc docs/readme.txt || die "dodoc docs/readme.txt failed"
+
+ newicon techs/magitech/factions/magic/units/archmage/images/archmage.bmp \
+ ${PN}.bmp || die "newicon failed"
+ make_desktop_entry glest Glest /usr/share/pixmaps/${PN}.bmp
+ prepgamesdirs
+}
diff --git a/games-strategy/glest/metadata.xml b/games-strategy/glest/metadata.xml
index d3c2cc926f0b..5643528e60e3 100644
--- a/games-strategy/glest/metadata.xml
+++ b/games-strategy/glest/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>games</herd>
+ <use>
+ <flag name="editor">Also install a level editor</flag>
+ </use>
</pkgmetadata>