forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
1 parent
31f4624
commit 9a523f1
Showing
4 changed files
with
205 additions
and
0 deletions.
There are no files selected for viewing
11 changes: 11 additions & 0 deletions
11
games-arcade/tuxdash/files/tuxdash-0.8-fix-build-system.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |