summaryrefslogtreecommitdiff
path: root/staging/wesnoth
diff options
context:
space:
mode:
Diffstat (limited to 'staging/wesnoth')
-rw-r--r--staging/wesnoth/PKGBUILD47
-rw-r--r--staging/wesnoth/wesnoth-1.8.6-boost-foreach.patch70
-rw-r--r--staging/wesnoth/wesnoth-libpng-1.4.0.patch24
-rw-r--r--staging/wesnoth/wesnoth.install9
-rw-r--r--staging/wesnoth/wesnoth.tmpfiles.conf1
5 files changed, 151 insertions, 0 deletions
diff --git a/staging/wesnoth/PKGBUILD b/staging/wesnoth/PKGBUILD
new file mode 100644
index 000000000..325ed58e7
--- /dev/null
+++ b/staging/wesnoth/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 147232 2012-01-24 22:47:27Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Jacobo Arvelo <unix4all@ya.com>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgname=wesnoth
+pkgver=1.8.6
+pkgrel=4
+pkgdesc="A turn-based strategy game on a fantasy world"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.wesnoth.org/"
+depends=('sdl_ttf' 'sdl_net' 'sdl_mixer' 'sdl_image' 'fribidi' 'boost-libs' 'pango' 'lua' "wesnoth-data=${pkgver}" 'dbus-core' 'python2')
+makedepends=('boost')
+install=wesnoth.install
+options=(!emptydirs)
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ wesnoth-libpng-1.4.0.patch
+ wesnoth-1.8.6-boost-foreach.patch
+ wesnoth.tmpfiles.conf)
+md5sums=('f1c3179869b01b61e253e74aeb241034'
+ '3b0d2edcb45e8ecc8c790f92bdcb0087'
+ 'dc414ab7e1334941548e9db6db9c2460'
+ 'b8122f5054e3895c9c054e87460869dc')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/wesnoth-libpng-1.4.0.patch"
+ patch -Np1 -i "$srcdir/wesnoth-1.8.6-boost-foreach.patch"
+ ./autogen.sh
+ ./configure --prefix=/usr --localstatedir=/var --enable-tools \
+ --enable-editor --enable-server --with-fifodir=/run/wesnothd
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install-exec
+ install -dm755 "$pkgdir/usr/lib/tmpfiles.d/"
+ install -m644 "$srcdir/wesnoth.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/wesnoth.conf"
+
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wesnoth_addon_manager"
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmlindent"
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmlscope"
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmllint"
+}
diff --git a/staging/wesnoth/wesnoth-1.8.6-boost-foreach.patch b/staging/wesnoth/wesnoth-1.8.6-boost-foreach.patch
new file mode 100644
index 000000000..5aee3118c
--- /dev/null
+++ b/staging/wesnoth/wesnoth-1.8.6-boost-foreach.patch
@@ -0,0 +1,70 @@
+--- wesnoth-1.8.6/src/gui/widgets/tree_view_node.cpp~ 2011-07-21 23:05:56.594879049 +0200
++++ wesnoth-1.8.6/src/gui/widgets/tree_view_node.cpp 2011-07-21 23:28:07.540358742 +0200
+@@ -238,6 +238,17 @@ void ttree_view_node::clear()
+
+ struct ttree_view_node_implementation
+ {
++ template<class W, class It>
++ static W* find_at_aux(It begin, It end,
++ const tpoint& coordinate, const bool must_be_active) {
++ for (It it = begin; it != end; ++it) {
++ if(W* widget = it->find_at(coordinate, must_be_active)) {
++ return widget;
++ }
++ }
++ return NULL;
++ }
++
+ template<class W>
+ static W* find_at(
+ typename tconst_duplicator<W, ttree_view_node>::type&
+@@ -255,13 +266,9 @@ struct ttree_view_node_implementation
+ }
+
+ typedef typename tconst_duplicator<W, ttree_view_node>::type thack;
+- foreach(thack& node, tree_view_node.children_) {
+- if(W* widget = node.find_at(coordinate, must_be_active)) {
+- return widget;
+- }
+- }
+-
+- return NULL;
++ return find_at_aux<W>(tree_view_node.children_.begin(),
++ tree_view_node.children_.end(),
++ coordinate, must_be_active);
+ }
+ };
+
+@@ -313,7 +320,9 @@ tpoint ttree_view_node::get_current_size
+ return size;
+ }
+
+- foreach(const ttree_view_node& node, children_) {
++ for (boost::ptr_vector<ttree_view_node>::const_iterator it
++ = children_.begin (); it != children_.end (); ++it) {
++ const ttree_view_node& node = *it;
+
+ if(node.grid_.get_visible() == twidget::INVISIBLE) {
+ continue;
+@@ -344,7 +353,9 @@ tpoint ttree_view_node::get_unfolded_siz
+ size.x += (get_indention_level() - 1) * tree_view().indention_step_size_;
+ }
+
+- foreach(const ttree_view_node& node, children_) {
++ for (boost::ptr_vector<ttree_view_node>::const_iterator it
++ = children_.begin (); it != children_.end (); ++it) {
++ const ttree_view_node& node = *it;
+
+ if(node.grid_.get_visible() == twidget::INVISIBLE) {
+ continue;
+@@ -378,7 +389,9 @@ tpoint ttree_view_node::calculate_best_s
+
+ DBG_GUI_L << LOG_HEADER << " own grid best size " << best_size << ".\n";
+
+- foreach(const ttree_view_node& node, children_) {
++ for (boost::ptr_vector<ttree_view_node>::const_iterator it
++ = children_.begin (); it != children_.end (); ++it) {
++ const ttree_view_node& node = *it;
+
+ if(node.grid_.get_visible() == twidget::INVISIBLE) {
+ continue;
diff --git a/staging/wesnoth/wesnoth-libpng-1.4.0.patch b/staging/wesnoth/wesnoth-libpng-1.4.0.patch
new file mode 100644
index 000000000..338f467af
--- /dev/null
+++ b/staging/wesnoth/wesnoth-libpng-1.4.0.patch
@@ -0,0 +1,24 @@
+diff -Nur wesnoth-1.8.orig/src/tools/exploder_utils.cpp wesnoth-1.8/src/tools/exploder_utils.cpp
+--- wesnoth-1.8.orig/src/tools/exploder_utils.cpp 2010-01-01 15:16:49.000000000 +0200
++++ wesnoth-1.8/src/tools/exploder_utils.cpp 2010-04-08 17:38:03.066201123 +0300
+@@ -174,8 +174,8 @@
+ //TODO: review whether providing NULL error handlers is something
+ //sensible
+ png_struct* png_ptr = png_create_write_struct
+- (PNG_LIBPNG_VER_STRING, reinterpret_cast<png_voidp>(png_voidp_NULL),
+- png_error_ptr_NULL, png_error_ptr_NULL);
++ (PNG_LIBPNG_VER_STRING, reinterpret_cast<png_voidp>(NULL),
++ NULL, NULL);
+ if(!png_ptr)
+ throw exploder_failure("Unable to initialize the png write structure");
+
+--- wesnoth-1.8.orig/src/tools/exploder_utils.cpp.libpng 2011-11-06 14:44:26.618711420 -0600
++++ wesnoth-1.8/src/tools/exploder_utils.cpp 2011-11-06 14:57:12.150006511 -0600
+@@ -15,6 +15,7 @@
+ #include "exploder_utils.hpp"
+ #include "game_config.hpp"
+ #include "serialization/string_utils.hpp"
++#include <zlib.h>
+ #include <png.h>
+
+ exploder_point::exploder_point(const std::string &s)
diff --git a/staging/wesnoth/wesnoth.install b/staging/wesnoth/wesnoth.install
new file mode 100644
index 000000000..4f1e419ae
--- /dev/null
+++ b/staging/wesnoth/wesnoth.install
@@ -0,0 +1,9 @@
+# arg 1: the new package version
+post_install() {
+cat << EOF
+Note:
+==> If you experience sound problems try setting your SDL_AUDIODRIVER environment variable to "dma"
+==> eg. export SDL_AUDIODRIVER="dma" ; wesnoth
+==> If "dma" doesn't work,other options are: dsp,alsa,artsc,esd,nas try to find the right output.
+EOF
+}
diff --git a/staging/wesnoth/wesnoth.tmpfiles.conf b/staging/wesnoth/wesnoth.tmpfiles.conf
new file mode 100644
index 000000000..3ec0f6013
--- /dev/null
+++ b/staging/wesnoth/wesnoth.tmpfiles.conf
@@ -0,0 +1 @@
+D /run/wesnothd 0700 root root -