diff options
Diffstat (limited to 'games-arcade/tuxdash')
-rw-r--r-- | games-arcade/tuxdash/Manifest | 6 | ||||
-rw-r--r-- | games-arcade/tuxdash/files/tuxdash-0.8-fix-build-system.patch | 11 | ||||
-rw-r--r-- | games-arcade/tuxdash/files/tuxdash-0.8-fix-c++14.patch | 101 | ||||
-rw-r--r-- | games-arcade/tuxdash/files/tuxdash-0.8-fix-paths.patch | 45 | ||||
-rw-r--r-- | games-arcade/tuxdash/metadata.xml | 8 | ||||
-rw-r--r-- | games-arcade/tuxdash/tuxdash-0.8-r1.ebuild | 47 |
6 files changed, 218 insertions, 0 deletions
diff --git a/games-arcade/tuxdash/Manifest b/games-arcade/tuxdash/Manifest new file mode 100644 index 000000000000..f2a1d0065da9 --- /dev/null +++ b/games-arcade/tuxdash/Manifest @@ -0,0 +1,6 @@ +AUX tuxdash-0.8-fix-build-system.patch 575 BLAKE2B 8975cac0d0bb753a4f1882e68d8d15449685b4ae4f5f97f83b8cae591cfd10f25c2d09fbf53e6843102c0039b3d94e5552884f05295de23e6361f575c3dd2f9d SHA512 bda193ee657973c26bccdd2f2caa8414be454e0e6b016673aad07dce23be300d79103bdbac40ee2aeb0a0dd1ae875f9d0b1b36b20aa4af2b40052b464574dd73 +AUX tuxdash-0.8-fix-c++14.patch 4251 BLAKE2B f3ef29821b2f0a13a4ab67381ccaca9c05adb6742687a9b94063dc618802d21da84ea1bd5965cbaa5cc1a338f0fa22099f3448635f23abfeee0923e67cf26072 SHA512 5314fe0be54a2232ce10d5c518bc30913303aad3d7d5af94a7e3e24661545c3a5ef50eedd2db4ab0cac1021a78064c362b3ef6731703ffb7e5020bfb4787c725 +AUX tuxdash-0.8-fix-paths.patch 1671 BLAKE2B 21498fb303cfade6754bb06fb7d540e8a33f3851d777112f30e729fdb29ae37041c561cccbf3e9e46c93c11b5b1df76c6c9214e7f901b8672f5d2ea895e25a80 SHA512 ff896b3ea57f95e9298a8640a8c2eb31049ab83a7cca1ecf40f73d9e7a1b1ee386f9f41d6a5af0b004015b2c97fa8ef0ed4eb11cc109c5efcd53b55fe0094d93 +DIST tuxdash_src_0.8.tar.bz2 447560 BLAKE2B 023deef628c1a6e0ea602fd87e3fe6347f38308dff45623aa59406d15805b87aafdb21e4756e5f2b90c97b56a76d4052c4aacb1401ff03e1e3157cac170b1536 SHA512 5c42b89ce3121025801d78d35962a2aa3d10e4443f6c929e7df4b45673e6285f37ed353877aa33eaa0edf584f7a428a8f485301ba1476865a498ab699ee81f86 +EBUILD tuxdash-0.8-r1.ebuild 845 BLAKE2B 33145206bd41914bdfa6df243fe7c6c76e9e2a7868f855fc8f0bf91fe81549b845982cf1167dcfa7dec9db2597cfc031ef8af4fd267a1579cd32f90aab382607 SHA512 31e9c0c923cd31d5f71d8dbdddb5400345827faeb52654c8a89259fc4d0147d2767597581cc6c612c6d7330038595bd5c9159e3c3b1373b2f1074e5eddeb255b +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 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/metadata.xml b/games-arcade/tuxdash/metadata.xml new file mode 100644 index 000000000000..78274e0fa550 --- /dev/null +++ b/games-arcade/tuxdash/metadata.xml @@ -0,0 +1,8 @@ +<?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> +</pkgmetadata> 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..77af51944756 --- /dev/null +++ b/games-arcade/tuxdash/tuxdash-0.8-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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 ~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 +} |