summaryrefslogtreecommitdiff
path: root/games-strategy/galaxyhack
diff options
context:
space:
mode:
Diffstat (limited to 'games-strategy/galaxyhack')
-rw-r--r--games-strategy/galaxyhack/Manifest10
-rw-r--r--games-strategy/galaxyhack/files/galaxyhack-1.74-boost-1.50.patch77
-rw-r--r--games-strategy/galaxyhack/files/galaxyhack-1.74-boost.patch11
-rw-r--r--games-strategy/galaxyhack/files/galaxyhack-1.74-destdirs.patch11
-rw-r--r--games-strategy/galaxyhack/files/galaxyhack-1.74-format.patch64
-rw-r--r--games-strategy/galaxyhack/files/galaxyhack-1.74-gcc43.patch12
-rw-r--r--games-strategy/galaxyhack/files/galaxyhack-1.74-gentoo.patch28
-rw-r--r--games-strategy/galaxyhack/galaxyhack-1.74-r1.ebuild68
-rw-r--r--games-strategy/galaxyhack/metadata.xml29
9 files changed, 310 insertions, 0 deletions
diff --git a/games-strategy/galaxyhack/Manifest b/games-strategy/galaxyhack/Manifest
new file mode 100644
index 000000000000..c3dd85d53b68
--- /dev/null
+++ b/games-strategy/galaxyhack/Manifest
@@ -0,0 +1,10 @@
+AUX galaxyhack-1.74-boost-1.50.patch 3206 BLAKE2B c97b67ac602a440eb90ae481e0ef5837e64cf9ad3c07e722899b7e1c6701536df1af3dca5e7e645dc13bd3622b8bf7e1a274c0c0de24cb9f39287f1af2e5e14f SHA512 ce441bd44c44000b28520bba3c76b4e3d37fef5b424ddae1be4ee2e0675859ce22090c9e79a7fca37f46b16312b581201eb413d89cdddab3d6169c97ec0d6304
+AUX galaxyhack-1.74-boost.patch 245 BLAKE2B afb356c6fb7d2f5243466f84d5605e1cc13da00b842c2bc554d791f20de6c37ab6b563e3320b3f0f6ca242987c75ffe6fbaba5ba236bd833a3bc86361be689b9 SHA512 19a6ef4ee430edab619d60d4410d318e07ba3dd75b48036331029ff0de11ad5ccc73970825708764a7da9870d9ae8a7708a22176aa6698fdd4c2837bf3a91885
+AUX galaxyhack-1.74-destdirs.patch 390 BLAKE2B 5c807a22493528f472e3d5e9366ab4b8bacfb7d3a7c31291a3a1e8cf872fcd2cf9c3e373e53bffa9d92af68bf9549c6ebf44a6aaa8d6cd10f6afcfd6e6906690 SHA512 d154eb0b0116fa1e067bae12db82cef5eb3bf882683f624becb54244ffa744a3bdc7ebe77fe6e87c634f42f649cc8dd0fb7067aa5d2cb5b8a72cf50cdbfe7702
+AUX galaxyhack-1.74-format.patch 1768 BLAKE2B 5a0ee8e935c557ac25b470e1914f242da093352321ba34c067ca3997e3892aff3f6330b827bc7d08c7541cc1e9e0cb2e0b4e0d938ddd1f9cfd21916b11f978e3 SHA512 e38280f9a06426a77abea3a10de6ce23868dd2d4df0c398832856bfa5e39c329cf39b39bd4ff766c54fd72813933c502ca9a63750b7a4160e536a40a08bc0ba3
+AUX galaxyhack-1.74-gcc43.patch 309 BLAKE2B f8af1b8b2d4d50bb37eb13237915638d746a79daa621d81958bf99d7071178d3402989fa0fbeb9d67abffea4a15a97d1da263855b5ac17b1caf96213ebddcb31 SHA512 21169edbaf8f4c0d8f4fcd44a494e0121fb332b42cf14ba09818cf871cfdb792e4bbe00c7ae1b9ddc9094c96edda785f2763c76a70dcf92ec7ea163e3248aaa0
+AUX galaxyhack-1.74-gentoo.patch 992 BLAKE2B 63ca6fee15f9f088e2c8a73566d5a7579ed4636d8048771ee01aa40a6f8edd1013e1d6a710d45caa951311709c19ed3d670014bfd1513982c317d6ea5d1b4d34 SHA512 e268019e57c95caf6f24331e0c1f6bb0f47507940e8621cf5307f5cdd24cdd9ab49307208f6914558df35bedd725db38374c04b4f887c89814896ce9902f7b0a
+DIST galaxyhack-1.74.tar.bz2 9948336 BLAKE2B 2029e4a27e2995ebd8bb4f7e9192fc353b22a0246e5bca5294a9a09ee936c0050682dcff52a233b87d659a6a4e98f56fcd4b563fb1159b52f6f596a5413a687b SHA512 d708494b1ad572c0243da9e7168b4707112ec3c99a09498b87f8e0cb2e4e5bc9df8dc4631e3fb4d3cd7517ec4b17e937798dec3fcf770de9d0fc1b5e29a0bd58
+DIST galaxyhack.png 819 BLAKE2B c19a6c05313eedfd118de0b02b688e98dc011a760da10c5edc6ee15eea3668e7dbf19fcbc7546807221b3b727056c5d5075c91cae699300c6d7b19c939b0f2b6 SHA512 b8ab4dd1c18c079ec3f60b3d04843fbb7a892feb8f872d498c20eb3142e7de26bff90c93b308656e1afe5ee77074fcb3f78542dfd175c27a9b865a512e0b0200
+EBUILD galaxyhack-1.74-r1.ebuild 1592 BLAKE2B afde825de3df81f6b18cce5376f30059763dfeab87c154a8b3f7fa9c4a7d011a66cd53b2a3df165bd3c05eb858317c1f9ee20545b10295fb76eca3691a5c265d SHA512 abd828bf419949722c7261439c6bb386b9f6813da6bd6c68c91d8084ae4a0d04f2b6f6660116a8cc969a742ed62ce05bec3306fa58bca93d79186af3d00c4072
+MISC metadata.xml 1383 BLAKE2B b358635bd0e1f15560dc84368bc32eb1de4a487ca377924d82f3d2b28912ec702a07fa34565fea4fdf77280599403187b670a103d3d158e0c5ccfa3265257725 SHA512 1857f21b7f01d16e5eaa7fd6f3b653c820837d5b47022bf47c02af44c5bb00f0010c36c722aa1225d0cf0cdec8d85c4f6f14e5c7c0785da8706ea9886a72b285
diff --git a/games-strategy/galaxyhack/files/galaxyhack-1.74-boost-1.50.patch b/games-strategy/galaxyhack/files/galaxyhack-1.74-boost-1.50.patch
new file mode 100644
index 000000000000..ed8ff748aa98
--- /dev/null
+++ b/games-strategy/galaxyhack/files/galaxyhack-1.74-boost-1.50.patch
@@ -0,0 +1,77 @@
+--- a/ForceSelectWin.cpp.orig 2012-08-20 17:35:01.000000000 +0200
++++ b/ForceSelectWin.cpp 2012-08-20 17:47:19.000000000 +0200
+@@ -1596,15 +1596,15 @@
+ fs::directory_iterator directoryEnd; // default construction yields past-the-end
+ for (fs::directory_iterator iter(sourcePath); iter != directoryEnd; ++iter) {
+ if (is_directory(*iter)) {
+- fs::create_directory(destPath.string() + "/" + iter->leaf());
+- DoCopy(sourcePath.string() + "/" + iter->leaf(), destPath.string() + "/" + iter->leaf());
++ fs::create_directory(destPath.string() + "/" + iter->path().filename().string());
++ DoCopy(sourcePath.string() + "/" + iter->path().filename().string(), destPath.string() + "/" + iter->path().filename().string());
+ continue;
+ }
+ string destFile;
+- if (iter->leaf() == sideName + ".dat")
++ if (iter->path().filename() == sideName + ".dat")
+ destFile = theInput + ".dat";
+ else
+- destFile = iter->leaf();
++ destFile = iter->path().filename().string();
+
+ fs::copy_file(*iter, destPath.string() + "/" + destFile);
+ }
+--- a/Main.cpp.orig 2012-08-20 17:48:13.000000000 +0200
++++ b/Main.cpp 2012-08-20 17:50:51.000000000 +0200
+@@ -339,12 +339,6 @@
+
+ void GameInit(char* argv[]) {
+ namespace fs = boost::filesystem;
+- //boost is really quite stupid
+- #ifndef WIN32
+- fs::path::default_name_check(fs::windows_name);
+- #else
+- fs::path::default_name_check(fs::native);
+- #endif
+
+ FindHomePath();
+ LoadSettings(argv);
+--- a/Menu_Base.cpp.orig 2012-08-20 17:51:05.000000000 +0200
++++ b/Menu_Base.cpp 2012-08-20 17:52:15.000000000 +0200
+@@ -206,7 +206,7 @@
+
+ fs::directory_iterator directoryEnd; // default construction yields past-the-end
+ for (fs::directory_iterator iter(directory); iter != directoryEnd; ++iter) {
+- string filename = iter->leaf();
++ string filename = iter->path().filename().string();
+
+ if (filename.find('.') == filename.npos)
+ continue;
+@@ -237,7 +237,7 @@
+ fs::directory_iterator directoryEnd; // default construction yields past-the-end
+ for (fs::directory_iterator iter(globalSettings.bdp + "fleets/"); iter != directoryEnd; ++iter) {
+ if (fs::is_directory(*iter)) {
+- string fleetName = iter->leaf();
++ string fleetName = iter->path().filename().string();
+
+ if (CheckFleetExists(fleetName)) {
+ tempItem.desc = fleetName;
+@@ -261,7 +261,7 @@
+ fs::path iterPath(GetFleetDir(whichSide));
+ fs::directory_iterator directoryEnd; // default construction yields past-the-end
+ for (fs::directory_iterator iter(iterPath); iter != directoryEnd; ++iter) {
+- string filename = iter->leaf();
++ string filename = iter->path().filename().string();
+
+ if (filename.find('.') == filename.npos)
+ continue;
+--- a/Stuff.cpp.orig 2012-08-20 17:52:36.000000000 +0200
++++ b/Stuff.cpp 2012-08-20 17:53:11.000000000 +0200
+@@ -657,7 +657,7 @@
+ fs::directory_iterator directoryEnd; // default construction yields past-the-end
+ for (fs::directory_iterator iter(tempPath); iter != directoryEnd; ++iter) {
+ if (fs::is_directory(*iter) && !fs::is_empty(*iter))
+- RemoveDirectory(iter->string());
++ RemoveDirectory(iter->path().string());
+ else
+ fs::remove(*iter);
+ }
diff --git a/games-strategy/galaxyhack/files/galaxyhack-1.74-boost.patch b/games-strategy/galaxyhack/files/galaxyhack-1.74-boost.patch
new file mode 100644
index 000000000000..c7fd49135dee
--- /dev/null
+++ b/games-strategy/galaxyhack/files/galaxyhack-1.74-boost.patch
@@ -0,0 +1,11 @@
+--- src/SetupBattle.cpp
++++ src/SetupBattle.cpp
+@@ -18,7 +18,7 @@
+ #include "PreBattle.h"
+
+ #include <sstream>
+-#include <boost/filesystem/exception.hpp>
++#include <boost/filesystem.hpp>
+
+ using std::stringstream;
+ using std::getline;
diff --git a/games-strategy/galaxyhack/files/galaxyhack-1.74-destdirs.patch b/games-strategy/galaxyhack/files/galaxyhack-1.74-destdirs.patch
new file mode 100644
index 000000000000..7c60c4efa624
--- /dev/null
+++ b/games-strategy/galaxyhack/files/galaxyhack-1.74-destdirs.patch
@@ -0,0 +1,11 @@
+--- a/Main.cpp.old 2006-07-28 00:04:46.000000000 +0200
++++ b/Main.cpp 2006-07-28 00:08:28.000000000 +0200
+@@ -184,7 +184,7 @@
+ #ifndef WIN32
+ string settingsPath = userHomePath + "settings.dat";
+ if (!DoesFileExist(settingsPath))
+- settingsPath = "settings.dat";
++ settingsPath = "@GAMES_DATADIR@/galaxyhack/settings.dat";
+ #else
+ string settingsPath = "settings.dat";
+ #endif
diff --git a/games-strategy/galaxyhack/files/galaxyhack-1.74-format.patch b/games-strategy/galaxyhack/files/galaxyhack-1.74-format.patch
new file mode 100644
index 000000000000..478e58001c73
--- /dev/null
+++ b/games-strategy/galaxyhack/files/galaxyhack-1.74-format.patch
@@ -0,0 +1,64 @@
+--- a/JSDL.cpp.old 2016-01-04 10:42:56.404316856 +0100
++++ b/JSDL.cpp 2016-01-04 10:51:16.744255312 +0100
+@@ -47,14 +47,14 @@
+ if (!globalSettings.batch) {
+ if (SDL_Init(SDL_INIT_TIMER | SDL_INIT_VIDEO) == -1) {
+ char output[120];
+- sprintf(output, SDL_GetError());
++ strcpy(output, SDL_GetError());
+ throw runtime_error(output);
+ }
+
+ if (!globalSettings.disableSound) {
+ if (SDL_InitSubSystem(SDL_INIT_AUDIO) == -1) {
+ char error[120];
+- sprintf(error, SDL_GetError());
++ strcpy(error, SDL_GetError());
+ string errorStr = error;
+ errorStr += ", continuing without initialising sound.";
+ WriteLog(errorStr);
+@@ -81,7 +81,7 @@
+ //4096 is rather a large chunksize, should be smaller if I add sound effects
+ if (Mix_OpenAudio(MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, 2, 4096) == -1) {
+ char output[100];
+- sprintf(output, Mix_GetError());
++ strcpy(output, Mix_GetError());
+ throw runtime_error(output);
+ }
+ }
+@@ -101,7 +101,7 @@
+ if (screen == NULL) {
+ SDL_Quit();
+ char output[120];
+- sprintf(output, SDL_GetError());
++ strcpy(output, SDL_GetError());
+ throw runtime_error(output);
+ }
+ }
+@@ -114,7 +114,7 @@
+
+ if (loadingSurface == NULL) {
+ char output[100];
+- sprintf(output, IMG_GetError());
++ strcpy(output, IMG_GetError());
+ throw runtime_error(output);
+ }
+
+@@ -308,7 +308,7 @@
+
+ if (!theMusic) {
+ char output[100];
+- sprintf(output, Mix_GetError());
++ strcpy(output, Mix_GetError());
+ throw runtime_error(output);
+ }
+ }
+@@ -319,7 +319,7 @@
+
+ if (Mix_PlayMusic(theMusic, -1) == -1) {
+ char output[100];
+- sprintf(output, Mix_GetError());
++ strcpy(output, Mix_GetError());
+ throw runtime_error(output);
+ }
+ }
diff --git a/games-strategy/galaxyhack/files/galaxyhack-1.74-gcc43.patch b/games-strategy/galaxyhack/files/galaxyhack-1.74-gcc43.patch
new file mode 100644
index 000000000000..eeb64d12e587
--- /dev/null
+++ b/games-strategy/galaxyhack/files/galaxyhack-1.74-gcc43.patch
@@ -0,0 +1,12 @@
+diff -aur src.old/JSDL.cpp src/JSDL.cpp
+--- src.old/JSDL.cpp 2008-07-17 18:31:38.000000000 +0200
++++ src/JSDL.cpp 2008-07-17 19:19:39.000000000 +0200
+@@ -20,7 +20,7 @@
+ #include <cstdlib>
+ #include <fstream>
+ #include <stdexcept>
+-
++#include <cstring>
+ using std::runtime_error;
+ using std::memcpy;
+
diff --git a/games-strategy/galaxyhack/files/galaxyhack-1.74-gentoo.patch b/games-strategy/galaxyhack/files/galaxyhack-1.74-gentoo.patch
new file mode 100644
index 000000000000..9e55c941bfeb
--- /dev/null
+++ b/games-strategy/galaxyhack/files/galaxyhack-1.74-gentoo.patch
@@ -0,0 +1,28 @@
+--- a/Makefile.old 2009-02-11 22:21:26.000000000 +0100
++++ b/Makefile 2009-02-11 22:20:58.000000000 +0100
+@@ -6,12 +6,11 @@
+ # James Gregory and Everton da Silva Marques <evertonsm@yahoo.com.br>
+ #
+
+-INSTALL_DIR=/usr/local/share
+-INSTALL_BIN_DIR=/usr/local/bin
++INSTALL_DIR="${GAMES_DATADIR}"
++INSTALL_BIN_DIR="${GAMES_BINDIR}"
+
+-CXX = g++
+-CXXFLAGS = $(shell sdl-config --cflags) -O3
+-LDFLAGS = $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -lboost_filesystem
++CXXFLAGS += $(shell sdl-config --cflags)
++LDLIBS = $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -lboost_filesystem -lboost_system -lm
+
+ OBJS = AIInterpreter.o AutoFireUnit.o BCCompiler.o DerivedGroups.o DragWindow.o \
+ ForceSelect.o ForceSelectWin.o GenWindow.o GenWindow_Base.o GFX.o Globals.o \
+@@ -40,7 +39,7 @@
+ install $(TARGET) $(INSTALL_BIN_DIR)
+
+ $(TARGET): $(OBJS)
+- $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+
+ %.o: %.cpp
+ $(CXX) $(CXXFLAGS) -c $< -o $@
diff --git a/games-strategy/galaxyhack/galaxyhack-1.74-r1.ebuild b/games-strategy/galaxyhack/galaxyhack-1.74-r1.ebuild
new file mode 100644
index 000000000000..aead3e7b9481
--- /dev/null
+++ b/games-strategy/galaxyhack/galaxyhack-1.74-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic readme.gentoo-r1
+
+DESCRIPTION="Multiplayer AI script based strategy game"
+HOMEPAGE="http://galaxyhack.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
+ mirror://gentoo/${PN}.png"
+
+LICENSE="GPL-2 galaxyhack"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ media-libs/libsdl[video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer[mod,vorbis]
+ >=dev-libs/boost-1.34
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}/src"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Settings will default to those found in
+/usr/share/galaxyhack/settings.dat
+Per user settings can be specified by creating
+~/.galaxyhack/settings.dat
+
+Additional user submitted fleets can be downloaded from
+http://galaxyhack.sourceforge.net/viewfleets.php
+"
+
+src_prepare() {
+ default
+ edos2unix Makefile
+ eapply \
+ "${FILESDIR}"/${P}-destdirs.patch \
+ "${FILESDIR}"/${P}-boost.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-boost-1.50.patch \
+ "${FILESDIR}"/${P}-format.patch \
+ "${FILESDIR}"/${P}-gentoo.patch
+ sed -i "s:@GAMES_DATADIR@:/usr/share:" \
+ Main.cpp || die
+ sed -i "/Base data path/s:pwd:/usr/share/${PN}:" \
+ ../settings.dat || die
+}
+
+src_install() {
+ dobin "${PN}"
+ cd ..
+ insinto /usr/share/${PN}
+ doins -r fleets gamedata graphics music standardpictures \
+ settings.dat
+ dodoc readme.txt
+ readme.gentoo_create_doc
+ doicon "${DISTDIR}"/${PN}.png
+ make_desktop_entry ${PN} GalaxyHack
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/games-strategy/galaxyhack/metadata.xml b/games-strategy/galaxyhack/metadata.xml
new file mode 100644
index 000000000000..9dbded1c3212
--- /dev/null
+++ b/games-strategy/galaxyhack/metadata.xml
@@ -0,0 +1,29 @@
+<?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">
+GalaxyHack allows you to design a fleet of spaceships which can then be tested
+in AI script based battles against fleets designed by other players. Though
+battles take place in real time, the strategy comes before hand, both in
+writing short AI scripts in a simple scripting language, and also in the set up
+and selection of your fleet. You don't actually have any control over your
+units at all mid-battle, but rather use the time to see where the set up of
+your fleets is working, where your fleets' weaknesses lie and changes are
+needed, and perhaps also to learn from the strategy of your opponent.
+
+The game revolves around very large capital ships, from which smaller ships are
+launched, but which are not designed for attacking themselves, and which cannot
+be moved mid-battle. To win a battle you must destroy of all of your opponent's
+capital ships before they destroy yours.
+
+There can be hundreds of units in any one battle, but there is no harvesting,
+resource management or base building.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">galaxyhack</remote-id>
+ </upstream>
+</pkgmetadata>