summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartłomiej Piotrowski2018-01-05 16:53:04 +0100
committerBartłomiej Piotrowski2018-01-05 16:53:04 +0100
commitcd0e016963238f16209baa2da658aa3fad36e33d (patch)
tree60273fc810329c4a646c38480b832452e46e12d6
downloadaur-cd0e016963238f16209baa2da658aa3fad36e33d.tar.gz
Import from official repositories
-rw-r--r--.SRCINFO37
-rw-r--r--PKGBUILD79
-rw-r--r--btanks.install7
-rw-r--r--btanks_desktop10
-rw-r--r--btanks_script6
-rw-r--r--bted_script6
-rw-r--r--gcc-4.6.patch70
-rw-r--r--lua52.patch21
8 files changed, 236 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..dc7752422441
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,37 @@
+pkgbase = btanks
+ pkgdesc = Fast 2d tank arcade game with multiplayer and split-screen modes.
+ pkgver = 0.9.8083
+ pkgrel = 7
+ url = http://btanks.sourceforge.net
+ install = btanks.install
+ arch = x86_64
+ license = GPL
+ makedepends = scons
+ makedepends = chrpath
+ makedepends = mesa
+ depends = expat
+ depends = libgl
+ depends = libsigc++2.0
+ depends = libvorbis
+ depends = lua
+ depends = openal
+ depends = sdl
+ depends = sdl_image
+ depends = smpeg
+ depends = glu
+ depends = btanks-data=0.9.8083
+ source = http://downloads.sourceforge.net/btanks/btanks-0.9.8083.tar.bz2
+ source = btanks_desktop
+ source = btanks_script
+ source = bted_script
+ source = gcc-4.6.patch
+ source = lua52.patch
+ md5sums = 49cb95c0eec47d3436c4fdf65e7c9d12
+ md5sums = a2ddeb1e79dff8d3fd702984c8d3aab5
+ md5sums = 07657cfa71b1de1d008cc5e3ade9749b
+ md5sums = 91a61c0f581ea27281bdaecb7a3cd58b
+ md5sums = b816c5f3ae2d6cd954c15569d4baf123
+ md5sums = e7af4af59255166bee530cbabd953226
+
+pkgname = btanks
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..76c233c3541d
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 266875 2017-11-15 14:29:11Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Nick B <Shirakawasuna at gmail _dot_ com>
+
+pkgname=btanks
+pkgver=0.9.8083
+pkgrel=7
+pkgdesc="Fast 2d tank arcade game with multiplayer and split-screen modes."
+arch=('x86_64')
+url="http://btanks.sourceforge.net"
+license=('GPL')
+depends=('expat' 'libgl' 'libsigc++2.0' 'libvorbis' 'lua' 'openal' 'sdl' 'sdl_image'
+ '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
+ lua52.patch)
+install=btanks.install
+md5sums=('49cb95c0eec47d3436c4fdf65e7c9d12'
+ 'a2ddeb1e79dff8d3fd702984c8d3aab5'
+ '07657cfa71b1de1d008cc5e3ade9749b'
+ '91a61c0f581ea27281bdaecb7a3cd58b'
+ '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
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ mkdir -p "$pkgdir"/usr/share/btanks
+ cp *.so btanks bted "$pkgdir"/usr/share/btanks/
+
+ # Install script
+ install -D -m755 "$srcdir"/bted_script "$pkgdir"/usr/bin/bted
+ install -D -m755 "$srcdir"/btanks_script "$pkgdir"/usr/bin/btanks
+
+ # Install desktop file
+ install -D -m644 "$srcdir"/btanks_desktop "$pkgdir"/usr/share/applications/btanks.desktop
+
+ # Install icon
+ install -D -m644 "$srcdir"/$pkgname-$pkgver/data/tiles/icon.png "$pkgdir"/usr/share/pixmaps/btanks.png
+
+ # Make settings saveable
+ touch "$pkgdir"/usr/share/btanks/bt.xml
+ chown :games "$pkgdir"/usr/share/btanks/bt.xml
+ chmod 664 "$pkgdir"/usr/share/btanks/bt.xml
+
+ # move executables, fix rpath
+ cd "$pkgdir"/usr/share/btanks
+ mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/lib/btanks
+
+ mv btanks "$pkgdir"/usr/bin/btanks-bin
+ mv bted "$pkgdir"/usr/bin/bted-bin
+ mv *.so "$pkgdir"/usr/lib/btanks/
+
+ ln -s /usr/bin/btanks-bin ./btanks
+ ln -s /usr/bin/bted-bin ./bted
+
+ ls -1 "$pkgdir"/usr/lib/btanks/ | while read A; do
+ ln -s /usr/lib/btanks/$A ./$A
+ done
+
+ chrpath -d "$pkgdir"/usr/bin/bted-bin
+ chrpath -d "$pkgdir"/usr/bin/btanks-bin
+ chrpath -d "$pkgdir"/usr/lib/btanks/*.so
+}
diff --git a/btanks.install b/btanks.install
new file mode 100644
index 000000000000..f9ac8fce794b
--- /dev/null
+++ b/btanks.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "In order to be able to change game preferences, you must be in the 'games' group."
+}
+
+post_upgrade() {
+ echo "In order to be able to change game preferences, you must be in the 'games' group."
+}
diff --git a/btanks_desktop b/btanks_desktop
new file mode 100644
index 000000000000..548fa7bfecb6
--- /dev/null
+++ b/btanks_desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Name=Battle Tanks!
+Comment= A 2D arcade tank battle!
+Icon=btanks
+Exec=btanks
+Terminal=false
+StartupNotify=false
+Categories=Game;ArcadeGame;
diff --git a/btanks_script b/btanks_script
new file mode 100644
index 000000000000..86ad105ef1aa
--- /dev/null
+++ b/btanks_script
@@ -0,0 +1,6 @@
+#!/bin/bash
+#This is the script for running the actual btanks executable
+
+cd /usr/share/btanks/
+export LD_LIBRARY_PATH=/usr/lib/btanks
+exec ./btanks
diff --git a/bted_script b/bted_script
new file mode 100644
index 000000000000..69ba703093fb
--- /dev/null
+++ b/bted_script
@@ -0,0 +1,6 @@
+#!/bin/bash
+#This is the script for running the actual bted executable
+
+cd /usr/share/btanks/
+export LD_LIBRARY_PATH=/usr/lib/btanks
+exec ./bted
diff --git a/gcc-4.6.patch b/gcc-4.6.patch
new file mode 100644
index 000000000000..c944378fd908
--- /dev/null
+++ b/gcc-4.6.patch
@@ -0,0 +1,70 @@
+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;
+
+- inline slotXXX () : object(NULL), func(NULL) {}
+- inline slotXXX(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
++ inline slotXXX () : object(0), func(0) {}
++ 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); }
++ 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 ;
+
+- inline slotXXX () : object(NULL), func(NULL) {}
++ 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; 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/lua52.patch b/lua52.patch
new file mode 100644
index 000000000000..e27d5fdb704b
--- /dev/null
+++ b/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"));
+