summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-12-30 09:33:50 +0200
committerDavid Seifert <soap@gentoo.org>2016-12-30 09:35:23 +0200
commit9a523f187eb159ba514ac94ade360f25b7e68225 (patch)
tree127f3c478f6a7ac870a286f6df37684dbb42ffea /games-arcade/tuxdash
parentdev-ruby/twitter-text: cleanup (diff)
downloadgentoo-9a523f187eb159ba514ac94ade360f25b7e68225.tar.gz
gentoo-9a523f187eb159ba514ac94ade360f25b7e68225.tar.bz2
gentoo-9a523f187eb159ba514ac94ade360f25b7e68225.zip
games-arcade/tuxdash: Fix building with GCC 6
Gentoo-bug: 600084 * EAPI=6 * Remove games.eclass Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'games-arcade/tuxdash')
-rw-r--r--games-arcade/tuxdash/files/tuxdash-0.8-fix-build-system.patch11
-rw-r--r--games-arcade/tuxdash/files/tuxdash-0.8-fix-c++14.patch101
-rw-r--r--games-arcade/tuxdash/files/tuxdash-0.8-fix-paths.patch45
-rw-r--r--games-arcade/tuxdash/tuxdash-0.8-r1.ebuild48
4 files changed, 205 insertions, 0 deletions
diff --git a/games-arcade/tuxdash/files/tuxdash-0.8-fix-build-system.patch b/games-arcade/tuxdash/files/tuxdash-0.8-fix-build-system.patch
new file mode 100644
index 000000000000..9f861d98e8cc
--- /dev/null
+++ b/games-arcade/tuxdash/files/tuxdash-0.8-fix-build-system.patch
@@ -0,0 +1,11 @@
+Fix build system to honour all user variables.
+
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,4 +1,4 @@
+ all:
+- g++ main.cpp -Wall `/usr/bin/sdl-config --libs --cflags` -lSDL_ttf -o ../TuxDash
++ $(CXX) main.cpp $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) `/usr/bin/sdl-config --libs --cflags` -lSDL_ttf -o ../tuxdash
+ static:
+- g++ -static main.cpp -Wall `/usr/bin/sdl-config --cflags --static-libs` -lSDL_ttf -lfreetype -lz -o ../TuxDash
++ $(CXX) -static main.cpp $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) `/usr/bin/sdl-config --cflags --static-libs` -lSDL_ttf -lfreetype -lz -o ../tuxdash
diff --git a/games-arcade/tuxdash/files/tuxdash-0.8-fix-c++14.patch b/games-arcade/tuxdash/files/tuxdash-0.8-fix-c++14.patch
new file mode 100644
index 000000000000..b37f456f559b
--- /dev/null
+++ b/games-arcade/tuxdash/files/tuxdash-0.8-fix-c++14.patch
@@ -0,0 +1,101 @@
+Modernise C++ to avoid errors in C++14 mode.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=600084
+
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -66,7 +66,7 @@
+
+ void writeconfig(const map& game_map) {
+ ofstream config((ostring)TuxHomeDirectory + "/config"); // open config file
+- if(config == NULL) { // error check
++ if(!config) { // error check
+ cout << "Warning: Couldn't write to file " << (ostring)TuxHomeDirectory + "/config" << endl;
+ return;
+ }
+@@ -124,7 +124,7 @@
+
+ void readconfig(class map& game_map) {
+ ifstream config((ostring)TuxHomeDirectory + "/config"); // open config file
+- if(config==0) { // error check
++ if(!config) { // error check
+ cout << "Warning: Couldn't find configuration file " << (ostring)TuxHomeDirectory + "/config" << ". Using default values." << endl;
+ return;
+ }
+--- a/src/map.cpp
++++ b/src/map.cpp
+@@ -346,13 +346,13 @@
+ cout << "-- copy map --" << endl; // print status message
+ ifstream in_file(path); // open source file
+
+- if(in_file == 0) { // error checking
++ if(!in_file) { // error checking
+ cout << "Couldn't open sourcefile \"" << filename << "\"" << endl;
+ cout << endl << "-- error in copymap --" << endl;
+ return 1;
+ }
+
+- if(out_file == 0) { // error checking
++ if(!out_file) { // error checking
+ cout << "Couldn't open target file \"" << temp_path << "\" for writing " << endl;
+ cout << endl << "-- error in copymap --" << endl;
+ return 1;
+@@ -390,7 +390,7 @@
+ path = mapfolder;
+ path += filename;
+ file.open(path); // open file
+- if(file == NULL) {
++ if(!file) {
+ cout << "map::savemap : error while saving map to file '" << path << "'" << endl;
+ return 1;
+ }
+@@ -402,7 +402,7 @@
+ path = savefolder;
+ path += filename;
+ file.open(path); // open file
+- if(file == NULL) {
++ if(!file) {
+ cout << "map::savemap : error while saving game to file '" << path << "'" << endl;
+ return 1;
+ }
+--- a/src/menu.cpp
++++ b/src/menu.cpp
+@@ -119,7 +119,7 @@
+
+ // add a selection box
+
+-class element* menu_mgm::add_box(int x, int y, const ostring& text, const ostring& value, bool selectable, int size, int xgroup, int ygroup, int max, int width, int height, unsigned char r, unsigned char g, unsigned char b, int value_type, bool dependency, char* depend) {
++class element* menu_mgm::add_box(int x, int y, const ostring& text, const ostring& value, bool selectable, int size, int xgroup, int ygroup, int max, int width, int height, unsigned char r, unsigned char g, unsigned char b, int value_type, bool dependency, const char* depend) {
+ class element& newone = add();
+ newone.value = value;
+ newone.posx = x;
+--- a/src/menu.h
++++ b/src/menu.h
+@@ -56,7 +56,7 @@
+ void check_custom_parameters(); // check if parameters are okay
+ ostring keytoa(SDLKey); // cast SDLKey to ASCII
+ class element* add_text(int, int, const ostring&, bool, int, int =-1, int =-1, unsigned char =0, unsigned char =0, unsigned char = 0, int = -1, int = -1); // add a text element
+- class element* add_box(int, int, const ostring&, const ostring&, bool, int, int, int, int, int, int, unsigned char, unsigned char, unsigned char, int = 0, bool =false, char* =0); // add a box element
++ class element* add_box(int, int, const ostring&, const ostring&, bool, int, int, int, int, int, int, unsigned char, unsigned char, unsigned char, int = 0, bool =false, const char* =0); // add a box element
+ class element* add_select(int, int, const ostring&, const ostring&, bool, int, int, int, const char* oneoftwo=0); // add a select element
+ void draw_window(); // draw the current menu screen with all elements
+ void selection_mgm(char); // process user input for menu navigation
+--- a/src/surface.cpp
++++ b/src/surface.cpp
+@@ -92,7 +92,7 @@
+ else file_tmp = file;
+
+ TTF_Font *font = TTF_OpenFont(file_tmp, size);
+- SDL_Color color = {r, g, b, 0};
++ SDL_Color color = {(Uint8)r, (Uint8)g, (Uint8)b, 0};
+
+ area = TTF_RenderText_Solid(font, text, color);
+
+@@ -118,7 +118,7 @@
+ SDL_Surface* text_surface;
+ SDL_Rect temp;
+ TTF_Font *font_tmp = TTF_OpenFont(font, size);
+- SDL_Color farbe = {r, g, b, 0};
++ SDL_Color farbe = {(Uint8)r, (Uint8)g, (Uint8)b, 0};
+ text_surface = TTF_RenderText_Solid(font_tmp, text, farbe);
+ TTF_CloseFont(font_tmp);
+ temp = pos;
diff --git a/games-arcade/tuxdash/files/tuxdash-0.8-fix-paths.patch b/games-arcade/tuxdash/files/tuxdash-0.8-fix-paths.patch
new file mode 100644
index 000000000000..72cde9d411f8
--- /dev/null
+++ b/games-arcade/tuxdash/files/tuxdash-0.8-fix-paths.patch
@@ -0,0 +1,45 @@
+Change paths for Gentoo's filesystem layout.
+
+--- a/config
++++ b/config
+@@ -1,11 +1,11 @@
+ # Fullscreen enable/disable
+-Fullscreen = 0
++Fullscreen = 1
+ # Width of screen in blocks
+ screenX = 21
+ # Height of screen in blocks
+ screenY = 16
+ # Theme Folder - path to a valid theme
+-theme = themes/original/
++theme = /usr/share/tuxdash/themes/original/
+ # Distance in X direction, before scrolling starts
+ scrolldistX = 3
+ # Distance in Y direction, before scrolling starts
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -340,9 +340,7 @@
+
+ // set tuxdash's config / working directory
+ char* HomeDirectory;
+- char* CurrentDirectory;
+ HomeDirectory = getenv("HOME"); // get users home directory
+- CurrentDirectory = getenv("PWD"); // get TuxDash's working directory
+ TuxHomeDirectory = new char[strlen(HomeDirectory)+strlen("/.tuxdash")+1]; // align space for the string containing the path to tuxdash's config directory
+ strcpy(TuxHomeDirectory, HomeDirectory);
+ strcat(TuxHomeDirectory, "/.tuxdash");
+@@ -355,12 +353,12 @@
+ }
+ else {
+ mkdir((ostring)TuxHomeDirectory + "/themes", 0711); // create the themes folder. The default themes are not copied there, but the folder is created for possible additional themes added by the player
+- chdir(CurrentDirectory);
++ chdir("/usr/share/tuxdash");
+ system((ostring)"cp -r maps savegames config " + TuxHomeDirectory);
+ }
+ }
+ cout << endl << " Using " << TuxHomeDirectory << " for configuration, map and savegame files" << endl;
+- chdir(CurrentDirectory);
++ chdir("/usr/share/tuxdash");
+ // finished with check of working directory
+
+ int running=1, start, stop, framestart = time(0), frames=0, frame_count = 0;
diff --git a/games-arcade/tuxdash/tuxdash-0.8-r1.ebuild b/games-arcade/tuxdash/tuxdash-0.8-r1.ebuild
new file mode 100644
index 000000000000..4e237fce5c7c
--- /dev/null
+++ b/games-arcade/tuxdash/tuxdash-0.8-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="A simple BoulderDash clone"
+HOMEPAGE="http://www.tuxdash.de/index.php?language=EN"
+SRC_URI="http://www.tuxdash.de/ressources/downloads/${PN}_src_${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="
+ media-libs/libsdl[video]
+ media-libs/sdl-ttf"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8-fix-build-system.patch
+ "${FILESDIR}"/${PN}-0.8-fix-c++14.patch
+ "${FILESDIR}"/${PN}-0.8-fix-paths.patch
+)
+
+src_prepare() {
+ default
+ rm -f GPL TuxDash || die
+}
+
+src_configure() {
+ tc-export CXX
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_install() {
+ dobin tuxdash
+ einstalldocs
+
+ insinto /usr/share/${PN}
+ doins -r themes maps fonts savegames config
+}