diff options
-rw-r--r-- | PKGBUILD | 19 | ||||
-rw-r--r-- | boost1_60.patch | 23 | ||||
-rw-r--r-- | boost1_600tests.patch | 174 |
3 files changed, 209 insertions, 7 deletions
@@ -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 |