summaryrefslogtreecommitdiff
path: root/games-action/btanks
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /games-action/btanks
reinit the tree, so we can have metadata
Diffstat (limited to 'games-action/btanks')
-rw-r--r--games-action/btanks/Manifest9
-rw-r--r--games-action/btanks/btanks-0.9.8083.ebuild54
-rw-r--r--games-action/btanks/files/btanks-0.9.8083-gcc46.patch10
-rw-r--r--games-action/btanks/files/btanks-0.9.8083-gcc47.patch103
-rw-r--r--games-action/btanks/files/btanks-0.9.8083-gcc6.patch34
-rw-r--r--games-action/btanks/files/btanks-0.9.8083-scons-blows.patch93
-rw-r--r--games-action/btanks/metadata.xml19
7 files changed, 322 insertions, 0 deletions
diff --git a/games-action/btanks/Manifest b/games-action/btanks/Manifest
new file mode 100644
index 000000000000..5f97c6c9e841
--- /dev/null
+++ b/games-action/btanks/Manifest
@@ -0,0 +1,9 @@
+AUX btanks-0.9.8083-gcc46.patch 284 SHA256 f2ee8df34aeaf30ff2f0fa9b9581e722bd4baac89407d4c895fc02c0b0b6d7f8 SHA512 114ddc0b5bbe0125389dee88ed3eef27b3ec260edc6d50eb04a86f93157f3b2f613cd1ba58f915ca7f8255d2cdc5d341a0a70bf22d5210160dba7604fd90c83d WHIRLPOOL d9db3d70b515e516efd84f4c8833377f8a3119518f0c37e7d4e1603fa1a45d66fe5c4160bb76d61ef9e0afd5654426501f96c8930ef07234cbcddb367d8cfb40
+AUX btanks-0.9.8083-gcc47.patch 5679 SHA256 291e3860c8071af1fcc3da97b314b571f583585ec2287a71ed31377bf709cfa9 SHA512 226869ef3031ddd4629bdd98880c85a4c0ff9f1619fd45372e60ccb2ebb50f0cd7b0ad60befa1859e475705d236144b1fd6e2286513cfbafaa0eba8c02918c9a WHIRLPOOL 65c1b09329fa613256aca97d5db7d0145e035da25e57217d09cd4133470a797ccc641dbfde09410519afce5a4ccce21f0f313161053d76703ec56428276a7120
+AUX btanks-0.9.8083-gcc6.patch 712 SHA256 6810b68bbcd35e60b758a7ba25cc6537fbcd8dc90af862a5e4c83c56abf0b0c1 SHA512 1efbac6ed17aa9d3cfc1c6e85a94eb4f83b6d37ce81d2f6db8190ee8d70e09ba156e50861bbeb4a8a3867db33e6b2427e996e2d1421a2f2ef2216946a42fda8a WHIRLPOOL 5ad8cfc7843d042661b7af4f7e415e4999ac949750b0b71a6f11f517a6c1586c3c2f66d03488e078b3cb97d508206c1f95e6e505ecf4dc9397adc304dac46a51
+AUX btanks-0.9.8083-scons-blows.patch 3146 SHA256 792bf72825939d33fa548cf995665104df06399820fc3eb85148d8fb722e8622 SHA512 de42054c599d808ca1fb3491346602b4055157973f8138a2c258e64fb596d87d67b24ffe30edffbab30fec4b0e71bc541cbd2fb7d7866d079595b54af763a856 WHIRLPOOL fef4c6f50ab5c411c5af886f7d9593aa8302b43d0704072f309f2e58aadc064d9d8c2bdd0c5e8e7da93dca2d4e15e4a845fcdf697e1a503d7cade1265ae4e249
+DIST btanks-0.9.8083.tar.bz2 28754069 SHA256 3fd2ce6a2b45f7a60c3b114fa9aff13cb3dd9fbb6a65cdc9798b76c4fa2c4341 SHA512 beef8f480e4c20c4f3d29aaa63fd52b370b89cceb8a7dda92f0d0fa5517969abf1fce6b0109782300f1b5bb92cf3c599677b168cd66f3b44c2d2dd1742ce0241 WHIRLPOOL 5320ce692ae5c6a760121fb52120ff35632d06610dfa514897f6569f7b5a9c8246b824a81b50d74c649dff7c0cb84b9af537edbb5d2fc88b7bafdf92d0b1c749
+EBUILD btanks-0.9.8083.ebuild 1311 SHA256 f85763f3a91939945f17c92b1376941ce9b2cd296b73cd2343ea81da3d1ce5a8 SHA512 6e312e0523e0b28cf405117469170f7d8d5e040ba49f01a366561bcc12c7174fbe0771d6956bd53c2b192df975872365c49aa9d6b656480152ca56448720fa50 WHIRLPOOL fcf00e14f8c4782b2853687303b0744f267fe9bbdbacb69d393b63a87824e575906dee7a9583042db68638f8b93c825e3168cae91f583e04236e256e66053633
+MISC ChangeLog 2550 SHA256 3fb015767e18a0ba8bc5606128eba7fa2cc50e6cb73a38686defcff3e5df909d SHA512 e7ee6f2c7da5a1d8ae56993c9ba2b76236faf078d1cb6eea7102bc32b43c7d67f7645304f8d73306b2199d460221dd3b12fe659600469bbbfc5723a8ec946bb1 WHIRLPOOL ce99da0cd3eed54c1a1f5923639cc234f01fca1d1a589fa8698566b1a19f58b4db68ff6f00c7cfba400a876fe13e1b586006ae1ef4f5f0f7146a75ac8bf43c0b
+MISC ChangeLog-2015 4857 SHA256 44b19f9600efe4603a000d1989c9df9a19c17155f2559f9dac467419912bf9b9 SHA512 572e63dea6c3d838c9e1b2341cd1e03eb6caa75ba27a53933ee8524b85ca49830259ae361463f58c5c65742cf4a21723dfce1caa9c39589fd6340bfef9c740e3 WHIRLPOOL 0fa6af85831b03f0188c2ff85ccab99d447da3f26b4a5c3b0ca075309cb463965773c2b4a2420941e92587fb5dd55992405255f50a1efd91a7bbcb4bfc8c7139
+MISC metadata.xml 774 SHA256 42c550de6382155fb22acdae5e7fe4aac1bf14aafcf249df98c78046c1a488b3 SHA512 f5b571ea902f863958151df0746dcbe2bd59f4c286e81ae6d4b3c2a298b1288379ec8e88e0ba59e06fdc4188e1dbd5fccb158e37707065556db241588420bcc2 WHIRLPOOL 0a695cdc62568672dd5f6660c8d45e7dff8dec910b5d0d6782e552e67a10cb1640511dda6731d35299cc608b33943554f6e8af370bd5a46ab898ee4232bd6acc
diff --git a/games-action/btanks/btanks-0.9.8083.ebuild b/games-action/btanks/btanks-0.9.8083.ebuild
new file mode 100644
index 000000000000..9da95ffb8f30
--- /dev/null
+++ b/games-action/btanks/btanks-0.9.8083.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils scons-utils games
+
+DESCRIPTION="Fast 2D tank arcade game with multiplayer and split-screen modes"
+HOMEPAGE="http://btanks.sourceforge.net/"
+SRC_URI="mirror://sourceforge/btanks/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/lua-5.1:0
+ media-libs/libsdl[joystick,video]
+ media-libs/libvorbis
+ virtual/opengl
+ dev-libs/expat
+ media-libs/smpeg
+ media-libs/sdl-image[jpeg,png]
+ media-libs/sdl-gfx"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ rm -rf sdlx/gfx
+ epatch "${FILESDIR}"/${P}-scons-blows.patch \
+ "${FILESDIR}"/${P}-gcc46.patch \
+ "${FILESDIR}"/${P}-gcc47.patch \
+ "${FILESDIR}"/${P}-gcc6.patch
+}
+
+src_compile() {
+ escons \
+ prefix="${GAMES_PREFIX}" \
+ lib_dir="$(games_get_libdir)"/${PN} \
+ plugins_dir="$(games_get_libdir)"/${PN} \
+ resources_dir="${GAMES_DATADIR}"/${PN}
+}
+
+src_install() {
+ dogamesbin build/release/engine/btanks
+ newgamesbin build/release/editor/bted btanksed
+ exeinto "$(games_get_libdir)"/${PN}
+ doexe build/release/*/*.so
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r data
+ newicon engine/src/bt.xpm ${PN}.xpm
+ make_desktop_entry ${PN} "Battle Tanks"
+ dodoc ChangeLog *.txt
+ prepgamesdirs
+}
diff --git a/games-action/btanks/files/btanks-0.9.8083-gcc46.patch b/games-action/btanks/files/btanks-0.9.8083-gcc46.patch
new file mode 100644
index 000000000000..367c33cc6f24
--- /dev/null
+++ b/games-action/btanks/files/btanks-0.9.8083-gcc46.patch
@@ -0,0 +1,10 @@
+--- engine/sl08/sl08.h.old 2011-04-19 17:20:34.055776870 +0200
++++ engine/sl08/sl08.h 2011-04-19 17:20:59.471398921 +0200
+@@ -22,6 +22,7 @@
+ /* DO NOT MODIFY THIS FILE: IT'S AUTOGENERATED */
+
+ #include <list>
++#include <cstddef>
+
+ #ifndef NULL
+ #define NULL ((void*) 0)
diff --git a/games-action/btanks/files/btanks-0.9.8083-gcc47.patch b/games-action/btanks/files/btanks-0.9.8083-gcc47.patch
new file mode 100644
index 000000000000..13a4cf3723ae
--- /dev/null
+++ b/games-action/btanks/files/btanks-0.9.8083-gcc47.patch
@@ -0,0 +1,103 @@
+--- mrt/base_file.h.old 2012-10-08 10:16:43.941487723 +0200
++++ mrt/base_file.h 2012-10-08 10:18:55.788771445 +0200
+@@ -20,6 +20,7 @@
+ */
+
+ #include <string>
++#include <unistd.h>
+ #include "export_mrt.h"
+
+ namespace mrt {
+--- math/range_list.h.old 2012-10-08 09:49:34.283887937 +0200
++++ math/range_list.h 2012-10-08 09:50:36.258212096 +0200
+@@ -53,14 +53,14 @@
+ return;
+ }
+
+- typename parent_type::iterator i = lower_bound(value);
++ typename parent_type::iterator i = this->lower_bound(value);
+ if (i != parent_type::end()) {
+ if (i->first == value)
+ return;
+
+ if (value + 1 == i->first) {
+ T e = i->second;
+- erase(i);
++ this->erase(i);
+ i = parent_type::insert(typename parent_type::value_type(value, e)).first; //expand beginning
+ i = pack_left(i);
+ }
+--- engine/sl08/sl08.h.old 2012-10-04 09:50:37.845681514 +0200
++++ engine/sl08/sl08.h 2012-10-08 09:58:32.873166723 +0200
+@@ -272,7 +272,7 @@
+ inline slot1(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1) const {
+ return (object->*func) (a1) ;
+@@ -293,7 +293,7 @@
+ inline slot1 () : object(NULL), func(NULL) {}
+ inline slot1 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1) const {
+ (object->*func) (a1);
+@@ -447,7 +447,7 @@
+ inline slot2(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1, arg2_type a2) const {
+ return (object->*func) (a1, a2) ;
+@@ -468,7 +468,7 @@
+ inline slot2 () : object(NULL), func(NULL) {}
+ inline slot2 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1, arg2_type a2) const {
+ (object->*func) (a1, a2);
+@@ -643,7 +643,7 @@
+ inline slot3 () : object(NULL), func(NULL) {}
+ inline slot3 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1, arg2_type a2, arg3_type a3) const {
+ (object->*func) (a1, a2, a3);
+@@ -797,7 +797,7 @@
+ inline slot4(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) const {
+ return (object->*func) (a1, a2, a3, a4) ;
+@@ -818,7 +818,7 @@
+ inline slot4 () : object(NULL), func(NULL) {}
+ inline slot4 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) const {
+ (object->*func) (a1, a2, a3, a4);
+@@ -972,7 +972,7 @@
+ inline slot5(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) const {
+ return (object->*func) (a1, a2, a3, a4, a5) ;
diff --git a/games-action/btanks/files/btanks-0.9.8083-gcc6.patch b/games-action/btanks/files/btanks-0.9.8083-gcc6.patch
new file mode 100644
index 000000000000..5f11379d8056
--- /dev/null
+++ b/games-action/btanks/files/btanks-0.9.8083-gcc6.patch
@@ -0,0 +1,34 @@
+Bug: https://bugs.gentoo.org/609692
+
+--- a/mrt/timespy.cpp
++++ b/mrt/timespy.cpp
+@@ -43,7 +43,7 @@
+ throw_io(("gettimeofday"));
+ }
+
+-TimeSpy::~TimeSpy() {
++TimeSpy::~TimeSpy() DTOR_NOEXCEPT {
+ struct timeval now;
+ if (gettimeofday(&now, NULL) == -1)
+ throw_io(("gettimeofday"));
+--- a/mrt/timespy.h
++++ b/mrt/timespy.h
+@@ -37,11 +37,17 @@
+ #include "fmt.h"
+ #include "export_mrt.h"
+
++#if __cplusplus >= 201103L
++#define DTOR_NOEXCEPT noexcept(false)
++#else
++#define DTOR_NOEXCEPT
++#endif
++
+ namespace mrt {
+ class MRTAPI TimeSpy {
+ public:
+ TimeSpy(const std::string &message);
+- ~TimeSpy();
++ ~TimeSpy() DTOR_NOEXCEPT;
+ private:
+ TimeSpy(const TimeSpy&);
+ const TimeSpy& operator=(const TimeSpy&);
diff --git a/games-action/btanks/files/btanks-0.9.8083-scons-blows.patch b/games-action/btanks/files/btanks-0.9.8083-scons-blows.patch
new file mode 100644
index 000000000000..47ce410f0bf8
--- /dev/null
+++ b/games-action/btanks/files/btanks-0.9.8083-scons-blows.patch
@@ -0,0 +1,93 @@
+--- mrt/export_base.h.old 2010-01-09 17:38:47.000000000 +0100
++++ mrt/export_base.h 2010-01-09 17:39:23.000000000 +0100
+@@ -1,7 +1,7 @@
+ #ifndef MRT_EXPORT_MACRO_H__
+ #define MRT_EXPORT_MACRO_H__
+
+-// Shared library support
++/* Shared library support */
+ #ifdef _WINDOWS
+
+ # pragma warning(disable:4251) /* needs to have dll-interface used by client */
+--- SConstruct.old 2010-01-09 17:43:36.000000000 +0100
++++ SConstruct 2010-01-09 17:45:25.000000000 +0100
+@@ -50,7 +50,7 @@
+ if os.environ.has_key('CC'):
+ env['CC'] = os.environ['CC']
+ if os.environ.has_key('CFLAGS'):
+- env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
++ env['CFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
+ if os.environ.has_key('CXX'):
+ env['CXX'] = os.environ['CXX']
+ if os.environ.has_key('CXXFLAGS'):
+@@ -91,19 +91,9 @@
+ #env.Append(CPPDEFINES = ['NDEBUG'])
+
+ else:
+- if env['gcc_visibility']:
+- env.Append(CCFLAGS=['-fvisibility=hidden']);
+- env.Append(CXXFLAGS=['-fvisibility-inlines-hidden', '-fvisibility=hidden']);
+-
+- if debug:
+- env.Append(CCFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2'])
+- env.Append(CPPFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2'])
+- else:
+- env.Append(CCFLAGS=['-O3'])
+- env.Append(CPPFLAGS=['-O3'])
+
+- env.Append(CPPFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread'])
+- env.Append(CCFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread'])
++ env.Append(CPPFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pthread'])
++ env.Append(CCFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pthread'])
+
+
+ conf_env = env.Clone()
+--- sdlx/SConscript.old 2010-01-09 17:46:05.000000000 +0100
++++ sdlx/SConscript 2010-01-09 17:46:55.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ env.MergeFlags(sdl_cflags, sdl_libs)
+
+-libs = ['mrt', 'SDL', 'SDL_image']
++libs = ['mrt', 'SDL', 'SDL_image', 'SDL_gfx']
+
+ if sys.platform != "win32":
+ c_map_env= env.Clone()
+@@ -35,7 +35,6 @@
+ sdlx_sources = ['cursor.cpp', 'sdl_ex.cpp', 'surface.cpp', 'system.cpp', 'joystick.cpp',
+ 'thread.cpp', 'mutex.cpp', 'semaphore.cpp', 'color.cpp',
+ c_map, 'font.cpp', 'timer.cpp', 'module.cpp', 'file_rw.cpp',
+- 'gfx/SDL_rotozoom.c',
+ ] # 'ttf.cpp',
+
+ if sys.platform == 'win32':
+--- sdlx/surface.cpp.old 2010-01-09 17:47:33.000000000 +0100
++++ sdlx/surface.cpp 2010-01-09 17:48:19.000000000 +0100
+@@ -425,7 +425,7 @@
+ throw_sdl(("SDL_SetColorKey"));
+ }
+
+-#include "gfx/SDL_rotozoom.h"
++#include <SDL_rotozoom.h>
+
+ void Surface::rotozoom(const sdlx::Surface &src, double angle, double zoom, bool smooth) {
+ if (src.isNull())
+--- sdlx/wrappers/glSDL.c.old 2010-01-09 17:48:50.000000000 +0100
++++ sdlx/wrappers/glSDL.c 2010-01-09 17:49:23.000000000 +0100
+@@ -11,8 +11,6 @@
+
+ #ifdef HAVE_OPENGL
+
+-//#define LEAK_TRACKING
+-
+ #define DBG(x) /*error messages, warnings*/
+ #define DBG2(x) /*texture allocation*/
+ #define DBG3(x) /*chopping/tiling*/
+@@ -951,7 +949,6 @@
+ }
+ gl_doublebuf = flags & SDL_DOUBLEBUF;
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, gl_doublebuf);
+- //SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, gl_doublebuf ? 1: 0);
+
+ scale = 1;
+
diff --git a/games-action/btanks/metadata.xml b/games-action/btanks/metadata.xml
new file mode 100644
index 000000000000..3574b919826a
--- /dev/null
+++ b/games-action/btanks/metadata.xml
@@ -0,0 +1,19 @@
+<?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">
+"Battle Tanks" is a funny battle on your desk, where you can choose one of three
+vehicles and eliminate your enemy using the whole arsenal of weapons. It has
+original cartoon-like graphics and cool music, it's fun and dynamic, it has
+several network modes for deathmatch and cooperative --- what else is needed to
+have fun with your friends? And all is packed and ready for you in "Battle
+Tanks".
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">btanks</remote-id>
+ </upstream>
+</pkgmetadata>