summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2008-10-21 21:05:50 +0000
committerAlfredo Tupone <tupone@gentoo.org>2008-10-21 21:05:50 +0000
commitb05e942088d8716ba68dccefdab5e08062d7cdab (patch)
treef0412c3969e990d0093769c41445b845940c2914 /games-strategy/glest
parentMigrate to slot dependencies. (diff)
downloadgentoo-2-b05e942088d8716ba68dccefdab5e08062d7cdab.tar.gz
gentoo-2-b05e942088d8716ba68dccefdab5e08062d7cdab.tar.bz2
gentoo-2-b05e942088d8716ba68dccefdab5e08062d7cdab.zip
Version bump to 3.1.2 Bug #208291
(Portage version: 2.1.4.5)
Diffstat (limited to 'games-strategy/glest')
-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/glest-3.1.2.ebuild106
4 files changed, 311 insertions, 2 deletions
diff --git a/games-strategy/glest/ChangeLog b/games-strategy/glest/ChangeLog
index c1221af3912b..dc9e32b68ed5 100644
--- a/games-strategy/glest/ChangeLog
+++ b/games-strategy/glest/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for games-strategy/glest
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-strategy/glest/ChangeLog,v 1.17 2007/11/21 04:19:03 dirtyepic Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/glest/ChangeLog,v 1.18 2008/10/21 21:05:49 tupone Exp $
+
+*glest-3.1.2 (21 Oct 2008)
+
+ 21 Oct 2008; <tupone@gentoo.org> +files/glest-3.1.2-gcc43.patch,
+ +files/glest-3.1.2-home.patch, +glest-3.1.2.ebuild:
+ Version bump to 3.1.2 Bug #208291 by GNUtoo@no-log.org
21 Nov 2007; Ryan Hill <dirtyepic@gentoo.org> glest-2.0.1.ebuild:
Allow building with ftjam for bug #188194
diff --git a/games-strategy/glest/files/glest-3.1.2-gcc43.patch b/games-strategy/glest/files/glest-3.1.2-gcc43.patch
new file mode 100644
index 000000000000..425aa6f9ff4c
--- /dev/null
+++ b/games-strategy/glest/files/glest-3.1.2-gcc43.patch
@@ -0,0 +1,31 @@
+--- 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
new file mode 100644
index 000000000000..df0351f05853
--- /dev/null
+++ b/games-strategy/glest/files/glest-3.1.2-home.patch
@@ -0,0 +1,166 @@
+--- 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/glest-3.1.2.ebuild b/games-strategy/glest/glest-3.1.2.ebuild
new file mode 100644
index 000000000000..dd12b1429f3a
--- /dev/null
+++ b/games-strategy/glest/glest-3.1.2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2008 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.1 2008/10/21 21:05:49 tupone Exp $
+
+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
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ dev-libs/xerces-c
+ 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_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ 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_compile() {
+ # Fails with wx enabled, bug #130011
+ egamesconf \
+ --with-vorbis=/usr \
+ --with-ogg=/usr \
+ --with-wx-config=disabled_wx \
+ || die
+ 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
+}