summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-rpg/eternal-lands/ChangeLog7
-rw-r--r--games-rpg/eternal-lands/eternal-lands-1.3.3.ebuild137
-rw-r--r--games-rpg/eternal-lands/files/digest-eternal-lands-1.3.36
-rw-r--r--games-rpg/eternal-lands/files/eternal-lands-1.3.0-update-createdir.patch134
-rw-r--r--games-rpg/eternal-lands/files/eternal-lands-1.3.2-shader.patch14
5 files changed, 6 insertions, 292 deletions
diff --git a/games-rpg/eternal-lands/ChangeLog b/games-rpg/eternal-lands/ChangeLog
index bd918319da74..38db59daecfc 100644
--- a/games-rpg/eternal-lands/ChangeLog
+++ b/games-rpg/eternal-lands/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for games-rpg/eternal-lands
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-rpg/eternal-lands/ChangeLog,v 1.35 2007/12/29 03:16:04 rich0 Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/eternal-lands/ChangeLog,v 1.36 2007/12/29 03:20:48 rich0 Exp $
+
+ 29 Dec 2007; Richard Freeman <rich0@gentoo.org>
+ -files/eternal-lands-1.3.0-update-createdir.patch,
+ -files/eternal-lands-1.3.2-shader.patch, -eternal-lands-1.3.3.ebuild:
+ Removing old versions - they no longer work with the server.
*eternal-lands-1.5.0 (29 Dec 2007)
diff --git a/games-rpg/eternal-lands/eternal-lands-1.3.3.ebuild b/games-rpg/eternal-lands/eternal-lands-1.3.3.ebuild
deleted file mode 100644
index f56913e9521a..000000000000
--- a/games-rpg/eternal-lands/eternal-lands-1.3.3.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-rpg/eternal-lands/eternal-lands-1.3.3.ebuild,v 1.5 2007/06/12 12:49:26 nyhm Exp $
-
-inherit eutils flag-o-matic games
-
-MY_PV="${PV//_/}"
-MY_PV="${MY_PV//./}"
-S="${WORKDIR}/elc"
-DESCRIPTION="An online MMORPG written in C and SDL"
-HOMEPAGE="http://www.eternal-lands.com"
-SRC_URI="mirror://gentoo/elc_${MY_PV}.tar.bz2
- mirror://gentoo/eternal-lands.png"
-
-# NOTE: Sometimes you'll have to roll your own elc tarball from their CVS
-# tree as they don't always release one.
-# If they do then use this in SRC_URI instead
-# ftp://ftp.berlios.de/pub/elc/elc_${MY_PV}.tgz
-
-LICENSE="eternal_lands"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~x86-fbsd"
-IUSE="debug doc kernel_linux"
-
-RDEPEND="x11-libs/libX11
- x11-libs/libXau
- x11-libs/libXdmcp
- x11-libs/libXext
- virtual/opengl
- >=media-libs/libsdl-1.2.5
- >=media-libs/sdl-net-1.2.5
- media-libs/openal
- media-libs/freealut
- media-libs/libvorbis
- >=dev-libs/libxml2-2.6.7
- media-libs/cal3d
- !=media-libs/cal3d-0.11.0_pre20050823
- >=media-libs/libpng-1.2.8
- ~games-rpg/${PN}-data-${PV}"
-
-DEPEND="${RDEPEND}
- app-arch/unzip
- doc? ( >=app-doc/doxygen-1.3.8
- >=media-gfx/graphviz-1.10 )"
-
-pkg_setup() {
- games_pkg_setup
- if built_with_use media-libs/cal3d 16bit-indices ; then
- eerror "${PN} won't work if media-libs/cal3d has been built with 16bit-indices"
- die "re-emerge media-libs/cal3d without the 16bit-indices USE flag"
- fi
-}
-
-src_unpack() {
- OPTIONS="-DDATA_DIR="\\\\\"${GAMES_DATADIR}/${PN}/\\\\\"""
- S_CLIENT="${WORKDIR}/elc"
- BROWSER="firefox"
-
- unpack ${A}
- cd "${S}"
-
- # Create updated files with correct perms and allow dir creation
- epatch "${FILESDIR}/${PN}-1.3.0-update-createdir.patch"
-
- # Build for amd64
- use amd64 && OPTIONS="${OPTIONS} -DX86_64"
-
- # This should be default in the next version
- OPTIONS="${OPTIONS} -DUSE_ACTOR_DEFAULTS"
-
- # Add debugging options
- if use debug ; then
- OPTIONS="${OPTIONS} -DMEMORY_DEBUG"
- append-flags -ggdb
- fi
-
- sed \
- -e "s@CFLAGS=\$(PLATFORM) \$(CWARN) -O0 -ggdb -pipe@CFLAGS=${CFLAGS} ${OPTIONS} @g"\
- -e "s@CXXFLAGS=\$(PLATFORM) \$(CXXWARN) -O0 -ggdb -pipe@CXXFLAGS=${CXXFLAGS} ${OPTIONS} @g"\
- -e 's/lopenal/lopenal -l alut/' \
- Makefile.linux > Makefile \
- || die "sed failed"
- sed -i \
- -e 's/#browser/browser/g' \
- -e "s/browser = mozilla/#browser = ${BROWSER}/g" \
- -e "s@#data_dir = /usr/local/games/el/@#data_dir = ${GAMES_DATADIR}/${PN}/@g" \
- el.ini || die "sed failed"
-
- # Support BSD in the Linux makefile - it's easier
- use kernel_linux || sed -i -e 's/^CFLAGS=.*/& -DBSD/' Makefile || die "sed failed"
-
- # Gah
- sed -i -e 's/CXX=g++/CXX=gcc/' Makefile || die "sed failed"
-
- # Finally, update the server
- sed -i -e '/#server_address =/ s/.*/#server_address = game.eternal-lands.com/' \
- el.ini || die "sed failed"
-}
-
-src_compile() {
- emake || die "make failed"
- if use doc; then
- emake docs || die "Failed to create documentation, try with USE=-doc"
- mv ./docs/html/ ../client || die "Failed to move documentation directory"
- fi
-}
-
-src_install() {
- newgamesbin el.x86.linux.bin el || die "newgamesbin failed"
- doicon "${DISTDIR}/eternal-lands.png"
- make_desktop_entry el "Eternal Lands"
-
- insopts -m 0660
- insinto "${GAMES_DATADIR}/${PN}"
- doins -r *.ini *.txt commands.lst || die "doins failed"
-
- if use doc ; then
- dohtml -r client/*
- fi
-
- prepgamesdirs
-}
-
-pkg_postinst() {
- games_pkg_postinst
- elog "Auto Update is now enabled in Eternal Lands"
- elog "If an update occurs then the client will suddenly exit"
- elog "Updates only happen when the game first loads"
- elog "Please don't report this behaviour as a bug"
-
- # Ensure that the files are writable by the game group for auto
- # updating.
- chmod -R g+rw "${ROOT}/${GAMES_DATADIR}/${PN}"
-
- # Make sure new files stay in games group
- find "${ROOT}/${GAMES_DATADIR}/${PN}" -type d -exec chmod g+sx {} \;
-}
diff --git a/games-rpg/eternal-lands/files/digest-eternal-lands-1.3.3 b/games-rpg/eternal-lands/files/digest-eternal-lands-1.3.3
deleted file mode 100644
index 65de4adf771f..000000000000
--- a/games-rpg/eternal-lands/files/digest-eternal-lands-1.3.3
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 89d431082f20cb198e82bd44b00fe1a3 elc_133.tar.bz2 859803
-RMD160 0f70bbf218a2e85cd2c81eb2bb238eda3c6f7f5b elc_133.tar.bz2 859803
-SHA256 2abe7161bd329014b5e881573c1777cb42c03b8a5684fecf25abd7a2a23f3659 elc_133.tar.bz2 859803
-MD5 059df8128b11b19a76b54e9907072f00 eternal-lands.png 9955
-RMD160 2f9c8acd96214577cf8b8027f0d20fb1fe7574ff eternal-lands.png 9955
-SHA256 dd7d45cd9948fe7875ebd0bfcd1925d9b34e7606a223faf61d37a6dd2cd433fb eternal-lands.png 9955
diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.3.0-update-createdir.patch b/games-rpg/eternal-lands/files/eternal-lands-1.3.0-update-createdir.patch
deleted file mode 100644
index 56217d7016c1..000000000000
--- a/games-rpg/eternal-lands/files/eternal-lands-1.3.0-update-createdir.patch
+++ /dev/null
@@ -1,134 +0,0 @@
---- elc/update.c 2006-07-04 20:03:48.000000000 +0100
-+++ elc/update.c 2006-07-04 23:34:01.000000000 +0100
-@@ -17,6 +17,18 @@
- #include <sys/stat.h>
- #endif //WINDOWS
-
-+#ifndef S_ISDIR
-+#define S_ISDIR(x) ((x) & S_IFMT) == S_IFDIR)
-+#endif // S_ISDIR
-+
-+#ifdef WINDOWS
-+#define CHMOD(file) 0
-+#define MKDIR(file) mkdir(file)
-+#else
-+#define CHMOD(file) chmod(file, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)
-+#define MKDIR(file) (mkdir(file, S_IRWXU | S_IRWXG) || chmod(file, S_IRWXU | S_IRWXG | S_ISGID))
-+#endif //WINDOWS
-+
- int update_attempt_count; // count how many update attempts have been tried (hopefully diff servers)
- int temp_counter; // collision prevention during downloads just incase more then one ever starts
- int update_busy; // state & lockout control to prevent two updates running at the saem rime
-@@ -165,18 +177,15 @@
- strcpy(update_server, update_servers[0]);
- }
- // failsafe, try to make sure the directory is there
-- if(mkdir_res < 0){
--#ifdef WINDOWS
-- mkdir_res= mkdir("./tmp");
--#else //WINDOWS
-- mkdir_res= mkdir("./tmp", 0777);
--#endif //WINDOWS
-- }
-+ if(mkdir_res < 0)
-+ mkdir_res= MKDIR("./tmp");
- sprintf(filename, "./tmp/temp000.dat");
- ++temp_counter;
- fp= my_fopen(filename, "wb+");
- if(fp){
-+ CHMOD(filename);
- sprintf(filename, "http://%s/updates%d%d%d/files.lst", update_server, VER_MAJOR, VER_MINOR, VER_RELEASE);
-+
- http_threaded_get_file(update_server, filename, fp, NULL, EVENT_UPDATES_DOWNLOADED);
- }
- // and keep running until we get a response
-@@ -288,6 +297,7 @@
- buffer[sizeof(buffer)-1]= '\0';
- fp= my_fopen(download_temp_file, "wb+");
- if(fp){
-+ CHMOD(download_temp_file);
- // build the prope URL to download
- download_cur_file= download_queue[--download_queue_size];
- download_cur_md5= download_MD5s[download_queue_size];
-@@ -305,8 +315,6 @@
- // finish up on one file that just downloaded
- void handle_file_download(struct http_get_struct *get)
- {
-- int sts;
--
- if(!get){ // huh? what are you doing?
- return;
- }
-@@ -317,26 +325,51 @@
- // the download was successful
- // replace the current file
- // TODO: check for remove/rename errors
-- remove(download_cur_file);
-- sts= rename(download_temp_file, download_cur_file);
-
-- // check for errors
-- if(!sts){
-- // TODO: make the restart more intelligent
-- if(allow_restart){
-- restart_required++;
-- }
-- } else {
-+ // First, check directory exists
-+ char *dir = (char *) malloc (strlen (download_cur_file) + 1);
-+ char *slash;
-+ struct stat stats;
-+
-+ strcpy (dir, download_cur_file);
-+ slash = dir;
-+
-+ // Skip over leading slashes.
-+ while (*slash == '/')
-+ slash++;
-+
-+ while (1){
-+ slash = strchr (slash, '/');
-+ if (slash == NULL)
-+ break;
-+
-+ *slash = '\0';
-+ if (! (stat (dir, &stats) == 0 && S_ISDIR (stats.st_mode) ) )
-+ if (MKDIR(dir)!= 0) {
-+ log_error("cannot create directory %s", dir);
-+ break;
-+ }
-+ *slash++ = '/';
-+
-+ // Avoid unnecessary calls to mkdir when given
-+ // file names containing multiple adjacent slashes.
-+ while (*slash == '/')
-+ slash++;
-+ }
-+
-+ remove(download_cur_file);
-+ if (rename(download_temp_file, download_cur_file)){
-+ remove(download_temp_file);
- log_error("Unable to finish processing of %d (%d)", download_cur_file, errno);
- // the final renamed failed, no restart permitted
- allow_restart= 0;
- restart_required= 0;
-+ } else {
-+ if(allow_restart)
-+ restart_required++;
- }
-- } else {
-- // and make sure we can't restart since we had a total failure
-- allow_restart= 0;
-- restart_required= 0;
- }
-+
- // release the filename
- free(download_cur_file);
- free(download_cur_md5);
-@@ -358,6 +391,7 @@
- sprintf(download_temp_file, "./tmp/temp%03d.dat", ++temp_counter);
- fp= my_fopen(download_temp_file, "wb+");
- if(fp){
-+ CHMOD(download_temp_file);
- // build the prope URL to download
- download_cur_file= download_queue[--download_queue_size];
- download_cur_md5= download_MD5s[download_queue_size];
diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.3.2-shader.patch b/games-rpg/eternal-lands/files/eternal-lands-1.3.2-shader.patch
deleted file mode 100644
index f24088cf6070..000000000000
--- a/games-rpg/eternal-lands/files/eternal-lands-1.3.2-shader.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -u elc.orig/shader.c elc/shader.c
---- elc.orig/shader.c 2005-09-28 09:12:58.000000000 +0100
-+++ elc/shader.c 2006-09-03 11:54:12.140740264 +0100
-@@ -56,8 +56,8 @@
- VertexShaderObject = ELglCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
- FragmentShaderObject = ELglCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
-
-- load_shader(VertexShaderObject, "/home/daniel/Develop/el-cvs/elc/shader/normal_mapping_vs.gls");
-- load_shader(FragmentShaderObject, "/home/daniel/Develop/el-cvs/elc/shader/normal_mapping_fs.gls");
-+ load_shader(VertexShaderObject, "shader/normal_mapping_vs.gls");
-+ load_shader(FragmentShaderObject, "shader/normal_mapping_fs.gls");
-
- ELglCompileShaderARB(VertexShaderObject);
- ELglCompileShaderARB(FragmentShaderObject);