summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD19
-rw-r--r--boost1_60.patch23
-rw-r--r--boost1_600tests.patch174
3 files changed, 209 insertions, 7 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 78bcdf8606f7..3b15a10f50a7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
#Maintainer: Andrea Tarocchi <valdar@email.it>
pkgname=wesnoth-devel
-pkgver=1.13.1
+pkgver=1.13.2
pkgrel=1
pkgdesc="development version of a turn-based strategy game on a fantasy world"
arch=('i686' 'x86_64')
@@ -19,15 +19,19 @@ source=("http://downloads.sourceforge.net/sourceforge/wesnoth/wesnoth-$pkgver.ta
"wesnoth-devel-icon.xpm"
"wesnoth-devel_editor-icon.xpm"
"wesnothd-devel.tmpfiles.conf"
- "wesnothd-devel.service")
+ "wesnothd-devel.service"
+ "boost1_60.patch"
+ "boost1_600tests.patch")
-md5sums=('e3c50d2afbe80e8f16f38e96dc43e298'
+md5sums=('7c03d65838b52eaad1baf3902824ee11'
'a906eae5d541a51de77038469b1f794b'
'b9de9e7ee16f757aa406466657c274a9'
'b73f4fdefd3e7daa158cce278f11be64'
'931e7443fe37b2862ca59f65ded74a0b'
'ffc4b6c06dcd187855710ed96a55fc8f'
-'959aea3af36e7b2a1be6bf4537ec54b7')
+'959aea3af36e7b2a1be6bf4537ec54b7'
+'1049f1455e829f723e65069c3260277c'
+'b22e2b85f90a4c85226f6e92db1fce78')
prepare() {
cd "${srcdir}/wesnoth-$pkgver"
@@ -35,9 +39,10 @@ prepare() {
#How to manually create a patch
#diff -rupN src/ src_new/ > patch_name.patch
- #Patching due to boost 1.56 changes
- #[https://gna.org/bugs/?22643]
- #atch -p1 < ../0001-multiplayer_connect_engine.cpp-dereference-pointer.patch
+ #Patching due to boost 1.60
+ #[https://gna.org/bugs/?24227]
+ patch -p1 < ../boost1_60.patch
+ patch -p1 < ../boost1_600tests.patch
}
build() {
diff --git a/boost1_60.patch b/boost1_60.patch
new file mode 100644
index 000000000000..e2ff326bce4a
--- /dev/null
+++ b/boost1_60.patch
@@ -0,0 +1,23 @@
+From aa1ea043bbf52d509197eab91ab85c70e633d69e Mon Sep 17 00:00:00 2001
+From: Celtic Minstrel <celtic.minstrel.ca@some.place>
+Date: Fri, 25 Dec 2015 08:17:33 -0500
+Subject: [PATCH] Use boost::none instead of boost::none_t()
+
+Fixes bug 24227
+---
+ src/play_controller.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/play_controller.hpp b/src/play_controller.hpp
+index d5596b6..e289861 100644
+--- a/src/play_controller.hpp
++++ b/src/play_controller.hpp
+@@ -137,7 +137,7 @@ class play_controller : public controller_base, public events::observer, public
+ gamestate().end_level_data_ = data;
+ }
+ void reset_end_level_data() {
+- gamestate().end_level_data_ = boost::none_t();
++ gamestate().end_level_data_ = boost::none;
+ }
+ bool is_regular_game_end() const {
+ return gamestate().end_level_data_.get_ptr() != NULL;
diff --git a/boost1_600tests.patch b/boost1_600tests.patch
new file mode 100644
index 000000000000..be744cbd1fc7
--- /dev/null
+++ b/boost1_600tests.patch
@@ -0,0 +1,174 @@
+From ff29581baa74dbc6ce1923e1352f4fd6d423a67d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20L=C3=B6f?= <andreas@alternating.net>
+Date: Mon, 28 Dec 2015 22:58:50 +1300
+Subject: [PATCH] Fix bug #24234: Add Boost 1.60.0 support to unit tests
+
+The unit test part in boost has changed a few header files and
+function signatures between previous versions and 1.60.0. These
+changes adds a version check and two different versions of the
+affected code, as well as introducing semicolons after the global text
+fixtures (which doesn't appear to do harm) but otherwise requires more
+version checks.
+---
+ src/tests/main.cpp | 20 +++++++++++++++++-
+ src/tests/test_map_location.cpp | 4 ++--
+ src/tests/test_mp_connect.cpp | 4 ++--
+ src/tests/utils/auto_parameterized.hpp | 38 +++++++++++++++++++++++++++++++---
+ 4 files changed, 58 insertions(+), 8 deletions(-)
+
+diff --git a/src/tests/main.cpp b/src/tests/main.cpp
+index fe5ed3f..10551c9 100644
+--- a/src/tests/main.cpp
++++ b/src/tests/main.cpp
+@@ -16,11 +16,19 @@
+
+
+ #define BOOST_TEST_MODULE wesnoth unit tests master suite
++
++#include <boost/version.hpp>
++
+ #include <boost/test/unit_test.hpp>
+ #include <boost/test/unit_test_monitor.hpp>
++#if BOOST_VERSION >= 106000
++#include <boost/test/unit_test_parameters.hpp>
++#else
+ #include <boost/test/detail/unit_test_parameters.hpp>
++#endif
+ #include <boost/test/results_reporter.hpp>
+
++
+ #include <fstream>
+
+ #include "SDL.h"
+@@ -80,6 +88,15 @@ struct wesnoth_global_fixture {
+
+
+ // Set more report as default
++#if BOOST_VERSION >= 106000
++ if (boost::unit_test::runtime_config::get<boost::unit_test::log_level>(boost::unit_test::runtime_config::LOG_LEVEL) == boost::unit_test::invalid_log_level)
++ boost::unit_test::unit_test_log.set_threshold_level( boost::unit_test::log_messages );
++ if (boost::unit_test::runtime_config::get<boost::unit_test::report_level>(boost::unit_test::runtime_config::REPORT_LEVEL) == boost::unit_test::INV_REPORT_LEVEL)
++ boost::unit_test::results_reporter::set_level(boost::unit_test::SHORT_REPORT);
++ boost::unit_test::unit_test_monitor.register_exception_translator<game::error>(&exception_translator_game);
++ boost::unit_test::unit_test_monitor.register_exception_translator<network::error>(&exception_translator_network);
++ boost::unit_test::unit_test_monitor.register_exception_translator<config::error>(&exception_translator_config);
++#else
+ if (boost::unit_test::runtime_config::log_level() == boost::unit_test::invalid_log_level)
+ boost::unit_test::unit_test_log.set_threshold_level( boost::unit_test::log_messages );
+ if (boost::unit_test::runtime_config::report_level() == boost::unit_test::INV_REPORT_LEVEL)
+@@ -87,6 +104,7 @@ struct wesnoth_global_fixture {
+ boost::unit_test::unit_test_monitor.register_exception_translator<game::error>(&exception_translator_game);
+ boost::unit_test::unit_test_monitor.register_exception_translator<network::error>(&exception_translator_network);
+ boost::unit_test::unit_test_monitor.register_exception_translator<config::error>(&exception_translator_config);
++#endif
+ }
+ ~wesnoth_global_fixture()
+ {
+@@ -94,7 +112,7 @@ struct wesnoth_global_fixture {
+ }
+ };
+
+-BOOST_GLOBAL_FIXTURE(wesnoth_global_fixture)
++BOOST_GLOBAL_FIXTURE(wesnoth_global_fixture);
+
+ /*
+ * This is a main compilation unit for the test program.
+diff --git a/src/tests/test_map_location.cpp b/src/tests/test_map_location.cpp
+index ca644c1..1077b62 100644
+--- a/src/tests/test_map_location.cpp
++++ b/src/tests/test_map_location.cpp
+@@ -64,9 +64,9 @@ struct MLFixture
+ ~MLFixture() {}
+ };
+
+-BOOST_GLOBAL_FIXTURE ( MLFixture )
++BOOST_GLOBAL_FIXTURE ( MLFixture );
+
+-BOOST_AUTO_TEST_SUITE ( test_map_location )
++BOOST_AUTO_TEST_SUITE ( test_map_location );
+
+ //#define MAP_LOCATION_GET_OUTPUT
+
+diff --git a/src/tests/test_mp_connect.cpp b/src/tests/test_mp_connect.cpp
+index 051f868..2b69aee 100644
+--- a/src/tests/test_mp_connect.cpp
++++ b/src/tests/test_mp_connect.cpp
+@@ -125,8 +125,8 @@ static ng::side_engine* create_side_engine(const config& defaults,
+
+ /* Tests */
+
+-BOOST_GLOBAL_FIXTURE( mp_connect_fixture )
+-BOOST_AUTO_TEST_SUITE( mp_connect )
++BOOST_GLOBAL_FIXTURE( mp_connect_fixture );
++BOOST_AUTO_TEST_SUITE( mp_connect );
+
+
+ BOOST_AUTO_TEST_CASE( flg_map_settings )
+diff --git a/src/tests/utils/auto_parameterized.hpp b/src/tests/utils/auto_parameterized.hpp
+index dd903cf..2a6705f 100644
+--- a/src/tests/utils/auto_parameterized.hpp
++++ b/src/tests/utils/auto_parameterized.hpp
+@@ -15,15 +15,46 @@
+ #ifndef TESTS_UTILS_AUTO_PARAMETERIZED_HPP_INCLUDED
+ #define TESTS_UTILS_AUTO_PARAMETERIZED_HPP_INCLUDED
+
++#include <boost/version.hpp>
++
+ #include <boost/test/unit_test_suite.hpp>
+ #include <boost/test/parameterized_test.hpp>
+
++#if BOOST_VERSION >= 106000
++#include <boost/test/tree/auto_registration.hpp>
++#endif
++
+ namespace test_utils {
+
+ #ifndef BOOST_AUTO_TU_REGISTRAR
+ #define BOOST_AUTO_TU_REGISTRAR BOOST_AUTO_TC_REGISTRAR
+ #endif
+
++#if BOOST_VERSION >= 106000
++#define WESNOTH_PARAMETERIZED_TEST_CASE( test_name, type_name, values, param_name ) \
++struct test_name : public BOOST_AUTO_TEST_CASE_FIXTURE \
++{ void test_method(const type_name&); }; \
++\
++type_name* BOOST_JOIN(test_name, _begin) = &values[0]; \
++type_name* BOOST_JOIN(test_name, _end) = BOOST_JOIN(test_name, _begin) + (sizeof(values)/sizeof(values[0])); \
++static void BOOST_AUTO_TC_INVOKER( test_name )(const type_name& param_name ) \
++{ \
++ test_name t; \
++ t.test_method(param_name); \
++} \
++ \
++struct BOOST_AUTO_TC_UNIQUE_ID( test_name ) {}; \
++ \
++BOOST_AUTO_TU_REGISTRAR( test_name )( \
++ boost::unit_test::make_test_case(&BOOST_AUTO_TC_INVOKER( test_name ), \
++ BOOST_TEST_STRINGIZE( test_name ), \
++ BOOST_TEST_STRINGIZE(__FILE__), __LINE__, \
++ BOOST_JOIN(test_name, _begin), BOOST_JOIN(test_name, _end)), \
++ boost::unit_test::decorator::collector::instance()); \
++ \
++void test_name::test_method(const type_name& param_name) \
++/**/
++#else
+ #define WESNOTH_PARAMETERIZED_TEST_CASE( test_name, type_name, values, param_name ) \
+ struct test_name : public BOOST_AUTO_TEST_CASE_FIXTURE \
+ { void test_method(const type_name&); }; \
+@@ -39,12 +70,13 @@ static void BOOST_AUTO_TC_INVOKER( test_name )(const type_name& param_name ) \
+ struct BOOST_AUTO_TC_UNIQUE_ID( test_name ) {}; \
+ \
+ BOOST_AUTO_TU_REGISTRAR( test_name )( \
+- boost::unit_test::make_test_case(&BOOST_AUTO_TC_INVOKER( test_name ), \
+- BOOST_TEST_STRINGIZE( test_name ),\
+- BOOST_JOIN(test_name, _begin), BOOST_JOIN(test_name, _end))); \
++ boost::unit_test::make_test_case(&BOOST_AUTO_TC_INVOKER( test_name ), \
++ BOOST_TEST_STRINGIZE( test_name ), \
++ BOOST_JOIN(test_name, _begin), BOOST_JOIN(test_name, _end))); \
+ \
+ void test_name::test_method(const type_name& param_name) \
+ /**/
++#endif
+
+ }
+ #endif