summaryrefslogtreecommitdiff
path: root/games-strategy/netherearth
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-strategy/netherearth
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-strategy/netherearth')
-rw-r--r--games-strategy/netherearth/Manifest10
-rw-r--r--games-strategy/netherearth/files/Makefile20
-rw-r--r--games-strategy/netherearth/files/netherearth-0.52-freeglut.patch18
-rw-r--r--games-strategy/netherearth/files/netherearth-0.52-gentoo-paths.patch139
-rw-r--r--games-strategy/netherearth/files/netherearth-0.52-glibc-212.patch23
-rw-r--r--games-strategy/netherearth/files/netherearth-0.52-ldflags.patch8
-rw-r--r--games-strategy/netherearth/files/netherearth-0.52-linux.patch47
-rw-r--r--games-strategy/netherearth/metadata.xml14
-rw-r--r--games-strategy/netherearth/netherearth-0.52-r1.ebuild86
9 files changed, 365 insertions, 0 deletions
diff --git a/games-strategy/netherearth/Manifest b/games-strategy/netherearth/Manifest
new file mode 100644
index 000000000000..d7ea91b7f4a6
--- /dev/null
+++ b/games-strategy/netherearth/Manifest
@@ -0,0 +1,10 @@
+AUX Makefile 1003 BLAKE2B 53264f4ebfcb11142d6c503263d47825cb9f3370a9e291551043aab616da09fb936e293a01eb5f4916ebd29690e315004b0dfa2303f2853963b3e80e0b260d59 SHA512 72cb6f6cb31beb79d91ac3b60eff1cb4046fcecd83621c42ff34a145eefbf484b8bc87ed3c2792bec7d1587d2578c95b4a4b925f9a032c8eefe9a9208a96fcdb
+AUX netherearth-0.52-freeglut.patch 371 BLAKE2B 3b480c96a2ce423213e870a3310a2d0411717662b1f557268ceaf46a4ca7710044a82f7df0f9d2128006a0e7dcad6322be86b91260d4f4f2a6a2215ec66b4c02 SHA512 125c27de71d4c600f78ca3c6f86e6431a6ae20cfc2b12238f3fdfca99bc77bbe90ffb5f3b98ee58d987d8852b154d63342f1677eae99eeebff07b0b2d810edfa
+AUX netherearth-0.52-gentoo-paths.patch 4356 BLAKE2B 59b2320ab0e5dadd23a6d9559e45da2f9ede1daa78b97ba3ebde6a74db4d8fe3281ed7244f180e7d863022f0350c481d9e7c800d524fcc1d763d5aa33e16d77f SHA512 55fe5ddc2e4d783eb3b930600168c1c106562c84e4532f84dbfe44afb44e9134bb32f0c5cc8dea520cc86d661cf984122d4e82da8d624d03bd6fb42e67ba45ca
+AUX netherearth-0.52-glibc-212.patch 410 BLAKE2B 3aaf59a8ed6c02df5cf5e5037c92d3b51866be06bc28e79980cdddc983c6da5be8f298139a651f625e17011426fed85d86dbff075b1a8980134cf0a3e052ec1e SHA512 fe33f1b9220a8538490316880bfbb671ad65c0a55a896aaa624791a9c094cbded0e5ac182f87750bd58300550a9dbcb10da6453b531c2d58582780a10838ecef
+AUX netherearth-0.52-ldflags.patch 333 BLAKE2B 557e8519d0dafe902a0713d91c539b4ddf7b11d8a05a3ce22a2c5d4c806f6c54e29a77c371991a8dbc5c2afa88f85cc4792e2e5966c606ad95217e997e80f8dc SHA512 39aab126a7110590d8fa77d7f1e1d695a16af43809ac128a01a06f6f583f7a80435d40e1f341c945b3279a17c51348a5c5744954588740106549e292721743a9
+AUX netherearth-0.52-linux.patch 1255 BLAKE2B 5389c41fa27426a89c904605ca058620636ebccbdf6a2c74988f7b777618e4892a9e352bf54d851da739dceba7721807b3113126da9825d3efe8257fabfe65cd SHA512 fd5e4385798a3027bb6fe89b92939e0e9d7f463420cb1d47d1606bd2fabc12d1f755892cb1523062a07eb5d2138156aabfcb801daaff7b5f1fdbba8d079ef56f
+DIST netherearth052.zip 872397 BLAKE2B 091a5f9e6773450e3796daebf0d40e1796ca97682aa8092dd669deb3dcf4161a9f6f408d5e43bcce847375ad61c7cb43a90acf382898a0ddd36b3da55917cbb1 SHA512 1f2cb3e896ac076c5ed3d346f19d8328b879546c4dc58609251bdbc8fd96b201cbc5dcb400df2a0dd4c717c7be002f83b92acf33f607890fa736b572c72a8cf5
+DIST sources.zip 75918 BLAKE2B 23142db81e0fca94948cfc6d6443daf1f7909c1dc2334b73897c1e07d1eb39c0c05cedb7cb0b1c8681990a0a0b6632e4666e67128379e14da23fbbe90b9ae641 SHA512 8daa9def65f4be8a541df15c69531da84344906e0f3eab2b7e84f8a94e2f3278d2033e37a9edd4b17fc19b1f7fbf3537286a2a2a9877950d19a51a1167487b75
+EBUILD netherearth-0.52-r1.ebuild 1959 BLAKE2B 062404ba75e3c292cab09260d201244b6d1c8126f8446f0a5d1471a74308138e553455d765c3f8e26d794eb3e06e1ef3a4c8cf9b510218aba61ea31fbb6b5f59 SHA512 4f92ffd97841c6759002571031eb01b1f9c7732cd0888962faf28d0d470e97fd315eeaf07fedf80d81ce31816ae8dbba9d9cc6d6ac95937a6b258d8948f22b6a
+MISC metadata.xml 530 BLAKE2B a306a4d5741d0e7e1bfca697f04e8aed8337c7658cf910c213eee9541510484019ded391b4d884bda58cbd30a47a913a5eb1ac8b298cb4dfd4ba733fda64818a SHA512 4ec339e99b397a71a0f5b6ffccf7f9cefafdee1ce0627c9c5e5f8b00c0158fd7e73e7d0d9612c8f653ea30113905ad6b4efbec694fcd4c05b3ab59439d558868
diff --git a/games-strategy/netherearth/files/Makefile b/games-strategy/netherearth/files/Makefile
new file mode 100644
index 000000000000..07c671a10e31
--- /dev/null
+++ b/games-strategy/netherearth/files/Makefile
@@ -0,0 +1,20 @@
+# ls *.cpp
+#
+#3dobject-ase.cpp construction.cpp maps.cpp netherdebug.cpp radar.cpp
+#3dobject.cpp enemy_ai.cpp menu.cpp nethersave.cpp robot_ai.cpp
+#bitmap.cpp glprintf.cpp myglutaux.cpp particles.cpp robots.cpp
+#bullet.cpp main.cpp nether.cpp piece3dobject.cpp shadow3dobject.cpp
+#cmc.cpp mainmenu.cpp nethercycle.cpp quaternion.cpp vector.cpp
+
+
+SOURCES = 3dobject-ase.cpp 3dobject.cpp cmc.cpp nether.cpp piece3dobject.cpp vector.cpp bitmap.cpp bullet.cpp glprintf.cpp main.cpp mainmenu.cpp maps.cpp menu.cpp myglutaux.cpp nethercycle.cpp netherdebug.cpp nethersave.cpp particles.cpp construction.cpp quaternion.cpp radar.cpp enemy_ai.cpp robot_ai.cpp robots.cpp shadow3dobject.cpp
+OBJECTS = $(SOURCES:.cpp=.o)
+TARGET = nether_earth
+
+.cpp.o:
+ g++ ${CXXFLAGS} -c $< -o $@
+
+all: $(TARGET)
+
+$(TARGET): $(OBJECTS)
+ g++ $(OBJECTS) -o $(TARGET) -lGL -lGLU -lglut -lSDL -lSDL_mixer -lpthread
diff --git a/games-strategy/netherearth/files/netherearth-0.52-freeglut.patch b/games-strategy/netherearth/files/netherearth-0.52-freeglut.patch
new file mode 100644
index 000000000000..b61e1f139b04
--- /dev/null
+++ b/games-strategy/netherearth/files/netherearth-0.52-freeglut.patch
@@ -0,0 +1,18 @@
+--- a/main.cpp
++++ b/main.cpp
+@@ -8,6 +8,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <GL/glut.h>
+ #include "SDL/SDL.h"
+ #include "SDL/SDL_mixer.h"
+
+@@ -144,6 +145,7 @@
+ bool quit = false;
+
+ load_configuration();
++ glutInit(&argc, argv);
+
+ screen_sfc = initialization((fullscreen ? SDL_FULLSCREEN : 0));
+ if (screen_sfc==0) return 0;
diff --git a/games-strategy/netherearth/files/netherearth-0.52-gentoo-paths.patch b/games-strategy/netherearth/files/netherearth-0.52-gentoo-paths.patch
new file mode 100644
index 000000000000..25f99be50fab
--- /dev/null
+++ b/games-strategy/netherearth/files/netherearth-0.52-gentoo-paths.patch
@@ -0,0 +1,139 @@
+diff -ud ../NetherEarth_v0.51-linsrc.orig/3dobject-ase.cpp ./3dobject-ase.cpp
+--- ../NetherEarth_v0.51-linsrc.orig/3dobject-ase.cpp 2002-10-26 00:00:00.000000000 +0300
++++ ./3dobject-ase.cpp 2004-04-16 21:42:55.000000000 +0300
+@@ -34,7 +34,7 @@
+ char buffer[256];
+ FILE *fp;
+
+- fp=fopen(file,"r+");
++ fp=fopen(file,"r");
+ if (fp==NULL) return false;
+
+ /* Look for the materials: */
+diff -ud ../NetherEarth_v0.51-linsrc.orig/3dobject.cpp ./3dobject.cpp
+--- ../NetherEarth_v0.51-linsrc.orig/3dobject.cpp 2004-01-06 20:49:00.000000000 +0200
++++ ./3dobject.cpp 2004-04-16 21:43:44.000000000 +0300
+@@ -74,7 +74,7 @@
+
+ int *smooth;
+
+- fp=fopen(file,"r+");
++ fp=fopen(file,"r");
+ if (fp==NULL) return false;
+
+ /* Importar un fichero .ASC de 3DStudio */
+diff -ud ../NetherEarth_v0.51-linsrc.orig/bitmap.cpp ./bitmap.cpp
+--- ../NetherEarth_v0.51-linsrc.orig/bitmap.cpp 2004-01-06 20:49:00.000000000 +0200
++++ ./bitmap.cpp 2004-04-16 21:45:13.000000000 +0300
+@@ -14,7 +14,7 @@
+ g=0;
+ b=0;
+
+- fp=fopen(file,"rb+");
++ fp=fopen(file,"rb");
+ if (fp==NULL) return;
+
+ /* Tag: */
+diff -ud ../NetherEarth_v0.51-linsrc.orig/mainmenu.cpp ./mainmenu.cpp
+--- ../NetherEarth_v0.51-linsrc.orig/mainmenu.cpp 2004-01-06 20:50:00.000000000 +0200
++++ ./mainmenu.cpp 2004-04-16 21:14:14.000000000 +0300
+@@ -6,6 +6,9 @@
+ #include <dirent.h>
+ #endif
+
++#include <stdlib.h>
++#include <fcntl.h>
++#include <unistd.h>
+ #include "string.h"
+ #include "stdio.h"
+ #include "math.h"
+@@ -483,8 +486,10 @@
+ {
+ int v;
+ FILE *fp;
++ char cfg_path[300];
+
+- fp=fopen("nether.cfg","r");
++ sprintf(cfg_path, "%s/.netherearth/nether.cfg", getenv("HOME"));
++ fp=fopen(cfg_path,"r");
+ if (fp==0) return;
+
+ if (2!=fscanf(fp,"%i %i",&SCREEN_X,&SCREEN_Y)) return;
+@@ -510,8 +515,12 @@
+ void save_configuration(void)
+ {
+ FILE *fp;
++ char cfg_path[300];
+
+- fp=fopen("nether.cfg","w");
++ sprintf(cfg_path, "%s/.netherearth", getenv("HOME"));
++ mkdir(cfg_path, 0755);
++ sprintf(cfg_path, "%s/.netherearth/nether.cfg", getenv("HOME"));
++ fp=fopen(cfg_path,"w");
+ if (fp==0) return;
+
+ fprintf(fp,"%i %i\n",SCREEN_X,SCREEN_Y);
+diff -ud ../NetherEarth_v0.51-linsrc.orig/nether.cpp ./nether.cpp
+--- ../NetherEarth_v0.51-linsrc.orig/nether.cpp 2004-01-06 21:03:00.000000000 +0200
++++ ./nether.cpp 2004-04-16 20:54:54.000000000 +0300
+@@ -1203,7 +1203,7 @@
+ if (option_menu==(i+1)) glColor3f(1.0,0.0,0.0);
+ else glColor3f(0.5,0.5,1.0);
+ glTranslatef(0,-2,0);
+- sprintf(filename,"savedgame%i.txt",i);
++ sprintf(filename,"%s/.netherearth/savedgame%i.txt", getenv("HOME"), i);
+ fp=fopen(filename,"r");
+ if (fp==0) {
+ scaledglprintf(0.01,0.01,"SLOT%i - EMPTY",i+1);
+@@ -1232,7 +1232,7 @@
+ if (option_menu==(i+1)) glColor3f(1.0,0.0,0.0);
+ else glColor3f(0.5,0.5,1.0);
+ glTranslatef(0,-2,0);
+- sprintf(filename,"savedgame%i.txt",i);
++ sprintf(filename,"%s/.netherearth/savedgame%i.txt", getenv("HOME"), i);
+ fp=fopen(filename,"r");
+ if (fp==0) {
+ scaledglprintf(0.01,0.01,"SLOT%i - EMPTY",i+1);
+@@ -1291,7 +1291,7 @@
+ case 4:
+ {
+ char filename[80];
+- sprintf(filename,"savedgame%i.txt",option_menu-1);
++ sprintf(filename,"%s/.netherearth/savedgame%i.txt", getenv("HOME"), option_menu-1);
+ save_game(filename);
+ //save_debug_report("debugreport.txt");
+ game_state=STATE_PAUSE;
+@@ -1326,7 +1326,7 @@
+ case 4:
+ {
+ char filename[80];
+- sprintf(filename,"savedgame%i.txt",option_menu-1);
++ sprintf(filename,"%s/.netherearth/savedgame%i.txt", getenv("HOME"), option_menu-1);
+ killmenu(act_menu);
+ load_game(filename);
+ newmenu(act_menu);
+diff -ud ../NetherEarth_v0.51-linsrc.orig/nethersave.cpp ./nethersave.cpp
+--- ../NetherEarth_v0.51-linsrc.orig/nethersave.cpp 2003-09-17 00:00:00.000000000 +0300
++++ ./nethersave.cpp 2004-04-16 21:23:04.000000000 +0300
+@@ -2,6 +2,10 @@
+ #include "windows.h"
+ #endif
+
++#include <stdlib.h>
++#include <sys/types.h>
++#include <fcntl.h>
++#include <unistd.h>
+ #include "string.h"
+ #include "stdio.h"
+ #include "math.h"
+@@ -40,7 +44,10 @@
+ ROBOT *r;
+ BULLET *bul;
+ EXPLOSION *e;
++ char tmp_path[300];
+
++ sprintf(tmp_path, "%s/.netherearth", getenv("HOME"));
++ mkdir(tmp_path, 0755);
+ fp=fopen(filename,"w");
+ if (fp==0) return false;
+
diff --git a/games-strategy/netherearth/files/netherearth-0.52-glibc-212.patch b/games-strategy/netherearth/files/netherearth-0.52-glibc-212.patch
new file mode 100644
index 000000000000..813f963db4c8
--- /dev/null
+++ b/games-strategy/netherearth/files/netherearth-0.52-glibc-212.patch
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/335137
+
+--- sources/mainmenu.cpp
++++ sources/mainmenu.cpp
+@@ -3,6 +3,7 @@
+ #else
+ #include <stddef.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #include <dirent.h>
+ #endif
+
+--- sources/nethersave.cpp
++++ sources/nethersave.cpp
+@@ -1,5 +1,8 @@
+ #ifdef _WIN32
+ #include "windows.h"
++#else
++#include <sys/types.h>
++#include <sys/stat.h>
+ #endif
+
+ #include "string.h"
diff --git a/games-strategy/netherearth/files/netherearth-0.52-ldflags.patch b/games-strategy/netherearth/files/netherearth-0.52-ldflags.patch
new file mode 100644
index 000000000000..7d81f912764f
--- /dev/null
+++ b/games-strategy/netherearth/files/netherearth-0.52-ldflags.patch
@@ -0,0 +1,8 @@
+--- a/Makefile.old 2010-10-12 09:30:19.000000000 +0200
++++ b/Makefile 2010-10-12 09:30:38.000000000 +0200
+@@ -17,4 +17,4 @@
+ all: $(TARGET)
+
+ $(TARGET): $(OBJECTS)
+- g++ $(OBJECTS) -o $(TARGET) -lGL -lGLU -lglut -lSDL -lSDL_mixer -lpthread
++ g++ $(LDFLAGS) $(OBJECTS) -o $(TARGET) -lGL -lGLU -lglut -lSDL -lSDL_mixer -lpthread
diff --git a/games-strategy/netherearth/files/netherearth-0.52-linux.patch b/games-strategy/netherearth/files/netherearth-0.52-linux.patch
new file mode 100644
index 000000000000..6c4c0d1e9733
--- /dev/null
+++ b/games-strategy/netherearth/files/netherearth-0.52-linux.patch
@@ -0,0 +1,47 @@
+diff -burN sources/glprintf.cpp sources-linux/glprintf.cpp
+--- sources/glprintf.cpp 2002-10-26 00:17:00.000000000 +0200
++++ sources-linux/glprintf.cpp 2005-06-18 18:22:54.000000000 +0200
+@@ -3,6 +3,7 @@
+ #endif
+ #include "GL/gl.h"
+
++#include "string.h"
+ #include "stdio.h"
+ #include "stdarg.h"
+ #include "GL/gl.h"
+diff -burN sources/list.h sources-linux/list.h
+--- sources/list.h 2002-10-27 12:17:00.000000000 +0100
++++ sources-linux/list.h 2005-06-18 18:21:34.000000000 +0200
+@@ -1,6 +1,9 @@
+ #ifndef GENERIC_LIST
+ #define GENERIC_LIST
+
++
++#include "stdlib.h"
++
+ /*
+ Funciones para LISTAS:
+
+diff -burN sources/maps.cpp sources-linux/maps.cpp
+--- sources/maps.cpp 2005-05-05 23:42:00.000000000 +0200
++++ sources-linux/maps.cpp 2005-06-18 18:23:05.000000000 +0200
+@@ -3,6 +3,7 @@
+ #endif
+
+ #include "stdio.h"
++#include "string.h"
+
+ #include "GL/gl.h"
+ #include "GL/glu.h"
+diff -burN sources/myglutaux.cpp sources-linux/myglutaux.cpp
+--- sources/myglutaux.cpp 2002-10-26 00:17:00.000000000 +0200
++++ sources-linux/myglutaux.cpp 2005-06-18 18:23:29.000000000 +0200
+@@ -5,6 +5,8 @@
+ #include <GL/gl.h>
+ #include "GL/glut.h"
+
++#include "string.h"
++#include "stdlib.h"
+ #include "stdio.h"
+ #include "math.h"
+ #include "vector.h"
diff --git a/games-strategy/netherearth/metadata.xml b/games-strategy/netherearth/metadata.xml
new file mode 100644
index 000000000000..26fb6b6b6d5b
--- /dev/null
+++ b/games-strategy/netherearth/metadata.xml
@@ -0,0 +1,14 @@
+<?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>
+ <longdescription lang="en">
+ Nether Earth was the very first real time strategy game. It worked on a
+ SPECTRUM machine, and only needed 48KB of RAM to work!! It has all the
+ typical elements of strategy games: resources, factories, combat units,
+ etc.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-strategy/netherearth/netherearth-0.52-r1.ebuild b/games-strategy/netherearth/netherearth-0.52-r1.ebuild
new file mode 100644
index 000000000000..e1aa7cabaaac
--- /dev/null
+++ b/games-strategy/netherearth/netherearth-0.52-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit desktop
+
+MY_PV="${PV/./}"
+DESCRIPTION="A remake of the SPECTRUM game Nether Earth"
+HOMEPAGE="http://www.braingames.getput.com/nether/"
+SRC_URI="http://www.braingames.getput.com/nether/sources.zip
+ http://www.braingames.getput.com/nether/${PN}${MY_PV}.zip"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RESTRICT="mirror bindist"
+
+RDEPEND="
+ >=media-libs/libsdl-1.2.6-r3
+ >=media-libs/sdl-mixer-1.2.5-r1
+ media-libs/freeglut
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+"
+
+S="${WORKDIR}/sources"
+
+data="../nether earth v${PV}"
+
+src_unpack() {
+ unzip -LL "${DISTDIR}/${PN}${MY_PV}.zip" >/dev/null || die
+ unzip -LL "${DISTDIR}/sources.zip" >/dev/null || die
+}
+
+src_prepare() {
+ default
+
+ DATA_DIR=/usr/share/${PN}
+
+ cp "${FILESDIR}/Makefile" . || die
+
+ # Fix compilation errors/warnings
+ eapply "${FILESDIR}"/${P}-linux.patch
+
+ eapply "${FILESDIR}"/${P}-freeglut.patch \
+ "${FILESDIR}"/${P}-glibc-212.patch \
+ "${FILESDIR}"/${P}-ldflags.patch
+
+ # Modify dirs and some fopen() permissions
+ eapply "${FILESDIR}/${P}-gentoo-paths.patch"
+ sed -i \
+ -e "s:models:${DATA_DIR}/models:" \
+ -e "s:textures:${DATA_DIR}/textures:" \
+ -e "s:maps/\*:${DATA_DIR}/maps/\*:" \
+ -e "s:\./maps:${DATA_DIR}/maps:" \
+ mainmenu.cpp || die
+ sed -i \
+ -e "s:models:${DATA_DIR}/models:g" \
+ -e "s:textures:${DATA_DIR}/textures:" \
+ -e "s:sound/:${DATA_DIR}/sound/:" \
+ nether.cpp || die
+ sed -i -e "s:maps:${DATA_DIR}/maps:" \
+ main.cpp || die
+ sed -i -e "s:textures/:${DATA_DIR}/textures/:" \
+ myglutaux.cpp || die
+
+ cd "${data}"
+ rm textures/thumbs.db
+}
+
+src_install() {
+ dobin nether_earth
+
+ cd "${data}"
+
+ # Install all game data
+ insinto "${DATA_DIR}"
+ doins -r maps models sound textures
+
+ dodoc readme.txt
+
+ newicon textures/nuclear.bmp ${PN}.bmp
+ make_desktop_entry nether_earth "Nether Earth" /usr/share/pixmaps/${PN}.bmp
+}