diff options
Diffstat (limited to 'games-strategy/galaxyhack')
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> |