summaryrefslogtreecommitdiff
path: root/community/btanks
diff options
context:
space:
mode:
Diffstat (limited to 'community/btanks')
-rw-r--r--community/btanks/PKGBUILD16
-rw-r--r--community/btanks/gcc-4.6.patch64
-rw-r--r--community/btanks/lua52.patch21
3 files changed, 86 insertions, 15 deletions
diff --git a/community/btanks/PKGBUILD b/community/btanks/PKGBUILD
index 530c3bd98..838429b61 100644
--- a/community/btanks/PKGBUILD
+++ b/community/btanks/PKGBUILD
@@ -1,32 +1,38 @@
-# $Id: PKGBUILD 59272 2011-11-22 09:39:15Z spupykin $
+# $Id: PKGBUILD 81100 2012-12-12 00:47:26Z eric $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Nick B <Shirakawasuna at gmail _dot_ com>
pkgname=btanks
pkgver=0.9.8083
-pkgrel=3
+pkgrel=4
pkgdesc="Fast 2d tank arcade game with multiplayer and split-screen modes."
arch=('i686' 'x86_64')
url="http://btanks.sourceforge.net"
license=('GPL')
depends=('expat' 'libgl' 'libsigc++2.0' 'libvorbis' 'lua' 'openal' 'sdl' 'sdl_image'
- 'smpeg' "btanks-data=$pkgver")
+ 'smpeg' 'glu' "btanks-data=$pkgver")
makedepends=('scons' 'chrpath' 'mesa')
source=(http://downloads.sourceforge.net/btanks/btanks-$pkgver.tar.bz2
btanks_desktop
btanks_script
bted_script
- gcc-4.6.patch)
+ gcc-4.6.patch
+ lua52.patch)
install=btanks.install
md5sums=('49cb95c0eec47d3436c4fdf65e7c9d12'
'a2ddeb1e79dff8d3fd702984c8d3aab5'
'07657cfa71b1de1d008cc5e3ade9749b'
'91a61c0f581ea27281bdaecb7a3cd58b'
- '173f0ffe46bb1bab2c8aa240fe5331f3')
+ 'b816c5f3ae2d6cd954c15569d4baf123'
+ 'e7af4af59255166bee530cbabd953226')
build() {
cd $srcdir/$pkgname-$pkgver
+
+ sed -i '1,1i#include <sys/types.h>' mrt/base_file.h
patch -p1 <$srcdir/gcc-4.6.patch
+ patch -p1 <$srcdir/lua52.patch
+
python2 engine/sl08/sl08.py >engine/sl08/sl08.h
scons
diff --git a/community/btanks/gcc-4.6.patch b/community/btanks/gcc-4.6.patch
index d371abd53..c944378fd 100644
--- a/community/btanks/gcc-4.6.patch
+++ b/community/btanks/gcc-4.6.patch
@@ -1,10 +1,7 @@
-From: Ansgar Burchardt <ansgar@debian.org>
-Bug-Debian: http://bugs.debian.org/624916
-Subject: Fix FTBFS with gcc-4.6
-
---- btanks-0.9.8083.orig/engine/sl08/sl08.py
-+++ btanks-0.9.8083/engine/sl08/sl08.py
-@@ -152,8 +152,8 @@ class Generator(object):
+diff -wbBur btanks-0.9.8083/engine/sl08/sl08.py btanks-0.9.8083.my/engine/sl08/sl08.py
+--- btanks-0.9.8083/engine/sl08/sl08.py 2008-08-13 13:10:45.000000000 +0400
++++ btanks-0.9.8083.my/engine/sl08/sl08.py 2012-11-15 18:04:44.002524495 +0400
+@@ -152,11 +152,11 @@
typedef base_signalXXX %s signal_type;
typedef return_type (object_type::*func_t) %s;
@@ -14,8 +11,23 @@ Subject: Fix FTBFS with gcc-4.6
+ inline slotXXX(object_type *object, func_t func, signal_type * signal = 0) : 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); }
-@@ -187,7 +187,7 @@ class Generator(object):
+- 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; base_slotXXX%s::connect(signal_ref); }
+
+ inline return_type operator() %s const {
+ return (object->*func) %s ;
+@@ -175,7 +175,9 @@
+ self.template_declaration('slot'),
+ self.template_parameters('base-slot'),
+ self.template_parameters('base-slot'),
+- self.prototype(True), self.prototype(True), self.prototype(False),
++ self.prototype(True),
++ self.template_parameters('base-signal'),
++ self.prototype(True), self.prototype(False),
+ )
+
+ #specialized version of the slot
+@@ -187,10 +189,10 @@
typedef base_signalXXX %s signal_type;
typedef void (object_type::*func_t) %s ;
@@ -23,4 +35,36 @@ Subject: Fix FTBFS with gcc-4.6
+ inline slotXXX () : object(0), func(0) {}
inline slotXXX (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; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; base_slotXXX%s::connect(signal_ref); }
+
+ inline void operator() %s const {
+ (object->*func) %s;
+@@ -206,6 +208,7 @@
+ self.template_parameters('base-slot', True),
+ self.template_parameters('base-slot', True),
+ self.prototype(True),
++ self.template_parameters('base-slot', True),
+ self.prototype(True),
+ self.prototype(False),
+ )
+diff -wbBur btanks-0.9.8083/math/range_list.h btanks-0.9.8083.my/math/range_list.h
+--- btanks-0.9.8083/math/range_list.h 2008-10-24 18:15:55.000000000 +0400
++++ btanks-0.9.8083.my/math/range_list.h 2012-11-15 18:11:52.049236706 +0400
+@@ -53,14 +53,14 @@
+ return;
+ }
+
+- typename parent_type::iterator i = lower_bound(value);
++ typename parent_type::iterator i = std::map<const T, T>::lower_bound(value);
+ if (i != parent_type::end()) {
+ if (i->first == value)
+ return;
+
+ if (value + 1 == i->first) {
+ T e = i->second;
+- erase(i);
++ std::map<const T, T>::erase(i);
+ i = parent_type::insert(typename parent_type::value_type(value, e)).first; //expand beginning
+ i = pack_left(i);
+ }
diff --git a/community/btanks/lua52.patch b/community/btanks/lua52.patch
new file mode 100644
index 000000000..e27d5fdb7
--- /dev/null
+++ b/community/btanks/lua52.patch
@@ -0,0 +1,21 @@
+diff -wbBur btanks-0.9.8083/engine/luaxx/state.cpp btanks-0.9.8083.my/engine/luaxx/state.cpp
+--- btanks-0.9.8083/engine/luaxx/state.cpp 2008-06-08 13:02:39.000000000 +0400
++++ btanks-0.9.8083.my/engine/luaxx/state.cpp 2012-11-15 18:59:07.000000000 +0400
+@@ -59,7 +59,7 @@
+ void State::load(const std::string &fname, const mrt::Chunk &data) {
+ //throw_ex(("implement me[%s]", fname.c_str()));
+ reader_state x(data);
+- int err = lua_load(state, chunk_reader, &x, fname.c_str());
++ int err = lua_load(state, chunk_reader, &x, fname.c_str(), NULL);
+ check_error(state, err);
+ }
+
+@@ -81,7 +81,7 @@
+ assert(state == NULL);
+
+ //state = lua_newstate(l_alloc, this);
+- state = lua_open();
++ state = luaL_newstate();
+ if (state == NULL)
+ throw_ex(("cannot create lua interpreter"));
+