commit d3ac257c3f3deeb3c15d04cd33b3ca89821139a0
Author: Jan Rękorajski <[email protected]>
Date:   Mon Dec 16 20:20:40 2024 +0100

    - fix building with boost 1.87, rel 2

 boost-1.87.patch | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 wesnoth.spec     |   4 +-
 2 files changed, 197 insertions(+), 1 deletion(-)
---
diff --git a/wesnoth.spec b/wesnoth.spec
index 361273a..6a12c96 100644
--- a/wesnoth.spec
+++ b/wesnoth.spec
@@ -10,7 +10,7 @@ Summary(hu.UTF-8):    Fantasy környezetben játszódó 
stratégiai játék
 Summary(pl.UTF-8):     Gra strategiczna z motywem fantasy
 Name:          wesnoth
 Version:       1.18.3
-Release:       1
+Release:       2
 Epoch:         1
 License:       GPL v2+
 Group:         X11/Applications/Games/Strategy
@@ -20,6 +20,7 @@ Source1:      %{name}d.init
 Source2:       %{name}.tmpfiles
 Source3:       %{name}.sysconfig
 Source4:       %{name}d.service
+Patch0:                boost-1.87.patch
 URL:           http://www.wesnoth.org/
 BuildRequires: SDL2-devel >= 2.0.10
 BuildRequires: SDL2_image-devel >= 2.0.2
@@ -117,6 +118,7 @@ Ten pakiet zawiera pliki danych dla gry Wesnoth.
 
 %prep
 %setup -q
+%patch -P 0 -p1
 
 # don't install locales in %{_datadir}/%{name}
 %{__sed} -i 's,${DATADIR}/${LOCALEDIR},${LOCALEDIR},' CMakeLists.txt
diff --git a/boost-1.87.patch b/boost-1.87.patch
new file mode 100644
index 0000000..109d78c
--- /dev/null
+++ b/boost-1.87.patch
@@ -0,0 +1,194 @@
+From 37ee134d7a17f509982f6ba4fda60a6b1e9acc72 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <[email protected]>
+Date: Sun, 15 Dec 2024 00:23:39 +0100
+Subject: [PATCH] Fix build with boost >= 1.87.0
+
+Boost 1.87.0 removes some functions that have been deprecated for a few 
releases, but are still used in wesnoth.
+
+(This is the same as #9652, but backported to the 1.18 branch)
+---
+ src/server/campaignd/server.cpp          | 2 +-
+ src/server/common/forum_user_handler.cpp | 4 ++--
+ src/server/common/forum_user_handler.hpp | 4 ++--
+ src/server/common/server_base.cpp        | 4 ++++
+ src/server/common/server_base.hpp        | 4 ++--
+ src/server/common/user_handler.hpp       | 6 +++---
+ src/server/wesnothd/game.cpp             | 2 ++
+ src/server/wesnothd/server.cpp           | 8 ++++----
+ 8 files changed, 20 insertions(+), 14 deletions(-)
+
+diff --git a/src/server/campaignd/server.cpp b/src/server/campaignd/server.cpp
+index 31a7df8e215e..88a141a0b732 100644
+--- a/src/server/campaignd/server.cpp
++++ b/src/server/campaignd/server.cpp
+@@ -735,7 +735,7 @@ void server::handle_sighup(const 
boost::system::error_code&, int)
+ 
+ void server::flush_cfg()
+ {
+-      flush_timer_.expires_from_now(std::chrono::minutes(10));
++      flush_timer_.expires_after(std::chrono::minutes(10));
+       flush_timer_.async_wait(std::bind(&server::handle_flush, this, 
std::placeholders::_1));
+ }
+ 
+diff --git a/src/server/common/forum_user_handler.cpp 
b/src/server/common/forum_user_handler.cpp
+index dfbb80a7dd5c..453653dc9651 100644
+--- a/src/server/common/forum_user_handler.cpp
++++ b/src/server/common/forum_user_handler.cpp
+@@ -207,7 +207,7 @@ std::string fuh::get_tournaments(){
+       return conn_.get_tournaments();
+ }
+ 
+-void fuh::async_get_and_send_game_history(boost::asio::io_service& 
io_service, wesnothd::server& s, wesnothd::player_iterator player, int 
player_id, int offset, std::string& search_game_name, int search_content_type, 
std::string& search_content) {
++void fuh::async_get_and_send_game_history(boost::asio::io_context& 
io_service, wesnothd::server& s, wesnothd::player_iterator player, int 
player_id, int offset, std::string& search_game_name, int search_content_type, 
std::string& search_content) {
+       boost::asio::post([this, &s, player, player_id, offset, &io_service, 
search_game_name, search_content_type, search_content] {
+               boost::asio::post(io_service, [player, &s, doc = 
conn_.get_game_history(player_id, offset, search_game_name, 
search_content_type, search_content)]{
+                       s.send_to_player(player, *doc);
+@@ -235,7 +235,7 @@ void fuh::db_set_oos_flag(const std::string& uuid, int 
game_id){
+       conn_.set_oos_flag(uuid, game_id);
+ }
+ 
+-void fuh::async_test_query(boost::asio::io_service& io_service, int limit) {
++void fuh::async_test_query(boost::asio::io_context& io_service, int limit) {
+       boost::asio::post([this, limit, &io_service] {
+               ERR_UH << "async test query starts!";
+               int i = conn_.async_test_query(limit);
+diff --git a/src/server/common/forum_user_handler.hpp 
b/src/server/common/forum_user_handler.hpp
+index 06189ab512fd..d97412b68b48 100644
+--- a/src/server/common/forum_user_handler.hpp
++++ b/src/server/common/forum_user_handler.hpp
+@@ -133,7 +133,7 @@ class fuh : public user_handler
+        * @param search_content_type The content type to query for (ie: 
scenario)
+        * @param search_content Query for games using this content ID. 
Supports leading and/or trailing wildcards.
+        */
+-      void async_get_and_send_game_history(boost::asio::io_service& 
io_service, wesnothd::server& s, wesnothd::player_iterator player, int 
player_id, int offset, std::string& search_game_name, int search_content_type, 
std::string& search_content);
++      void async_get_and_send_game_history(boost::asio::io_context& 
io_service, wesnothd::server& s, wesnothd::player_iterator player, int 
player_id, int offset, std::string& search_game_name, int search_content_type, 
std::string& search_content);
+ 
+       /**
+        * Inserts game related information.
+@@ -203,7 +203,7 @@ class fuh : public user_handler
+        * @param io_service The boost io_service to use to post the query 
results back to the main boost::asio thread.
+        * @param limit How many recursions to make in the query.
+        */
+-      void async_test_query(boost::asio::io_service& io_service, int limit);
++      void async_test_query(boost::asio::io_context& io_service, int limit);
+ 
+       /**
+        * Checks whether a forum thread with @a topic_id exists.
+diff --git a/src/server/common/server_base.cpp 
b/src/server/common/server_base.cpp
+index 2c1a5817305b..5fd115ff03ee 100644
+--- a/src/server/common/server_base.cpp
++++ b/src/server/common/server_base.cpp
+@@ -43,6 +43,10 @@
+ #endif
+ #include <boost/asio/write.hpp>
+ 
++#ifndef BOOST_NO_EXCEPTIONS
++#include <boost/exception/diagnostic_information.hpp>
++#endif
++
+ #include <array>
+ #include <ctime>
+ #include <functional>
+diff --git a/src/server/common/server_base.hpp 
b/src/server/common/server_base.hpp
+index 94aac7e25671..e40b6ca3c7a2 100644
+--- a/src/server/common/server_base.hpp
++++ b/src/server/common/server_base.hpp
+@@ -30,7 +30,7 @@
+ #include "serialization/unicode_cast.hpp"
+ #endif
+ 
+-#include <boost/asio/io_service.hpp>
++#include <boost/asio/io_context.hpp>
+ #include <boost/asio/ip/tcp.hpp>
+ #ifndef _WIN32
+ #include <boost/asio/posix/stream_descriptor.hpp>
+@@ -150,7 +150,7 @@ class server_base
+ protected:
+       unsigned short port_;
+       bool keep_alive_;
+-      boost::asio::io_service io_service_;
++      boost::asio::io_context io_service_;
+       boost::asio::ssl::context tls_context_ { 
boost::asio::ssl::context::sslv23 };
+       bool tls_enabled_ { false };
+       boost::asio::ip::tcp::acceptor acceptor_v6_;
+diff --git a/src/server/common/user_handler.hpp 
b/src/server/common/user_handler.hpp
+index cd21b1823cca..c6d777f2d1c7 100644
+--- a/src/server/common/user_handler.hpp
++++ b/src/server/common/user_handler.hpp
+@@ -22,7 +22,7 @@ class config;
+ #include <ctime>
+ #include <string>
+ 
+-#include <boost/asio/io_service.hpp>
++#include <boost/asio/io_context.hpp>
+ 
+ #include "server/wesnothd/player_connection.hpp"
+ 
+@@ -139,13 +139,13 @@ class user_handler
+ 
+       virtual std::string get_uuid() = 0;
+       virtual std::string get_tournaments() = 0;
+-      virtual void async_get_and_send_game_history(boost::asio::io_service& 
io_service, wesnothd::server& s, wesnothd::player_iterator player, int 
player_id, int offset, std::string& search_game_name, int search_content_type, 
std::string& search_content) =0;
++      virtual void async_get_and_send_game_history(boost::asio::io_context& 
io_service, wesnothd::server& s, wesnothd::player_iterator player, int 
player_id, int offset, std::string& search_game_name, int search_content_type, 
std::string& search_content) =0;
+       virtual void db_insert_game_info(const std::string& uuid, int game_id, 
const std::string& version, const std::string& name, int reload, int observers, 
int is_public, int has_password) = 0;
+       virtual void db_update_game_end(const std::string& uuid, int game_id, 
const std::string& replay_location) = 0;
+       virtual void db_insert_game_player_info(const std::string& uuid, int 
game_id, const std::string& username, int side_number, int is_host, const 
std::string& faction, const std::string& version, const std::string& source, 
const std::string& current_user, const std::string& leaders) = 0;
+       virtual unsigned long long db_insert_game_content_info(const 
std::string& uuid, int game_id, const std::string& type, const std::string& 
name, const std::string& id, const std::string& addon_id, const std::string& 
addon_version) = 0;
+       virtual void db_set_oos_flag(const std::string& uuid, int game_id) = 0;
+-      virtual void async_test_query(boost::asio::io_service& io_service, int 
limit) = 0;
++      virtual void async_test_query(boost::asio::io_context& io_service, int 
limit) = 0;
+       virtual bool db_topic_id_exists(int topic_id) = 0;
+       virtual void db_insert_addon_info(const std::string& instance_version, 
const std::string& id, const std::string& name, const std::string& type, const 
std::string& version, bool forum_auth, int topic_id, const std::string 
uploader) = 0;
+       virtual unsigned long long db_insert_login(const std::string& username, 
const std::string& ip, const std::string& version) = 0;
+diff --git a/src/server/wesnothd/game.cpp b/src/server/wesnothd/game.cpp
+index faeb2550867d..ec95bd43ea5e 100644
+--- a/src/server/wesnothd/game.cpp
++++ b/src/server/wesnothd/game.cpp
+@@ -27,6 +27,8 @@
+ #include <iomanip>
+ #include <sstream>
+ 
++#include <boost/coroutine/exceptions.hpp>
++
+ static lg::log_domain log_server("server");
+ #define ERR_GAME LOG_STREAM(err, log_server)
+ #define WRN_GAME LOG_STREAM(warn, log_server)
+diff --git a/src/server/wesnothd/server.cpp b/src/server/wesnothd/server.cpp
+index 0fcbd5348396..9c666a693489 100644
+--- a/src/server/wesnothd/server.cpp
++++ b/src/server/wesnothd/server.cpp
+@@ -293,14 +293,14 @@ void server::handle_graceful_timeout(const 
boost::system::error_code& error)
+               process_command("msg All games ended. Shutting down now. 
Reconnect to the new server instance.", "system");
+               BOOST_THROW_EXCEPTION(server_shutdown("graceful shutdown 
timeout"));
+       } else {
+-              timer_.expires_from_now(std::chrono::seconds(1));
++              timer_.expires_after(std::chrono::seconds(1));
+               timer_.async_wait(std::bind(&server::handle_graceful_timeout, 
this, std::placeholders::_1));
+       }
+ }
+ 
+ void server::start_lan_server_timer()
+ {
+-      lan_server_timer_.expires_from_now(std::chrono::seconds(lan_server_));
++      lan_server_timer_.expires_after(std::chrono::seconds(lan_server_));
+       lan_server_timer_.async_wait([this](const boost::system::error_code& 
ec) { handle_lan_server_shutdown(ec); });
+ }
+ 
+@@ -2120,7 +2120,7 @@ void server::shut_down_handler(
+               acceptor_v6_.close();
+               acceptor_v4_.close();
+ 
+-              timer_.expires_from_now(std::chrono::seconds(10));
++              timer_.expires_after(std::chrono::seconds(10));
+               timer_.async_wait(std::bind(&server::handle_graceful_timeout, 
this, std::placeholders::_1));
+ 
+               process_command(
+@@ -2151,7 +2151,7 @@ void server::restart_handler(const std::string& 
issuer_name,
+               graceful_restart = true;
+               acceptor_v6_.close();
+               acceptor_v4_.close();
+-              timer_.expires_from_now(std::chrono::seconds(10));
++              timer_.expires_after(std::chrono::seconds(10));
+               timer_.async_wait(std::bind(&server::handle_graceful_timeout, 
this, std::placeholders::_1));
+ 
+               start_new_server();
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/wesnoth.git/commitdiff/d3ac257c3f3deeb3c15d04cd33b3ca89821139a0

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to