mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
games-strategy/widelands: fix build with gcc-15 and asio-1.34
Using -std=gnu17 to have just a litte less to backport until next version. Closes: https://bugs.gentoo.org/938230 Closes: https://bugs.gentoo.org/955174 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
127
games-strategy/widelands/files/widelands-1.2.1-asio1.34.patch
Normal file
127
games-strategy/widelands/files/widelands-1.2.1-asio1.34.patch
Normal file
@@ -0,0 +1,127 @@
|
||||
https://bugs.gentoo.org/955174
|
||||
https://github.com/widelands/widelands/pull/6665
|
||||
--- a/src/network/bufferedconnection.cc
|
||||
+++ b/src/network/bufferedconnection.cc
|
||||
@@ -143,8 +143,8 @@
|
||||
// Stop the thread
|
||||
- io_service_.stop();
|
||||
- // Not sure if that is required, wait up to one second for the io_service to stop
|
||||
- for (int i = 0; i < 1000 && !io_service_.stopped(); i++) {
|
||||
+ io_context_.stop();
|
||||
+ // Not sure if that is required, wait up to one second for the io_context to stop
|
||||
+ for (int i = 0; i < 1000 && !io_context_.stopped(); i++) {
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||
}
|
||||
- assert(io_service_.stopped());
|
||||
+ assert(io_context_.stopped());
|
||||
if (asio_thread_.joinable()) {
|
||||
@@ -336,3 +336,3 @@
|
||||
BufferedConnection::BufferedConnection(const NetAddress& host)
|
||||
- : socket_(io_service_), currently_sending_(false) {
|
||||
+ : socket_(io_context_), currently_sending_(false) {
|
||||
|
||||
@@ -355,3 +355,3 @@
|
||||
verb_log_info("[BufferedConnection] Starting networking thread\n");
|
||||
- io_service_.run();
|
||||
+ io_context_.run();
|
||||
verb_log_info("[BufferedConnection] Stopping networking thread\n");
|
||||
@@ -366,3 +366,3 @@
|
||||
|
||||
-BufferedConnection::BufferedConnection() : socket_(io_service_) {
|
||||
+BufferedConnection::BufferedConnection() : socket_(io_context_) {
|
||||
}
|
||||
@@ -381,3 +381,3 @@
|
||||
verb_log_info("[BufferedConnection] Starting networking thread");
|
||||
- io_service_.run();
|
||||
+ io_context_.run();
|
||||
verb_log_info("[BufferedConnection] Stopping networking thread");
|
||||
--- a/src/network/bufferedconnection.h
|
||||
+++ b/src/network/bufferedconnection.h
|
||||
@@ -314,4 +314,4 @@
|
||||
|
||||
- /// An io_service needed by asio. Primarily needed for asynchronous operations.
|
||||
- asio::io_service io_service_;
|
||||
+ /// An io_context needed by asio. Primarily needed for asynchronous operations.
|
||||
+ asio::io_context io_context_;
|
||||
|
||||
--- a/src/network/nethost.cc
|
||||
+++ b/src/network/nethost.cc
|
||||
@@ -69,7 +69,7 @@
|
||||
// Stop the thread
|
||||
- io_service_.stop();
|
||||
- for (int i = 0; i < 1000 && !io_service_.stopped(); i++) {
|
||||
+ io_context_.stop();
|
||||
+ for (int i = 0; i < 1000 && !io_context_.stopped(); i++) {
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||
}
|
||||
- assert(io_service_.stopped());
|
||||
+ assert(io_context_.stopped());
|
||||
if (asio_thread_.joinable()) {
|
||||
@@ -185,3 +185,3 @@
|
||||
|
||||
-NetHost::NetHost(const uint16_t port) : acceptor_v4_(io_service_), acceptor_v6_(io_service_) {
|
||||
+NetHost::NetHost(const uint16_t port) : acceptor_v4_(io_context_), acceptor_v6_(io_context_) {
|
||||
|
||||
@@ -200,3 +200,3 @@
|
||||
verb_log_info("[NetHost] Starting networking thread");
|
||||
- io_service_.run();
|
||||
+ io_context_.run();
|
||||
verb_log_info("[NetHost] Stopping networking thread");
|
||||
@@ -216,3 +216,3 @@
|
||||
acceptor->bind(endpoint);
|
||||
- acceptor->listen(asio::socket_base::max_connections);
|
||||
+ acceptor->listen(asio::socket_base::max_listen_connections);
|
||||
return true;
|
||||
--- a/src/network/nethost.h
|
||||
+++ b/src/network/nethost.h
|
||||
@@ -103,4 +103,4 @@
|
||||
NetHostInterface::ConnectionId next_id_{1};
|
||||
- /// An io_service needed by asio. Primary needed for async operations.
|
||||
- asio::io_service io_service_;
|
||||
+ /// An io_context needed by asio. Primary needed for async operations.
|
||||
+ asio::io_context io_context_;
|
||||
/// The acceptor we get IPv4 connection requests to.
|
||||
--- a/src/network/network.cc
|
||||
+++ b/src/network/network.cc
|
||||
@@ -32,7 +32,7 @@
|
||||
try {
|
||||
- asio::io_service io_service;
|
||||
- asio::ip::tcp::resolver resolver(io_service);
|
||||
- asio::ip::tcp::resolver::query query(protocol, hostname, as_string(port));
|
||||
- asio::ip::tcp::resolver::iterator iter = resolver.resolve(query);
|
||||
- if (iter == asio::ip::tcp::resolver::iterator()) {
|
||||
+ asio::io_context io_context;
|
||||
+ asio::ip::tcp::resolver resolver(io_context);
|
||||
+ asio::ip::tcp::resolver::results_type iter =
|
||||
+ resolver.resolve(protocol, hostname, as_string(port));
|
||||
+ if (iter.empty()) {
|
||||
// Resolution failed
|
||||
@@ -42,3 +42,3 @@
|
||||
}
|
||||
- addr->ip = iter->endpoint().address();
|
||||
+ addr->ip = iter.begin()->endpoint().address();
|
||||
addr->port = port;
|
||||
@@ -66,3 +66,3 @@
|
||||
std::error_code ec;
|
||||
- asio::ip::address new_addr = asio::ip::address::from_string(ip, ec);
|
||||
+ asio::ip::address new_addr = asio::ip::make_address(ip, ec);
|
||||
if (ec) {
|
||||
--- a/src/network/network_lan_promotion.cc
|
||||
+++ b/src/network/network_lan_promotion.cc
|
||||
@@ -77,3 +77,3 @@
|
||||
*/
|
||||
-LanBase::LanBase(uint16_t port) : socket_v4(io_service), socket_v6(io_service) {
|
||||
+LanBase::LanBase(uint16_t port) : socket_v4(io_context), socket_v6(io_context) {
|
||||
|
||||
@@ -252,3 +252,3 @@
|
||||
std::error_code ec;
|
||||
- asio::ip::udp::endpoint destination(asio::ip::address::from_string(address), port);
|
||||
+ asio::ip::udp::endpoint destination(asio::ip::make_address(address), port);
|
||||
socket.send_to(asio::buffer(buf, len), destination, 0, ec);
|
||||
--- a/src/network/network_lan_promotion.h
|
||||
+++ b/src/network/network_lan_promotion.h
|
||||
@@ -135,3 +135,3 @@
|
||||
/// No idea what this does. I think it is only really used when asynchronous operations are done.
|
||||
- asio::io_service io_service;
|
||||
+ asio::io_context io_context;
|
||||
/// The socket for IPv4.
|
||||
16
games-strategy/widelands/files/widelands-1.2.1-cstdint.patch
Normal file
16
games-strategy/widelands/files/widelands-1.2.1-cstdint.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
https://bugs.gentoo.org/938230
|
||||
https://github.com/widelands/widelands/pull/6522
|
||||
--- a/src/base/format/abstract_node.h
|
||||
+++ b/src/base/format/abstract_node.h
|
||||
@@ -21,2 +21,4 @@
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace format_impl {
|
||||
--- a/src/logic/map_objects/tribes/training_attribute.h
|
||||
+++ b/src/logic/map_objects/tribes/training_attribute.h
|
||||
@@ -21,2 +21,4 @@
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace Widelands {
|
||||
@@ -1,10 +1,10 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
inherit cmake python-any-r1 xdg
|
||||
inherit cmake flag-o-matic python-any-r1 xdg
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
@@ -46,7 +46,14 @@ BDEPEND="
|
||||
sys-devel/gettext
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-asio1.34.patch
|
||||
"${FILESDIR}"/${P}-cstdint.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
append-cflags -std=gnu17
|
||||
|
||||
local mycmakeargs=(
|
||||
-DWL_INSTALL_BASEDIR="${EPREFIX}"/usr/share/doc/${PF}
|
||||
-DWL_INSTALL_BINDIR="${EPREFIX}"/usr/bin
|
||||
|
||||
Reference in New Issue
Block a user