Compare commits

..

No commits in common. "rawhide" and "f38" have entirely different histories.

14 changed files with 420 additions and 372 deletions

4
.gitignore vendored
View file

@ -9,7 +9,3 @@ Widelands-Build14-src.7z
/widelands-1.0.tar.gz
/widelands-1.0.tar.gz.asc
/widelands-1.1.tar.gz
/widelands-1.2.tar.gz
/widelands-1.2.1.tar.gz
/widelands-1.3.tar.gz
/widelands-1.3.1.tar.gz

View file

@ -1 +1 @@
SHA512 (widelands-1.3.1.tar.gz) = 47d72aabac1dc873dd6f6fa86ba0bf2b0dd13c298f10df89b47654397ab5b3a55c06d4e8cf6a0da807e3402a7bff0839b7b0b18a6f8611ee83d252b8e0d61f15
SHA512 (widelands-1.1.tar.gz) = 29dbeae0940468c8aad6f0fa610c8467bdb6ecf2ba5fe9175683b7cdaab5f977fa86beb71de29057c829e9738568d15e10bc22fa7fc9e58132151a1a02d72d9d

View file

@ -1,7 +1,7 @@
diff -uNr widelands-1.3.orig/src/graphic/text/test/render_richtext.cc widelands-1.3/src/graphic/text/test/render_richtext.cc
--- widelands-1.3.orig/src/graphic/text/test/render_richtext.cc 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/graphic/text/test/render_richtext.cc 2025-12-21 13:16:33.279000000 +0100
@@ -114,6 +114,9 @@
diff -up widelands-1.1/src/graphic/text/test/render_richtext.cc.orig widelands-1.1/src/graphic/text/test/render_richtext.cc
--- widelands-1.1/src/graphic/text/test/render_richtext.cc.orig 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/graphic/text/test/render_richtext.cc 2023-03-27 21:11:06.712405327 +0200
@@ -114,6 +114,9 @@ int main(int argc, char** argv) {
if (parse_arguments(argc, argv, &w, outname, inname, allowed_tags))
return 0;
@ -11,9 +11,9 @@ diff -uNr widelands-1.3.orig/src/graphic/text/test/render_richtext.cc widelands-
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
std::cerr << "SDLInit did not succeed: " << SDL_GetError() << std::endl;
return 1;
diff -uNr widelands-1.3.orig/src/website/website_common.cc widelands-1.3/src/website/website_common.cc
--- widelands-1.3.orig/src/website/website_common.cc 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/website/website_common.cc 2025-12-21 13:17:16.715000000 +0100
diff -up widelands-1.1/src/website/website_common.cc.orig widelands-1.1/src/website/website_common.cc
--- widelands-1.1/src/website/website_common.cc.orig 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/website/website_common.cc 2023-03-27 21:11:06.712405327 +0200
@@ -18,6 +18,7 @@
#include "website/website_common.h"
@ -22,9 +22,9 @@ diff -uNr widelands-1.3.orig/src/website/website_common.cc widelands-1.3/src/web
#include <SDL.h>
#include "base/i18n.h"
@@ -33,6 +34,9 @@
@@ -33,6 +34,9 @@ void initialize() {
set_initializer_thread();
g_verbose = true;
i18n::set_locale("en");
+ // GLEW only supports glx atm, force use of X11 even under Wayland
+ // https://github.com/nigels-com/glew/issues/172
@ -32,10 +32,10 @@ diff -uNr widelands-1.3.orig/src/website/website_common.cc widelands-1.3/src/web
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
// We sometimes run into a missing video driver in our CI environment, so we exit 0 to prevent
// too frequent failures
diff -uNr widelands-1.3.orig/src/wlapplication.cc widelands-1.3/src/wlapplication.cc
--- widelands-1.3.orig/src/wlapplication.cc 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/wlapplication.cc 2025-12-21 13:17:48.848000000 +0100
@@ -401,6 +401,9 @@
diff -up widelands-1.1/src/wlapplication.cc.orig widelands-1.1/src/wlapplication.cc
--- widelands-1.1/src/wlapplication.cc.orig 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/wlapplication.cc 2023-03-27 21:11:06.713405319 +0200
@@ -404,6 +404,9 @@ WLApplication::WLApplication(int const a
#endif
// Start the SDL core

View file

@ -0,0 +1,20 @@
For some reasons some of the tests are failing on s390x.
This likely is an endianness issue in the tests themselves.
I strongly doubt anyone is actually playing widelands on s390x,
so this just disables the failing tests.
diff -up widelands-1.1/src/base/test/CMakeLists.txt~ widelands-1.1/src/base/test/CMakeLists.txt
--- widelands-1.1/src/base/test/CMakeLists.txt~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/base/test/CMakeLists.txt 2023-03-28 11:58:34.622478286 +0200
@@ -3,11 +3,9 @@ wl_test(test_base
base_test_main.cc
test_geometry.cc
test_math.cc
- test_md5.cc
test_times.cc
test_time_string.cc
test_utf8.cc
- test_string.cc
DEPENDS
base
base_geometry

View file

@ -1,7 +1,7 @@
diff -uNr widelands-1.3.orig/cmake/WlFunctions.cmake widelands-1.3/cmake/WlFunctions.cmake
--- widelands-1.3.orig/cmake/WlFunctions.cmake 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/cmake/WlFunctions.cmake 2025-12-21 13:32:50.138000000 +0100
@@ -93,7 +93,9 @@
diff -up widelands-1.1/cmake/WlFunctions.cmake~ widelands-1.1/cmake/WlFunctions.cmake
--- widelands-1.1/cmake/WlFunctions.cmake~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/cmake/WlFunctions.cmake 2023-03-28 10:31:21.413196378 +0200
@@ -77,7 +77,9 @@ macro(_common_compile_tasks)
wl_include_directories(${NAME} ${CMAKE_SOURCE_DIR}/src)
wl_include_directories(${NAME} ${CMAKE_BINARY_DIR}/src)
if(MINIZIP_STATIC_LIBRARIES)

314
widelands-1.1-gcc13.patch Normal file
View file

@ -0,0 +1,314 @@
diff -up widelands-1.1/src/base/md5.h~ widelands-1.1/src/base/md5.h
--- widelands-1.1/src/base/md5.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/base/md5.h 2023-03-27 21:28:34.494634126 +0200
@@ -22,6 +22,7 @@
#include <cassert>
#include <cstring>
+#include <cstdint>
#include <string>
/* Structure to save state of computation between the single steps. */
diff -up widelands-1.1/src/build_info.h~ widelands-1.1/src/build_info.h
--- widelands-1.1/src/build_info.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/build_info.h 2023-03-27 21:24:21.545738695 +0200
@@ -20,6 +20,7 @@
#define WL_BUILD_INFO_H
#include <string>
+#include <cstdint>
constexpr uint16_t kWidelandsCopyrightStart = 2002;
// If the following line is changed, the corresponding regex in 'utils/update_copyright.py' will
diff -up widelands-1.1/src/graphic/align.h~ widelands-1.1/src/graphic/align.h
--- widelands-1.1/src/graphic/align.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/graphic/align.h 2023-03-27 21:37:50.732994947 +0200
@@ -19,6 +19,7 @@
#ifndef WL_GRAPHIC_ALIGN_H
#define WL_GRAPHIC_ALIGN_H
+#include <cstdint>
#include <string>
#include "base/rect.h"
diff -up widelands-1.1/src/base/random.h~ widelands-1.1/src/base/random.h
--- widelands-1.1/src/base/random.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/base/random.h 2023-03-27 21:40:08.219843589 +0200
@@ -20,6 +20,7 @@
#define WL_BASE_RANDOM_H
#include <cassert>
+#include <cstdint>
#include <string>
extern const uint32_t rng_sbox[256];
diff -up widelands-1.1/src/io/filesystem/zip_filesystem.h~ widelands-1.1/src/io/filesystem/zip_filesystem.h
--- widelands-1.1/src/io/filesystem/zip_filesystem.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/io/filesystem/zip_filesystem.h 2023-03-27 21:46:36.709590151 +0200
@@ -23,6 +23,7 @@
#include <unzip.h>
#include <zip.h>
+#include <zlib.h>
#include "io/filesystem/filesystem.h"
#include "io/streamread.h"
diff -up widelands-1.1/src/base/time_string.h~ widelands-1.1/src/base/time_string.h
--- widelands-1.1/src/base/time_string.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/base/time_string.h 2023-03-27 22:28:19.024604798 +0200
@@ -19,6 +19,7 @@
#ifndef WL_BASE_TIME_STRING_H
#define WL_BASE_TIME_STRING_H
+#include <cstdint>
#include <string>
/// Get a string representation conforming to ISO 8601 of the current time (in
diff -up widelands-1.1/src/logic/generic_save_handler.h~ widelands-1.1/src/logic/generic_save_handler.h
--- widelands-1.1/src/logic/generic_save_handler.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/generic_save_handler.h 2023-03-27 22:32:49.724403544 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_GENERIC_SAVE_HANDLER_H
#define WL_LOGIC_GENERIC_SAVE_HANDLER_H
+#include <cstdint>
#include <functional>
#include "io/filesystem/filesystem.h"
diff -up widelands-1.1/src/scripting/persistence.h~ widelands-1.1/src/scripting/persistence.h
--- widelands-1.1/src/scripting/persistence.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/scripting/persistence.h 2023-03-27 22:39:15.022270365 +0200
@@ -19,6 +19,8 @@
#ifndef WL_SCRIPTING_PERSISTENCE_H
#define WL_SCRIPTING_PERSISTENCE_H
+#include <cstdint>
+
#include "scripting/lua.h"
class FileRead;
diff -up widelands-1.1/src/map_io/map_elemental_packet.h~ widelands-1.1/src/map_io/map_elemental_packet.h
--- widelands-1.1/src/map_io/map_elemental_packet.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/map_io/map_elemental_packet.h 2023-03-27 22:44:03.699928430 +0200
@@ -19,6 +19,7 @@
#ifndef WL_MAP_IO_MAP_ELEMENTAL_PACKET_H
#define WL_MAP_IO_MAP_ELEMENTAL_PACKET_H
+#include <cstdint>
#include <string>
#include <vector>
diff -up widelands-1.1/src/logic/save_handler.h~ widelands-1.1/src/logic/save_handler.h
--- widelands-1.1/src/logic/save_handler.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/save_handler.h 2023-03-27 22:53:07.898560634 +0200
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_SAVE_HANDLER_H
#define WL_LOGIC_SAVE_HANDLER_H
+#include <cstdint>
+
#include "io/filesystem/filesystem.h"
namespace Widelands {
diff -up widelands-1.1/src/logic/map_revision.h~ widelands-1.1/src/logic/map_revision.h
--- widelands-1.1/src/logic/map_revision.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/map_revision.h 2023-03-27 22:57:27.966473320 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_MAP_REVISION_H
#define WL_LOGIC_MAP_REVISION_H
+#include <cstdint>
#include <string>
namespace Widelands {
diff -up widelands-1.1/src/logic/addons.h~ widelands-1.1/src/logic/addons.h
--- widelands-1.1/src/logic/addons.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/addons.h 2023-03-27 22:58:16.316085244 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_ADDONS_H
#define WL_LOGIC_ADDONS_H
+#include <cstdint>
#include <ctime>
#include <functional>
#include <map>
diff -up widelands-1.1/src/logic/ai_dna_handler.h~ widelands-1.1/src/logic/ai_dna_handler.h
--- widelands-1.1/src/logic/ai_dna_handler.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/ai_dna_handler.h 2023-03-27 22:58:21.068047105 +0200
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_AI_DNA_HANDLER_H
#define WL_LOGIC_AI_DNA_HANDLER_H
+#include <cstdint>
+
#include "logic/player.h"
namespace Widelands {
diff -up widelands-1.1/src/logic/cmd_queue.h~ widelands-1.1/src/logic/cmd_queue.h
--- widelands-1.1/src/logic/cmd_queue.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/cmd_queue.h 2023-03-27 22:58:25.692009993 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_CMD_QUEUE_H
#define WL_LOGIC_CMD_QUEUE_H
+#include <cstdint>
#include <queue>
#include "base/times.h"
diff -up widelands-1.1/src/logic/game.h~ widelands-1.1/src/logic/game.h
--- widelands-1.1/src/logic/game.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/game.h 2023-03-27 22:58:30.387972304 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_GAME_H
#define WL_LOGIC_GAME_H
+#include <cstdint>
#include <memory>
#include "base/md5.h"
diff -up widelands-1.1/src/logic/game_controller.h~ widelands-1.1/src/logic/game_controller.h
--- widelands-1.1/src/logic/game_controller.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/game_controller.h 2023-03-27 22:58:37.804912776 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_GAME_CONTROLLER_H
#define WL_LOGIC_GAME_CONTROLLER_H
+#include <cstdint>
#include <string>
#include "base/times.h"
diff -up widelands-1.1/src/logic/game_settings.h~ widelands-1.1/src/logic/game_settings.h
--- widelands-1.1/src/logic/game_settings.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/game_settings.h 2023-03-27 22:58:42.244877140 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_GAME_SETTINGS_H
#define WL_LOGIC_GAME_SETTINGS_H
+#include <cstdint>
#include <memory>
#include <string>
diff -up widelands-1.1/src/logic/map.h~ widelands-1.1/src/logic/map.h
--- widelands-1.1/src/logic/map.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/map.h 2023-03-27 22:58:50.229813053 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_MAP_H
#define WL_LOGIC_MAP_H
+#include <cstdint>
#include <map>
#include <memory>
#include <set>
diff -up widelands-1.1/src/logic/mapastar.h~ widelands-1.1/src/logic/mapastar.h
--- widelands-1.1/src/logic/mapastar.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/mapastar.h 2023-03-27 22:58:56.220764976 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_MAPASTAR_H
#define WL_LOGIC_MAPASTAR_H
+#include <cstdint>
#include <memory>
#include "logic/map.h"
diff -up widelands-1.1/src/logic/maphollowregion.h~ widelands-1.1/src/logic/maphollowregion.h
--- widelands-1.1/src/logic/maphollowregion.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/maphollowregion.h 2023-03-27 22:59:00.125733634 +0200
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_MAPHOLLOWREGION_H
#define WL_LOGIC_MAPHOLLOWREGION_H
+#include <cstdint>
+
#include "logic/map.h"
namespace Widelands {
diff -up widelands-1.1/src/logic/message_queue.h~ widelands-1.1/src/logic/message_queue.h
--- widelands-1.1/src/logic/message_queue.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/message_queue.h 2023-03-27 22:59:06.236684594 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_MESSAGE_QUEUE_H
#define WL_LOGIC_MESSAGE_QUEUE_H
+#include <cstdint>
#include <cassert>
#include <memory>
diff -up widelands-1.1/src/logic/pathfield.h~ widelands-1.1/src/logic/pathfield.h
--- widelands-1.1/src/logic/pathfield.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/pathfield.h 2023-03-27 22:59:09.948654805 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_PATHFIELD_H
#define WL_LOGIC_PATHFIELD_H
+#include <cstdint>
#include <memory>
#include "logic/cookie_priority_queue.h"
diff -up widelands-1.1/src/logic/player.h~ widelands-1.1/src/logic/player.h
--- widelands-1.1/src/logic/player.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/player.h 2023-03-27 22:59:14.012622187 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_PLAYER_H
#define WL_LOGIC_PLAYER_H
+#include <cstdint>
#include <atomic>
#include <memory>
diff -up widelands-1.1/src/logic/playercommand.h~ widelands-1.1/src/logic/playercommand.h
--- widelands-1.1/src/logic/playercommand.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/playercommand.h 2023-03-27 22:59:17.612593293 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_PLAYERCOMMAND_H
#define WL_LOGIC_PLAYERCOMMAND_H
+#include <cstdint>
#include <memory>
#include "economy/flag.h"
diff -up widelands-1.1/src/logic/replay_game_controller.h~ widelands-1.1/src/logic/replay_game_controller.h
--- widelands-1.1/src/logic/replay_game_controller.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/replay_game_controller.h 2023-03-27 22:59:21.420562726 +0200
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_REPLAY_GAME_CONTROLLER_H
#define WL_LOGIC_REPLAY_GAME_CONTROLLER_H
+#include <cstdint>
#include <memory>
#include "logic/cmd_queue.h"
diff -up widelands-1.1/src/logic/single_player_game_controller.h~ widelands-1.1/src/logic/single_player_game_controller.h
--- widelands-1.1/src/logic/single_player_game_controller.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/single_player_game_controller.h 2023-03-27 22:59:27.132516891 +0200
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_SINGLE_PLAYER_GAME_CONTROLLER_H
#define WL_LOGIC_SINGLE_PLAYER_GAME_CONTROLLER_H
+#include <cstdint>
+
#include "ai/computer_player.h"
#include "logic/game_controller.h"
diff -up widelands-1.1/src/logic/single_player_game_settings_provider.h~ widelands-1.1/src/logic/single_player_game_settings_provider.h
--- widelands-1.1/src/logic/single_player_game_settings_provider.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/logic/single_player_game_settings_provider.h 2023-03-27 22:59:30.908486580 +0200
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_SINGLE_PLAYER_GAME_SETTINGS_PROVIDER_H
#define WL_LOGIC_SINGLE_PLAYER_GAME_SETTINGS_PROVIDER_H
+#include <cstdint>
+
#include "logic/game_settings.h"
/**
diff -up widelands-1.1/src/graphic/text/textstream.h~ widelands-1.1/src/graphic/text/textstream.h
--- widelands-1.1/src/graphic/text/textstream.h~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/graphic/text/textstream.h 2023-03-27 23:05:15.095850210 +0200
@@ -19,6 +19,7 @@
#ifndef WL_GRAPHIC_TEXT_TEXTSTREAM_H
#define WL_GRAPHIC_TEXT_TEXTSTREAM_H
+#include <cstdint>
#include <string>
namespace RT {

View file

@ -1,21 +0,0 @@
diff -uNr widelands-1.2.orig/src/ui_basic/box.cc widelands-1.2/src/ui_basic/box.cc
--- widelands-1.2.orig/src/ui_basic/box.cc 2024-03-28 11:12:05.000000000 +0100
+++ widelands-1.2/src/ui_basic/box.cc 2024-08-25 12:02:46.697000000 +0200
@@ -180,7 +180,7 @@
int infspace_count = 0;
for (size_t idx = 0; idx < items_.size(); ++idx) {
- int depth;
+ int depth = 0;
int unused = 0;
get_item_desired_size(idx, &depth, &unused);
totaldepth += depth;
@@ -274,7 +274,7 @@
// Do not modify hidden items
continue;
}
- int depth;
+ int depth = 0;
int breadth = 0;
get_item_size(idx, &depth, &breadth);

View file

@ -1,11 +0,0 @@
diff -uNr widelands.orig/src/base/test/CMakeLists.txt widelands/src/base/test/CMakeLists.txt
--- widelands.orig/src/base/test/CMakeLists.txt 2024-11-12 21:03:25.000000000 +0100
+++ widelands/src/base/test/CMakeLists.txt 2025-02-16 12:21:07.246000000 +0100
@@ -7,7 +7,6 @@
test_times.cc
test_time_string.cc
test_utf8.cc
- test_string.cc
DEPENDS
base
base_crypto

View file

@ -1,12 +0,0 @@
diff -uNr widelands-1.3.orig/CMakeLists.txt widelands-1.3/CMakeLists.txt
--- widelands-1.3.orig/CMakeLists.txt 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/CMakeLists.txt 2025-12-21 13:08:24.503000000 +0100
@@ -292,7 +292,7 @@
wl_add_flag(WL_COMPILE_DIAGNOSTICS "-Wno-disabled-macro-expansion")
endif()
elseif(MSVC)
- wl_add_flag(WL_GENERIC_CXX_FLAGS "/std:c++17")
+ wl_add_flag(WL_GENERIC_CXX_FLAGS "/std:gnu++17")
wl_add_flag(WL_GENERIC_C_LIBRARY_FLAGS "/std:c11")
# https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/
# Disabled warnings that are overly verbose right now or just do not make sense.

View file

@ -1,180 +0,0 @@
diff -uNr widelands-1.3.orig/src/commands/cmd_queue.h widelands-1.3/src/commands/cmd_queue.h
--- widelands-1.3.orig/src/commands/cmd_queue.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/commands/cmd_queue.h 2025-12-21 13:22:54.968000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_COMMANDS_CMD_QUEUE_H
#define WL_COMMANDS_CMD_QUEUE_H
+#include <cstdint>
#include <queue>
#include "commands/command.h"
diff -uNr widelands-1.3.orig/src/io/filesystem/zip_filesystem.h widelands-1.3/src/io/filesystem/zip_filesystem.h
--- widelands-1.3.orig/src/io/filesystem/zip_filesystem.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/io/filesystem/zip_filesystem.h 2025-12-21 13:21:40.240000000 +0100
@@ -23,6 +23,7 @@
#include <unzip.h>
#include <zip.h>
+#include <zlib.h>
#include "io/filesystem/filesystem.h"
#include "io/streamread.h"
diff -uNr widelands-1.3.orig/src/logic/addons.h widelands-1.3/src/logic/addons.h
--- widelands-1.3.orig/src/logic/addons.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/addons.h 2025-12-21 13:22:00.559000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_ADDONS_H
#define WL_LOGIC_ADDONS_H
+#include <cstdint>
#include <ctime>
#include <functional>
#include <map>
diff -uNr widelands-1.3.orig/src/logic/ai_dna_handler.h widelands-1.3/src/logic/ai_dna_handler.h
--- widelands-1.3.orig/src/logic/ai_dna_handler.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/ai_dna_handler.h 2025-12-21 13:22:21.467000000 +0100
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_AI_DNA_HANDLER_H
#define WL_LOGIC_AI_DNA_HANDLER_H
+#include <cstdint>
+
#include "logic/player.h"
namespace Widelands {
diff -uNr widelands-1.3.orig/src/logic/game_controller.h widelands-1.3/src/logic/game_controller.h
--- widelands-1.3.orig/src/logic/game_controller.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/game_controller.h 2025-12-21 13:23:11.328000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_GAME_CONTROLLER_H
#define WL_LOGIC_GAME_CONTROLLER_H
+#include <cstdint>
#include <string>
#include "base/times.h"
diff -uNr widelands-1.3.orig/src/logic/game.h widelands-1.3/src/logic/game.h
--- widelands-1.3.orig/src/logic/game.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/game.h 2025-12-21 13:23:32.586000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_GAME_H
#define WL_LOGIC_GAME_H
+#include <cstdint>
#include <memory>
#include "base/crypto.h"
diff -uNr widelands-1.3.orig/src/logic/game_settings.h widelands-1.3/src/logic/game_settings.h
--- widelands-1.3.orig/src/logic/game_settings.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/game_settings.h 2025-12-21 13:23:53.751000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_GAME_SETTINGS_H
#define WL_LOGIC_GAME_SETTINGS_H
+#include <cstdint>
#include <memory>
#include <string>
diff -uNr widelands-1.3.orig/src/logic/mapastar.h widelands-1.3/src/logic/mapastar.h
--- widelands-1.3.orig/src/logic/mapastar.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/mapastar.h 2025-12-21 13:24:10.835000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_MAPASTAR_H
#define WL_LOGIC_MAPASTAR_H
+#include <cstdint>
#include <memory>
#include "logic/map.h"
diff -uNr widelands-1.3.orig/src/logic/map.h widelands-1.3/src/logic/map.h
--- widelands-1.3.orig/src/logic/map.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/map.h 2025-12-21 13:24:25.286000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_MAP_H
#define WL_LOGIC_MAP_H
+#include <cstdint>
#include <map>
#include <memory>
#include <optional>
diff -uNr widelands-1.3.orig/src/logic/maphollowregion.h widelands-1.3/src/logic/maphollowregion.h
--- widelands-1.3.orig/src/logic/maphollowregion.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/maphollowregion.h 2025-12-21 13:24:38.671000000 +0100
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_MAPHOLLOWREGION_H
#define WL_LOGIC_MAPHOLLOWREGION_H
+#include <cstdint>
+
#include "logic/map.h"
namespace Widelands {
diff -uNr widelands-1.3.orig/src/logic/message_queue.h widelands-1.3/src/logic/message_queue.h
--- widelands-1.3.orig/src/logic/message_queue.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/message_queue.h 2025-12-21 13:24:53.770000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_MESSAGE_QUEUE_H
#define WL_LOGIC_MESSAGE_QUEUE_H
+#include <cstdint>
#include <cassert>
#include <memory>
diff -uNr widelands-1.3.orig/src/logic/pathfield.h widelands-1.3/src/logic/pathfield.h
--- widelands-1.3.orig/src/logic/pathfield.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/pathfield.h 2025-12-21 13:25:10.868000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_PATHFIELD_H
#define WL_LOGIC_PATHFIELD_H
+#include <cstdint>
#include <memory>
#include "logic/cookie_priority_queue.h"
diff -uNr widelands-1.3.orig/src/logic/player.h widelands-1.3/src/logic/player.h
--- widelands-1.3.orig/src/logic/player.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/player.h 2025-12-21 13:27:20.228000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_PLAYER_H
#define WL_LOGIC_PLAYER_H
+#include <cstdint>
#include <atomic>
#include <memory>
#include <set>
diff -uNr widelands-1.3.orig/src/logic/replay_game_controller.h widelands-1.3/src/logic/replay_game_controller.h
--- widelands-1.3.orig/src/logic/replay_game_controller.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/replay_game_controller.h 2025-12-21 13:28:10.806000000 +0100
@@ -19,6 +19,7 @@
#ifndef WL_LOGIC_REPLAY_GAME_CONTROLLER_H
#define WL_LOGIC_REPLAY_GAME_CONTROLLER_H
+#include <cstdint>
#include <memory>
#include "commands/command.h"
diff -uNr widelands-1.3.orig/src/logic/single_player_game_controller.h widelands-1.3/src/logic/single_player_game_controller.h
--- widelands-1.3.orig/src/logic/single_player_game_controller.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/single_player_game_controller.h 2025-12-21 13:28:30.527000000 +0100
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_SINGLE_PLAYER_GAME_CONTROLLER_H
#define WL_LOGIC_SINGLE_PLAYER_GAME_CONTROLLER_H
+#include <cstdint>
+
#include "ai/computer_player.h"
#include "logic/game_controller.h"
diff -uNr widelands-1.3.orig/src/logic/single_player_game_settings_provider.h widelands-1.3/src/logic/single_player_game_settings_provider.h
--- widelands-1.3.orig/src/logic/single_player_game_settings_provider.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/single_player_game_settings_provider.h 2025-12-21 13:28:46.109000000 +0100
@@ -19,6 +19,8 @@
#ifndef WL_LOGIC_SINGLE_PLAYER_GAME_SETTINGS_PROVIDER_H
#define WL_LOGIC_SINGLE_PLAYER_GAME_SETTINGS_PROVIDER_H
+#include <cstdint>
+
#include "logic/game_settings.h"
/**

View file

@ -1,29 +0,0 @@
diff -uNr widelands-1.3.orig/src/logic/map_objects/tribes/requirements.h widelands-1.3/src/logic/map_objects/tribes/requirements.h
--- widelands-1.3.orig/src/logic/map_objects/tribes/requirements.h 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/logic/map_objects/tribes/requirements.h 2025-12-21 13:36:41.437000000 +0100
@@ -20,6 +20,7 @@
#define WL_LOGIC_MAP_OBJECTS_TRIBES_REQUIREMENTS_H
#include <climits>
+#include <cstdint>
#include <map>
#include <memory>
#include <vector>
diff -uNr widelands-1.3.orig/src/third_party/eris/eris.c widelands-1.3/src/third_party/eris/eris.c
--- widelands-1.3.orig/src/third_party/eris/eris.c 2025-12-18 19:19:33.000000000 +0100
+++ widelands-1.3/src/third_party/eris/eris.c 2025-12-21 13:37:22.685000000 +0100
@@ -27,13 +27,7 @@
#include <stdint.h>
#include <stdio.h>
#include <string.h>
-
-/* Not using stdbool because Visual Studio lives in the past... */
-#ifndef __cplusplus
-typedef int bool;
-#define false 0
-#define true 1
-#endif
+#include <stdbool.h>
/* Mark us as part of the Lua core to get access to what we need. */
#define LUA_CORE

View file

@ -0,0 +1,12 @@
diff -up widelands-1.1/CMakeLists.txt~ widelands-1.1/CMakeLists.txt
--- widelands-1.1/CMakeLists.txt~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/CMakeLists.txt 2023-03-27 20:45:53.395721787 +0200
@@ -395,7 +395,7 @@ if(NOT MSVC)
endif()
endif()
- wl_add_flag(WL_GENERIC_CXX_FLAGS "-std=c++11")
+ wl_add_flag(WL_GENERIC_CXX_FLAGS "-std=gnu++11")
endif()
# Cross-compile-unit optimization slows linking significantly.

View file

@ -0,0 +1,30 @@
For some reason the s390x build (and only the s390x build) fails with:
/builddir/build/BUILD/widelands-build20/src/ui_basic/box.cc: In member function 'virtual void UI::Box::layout()':
/builddir/build/BUILD/widelands-build20/src/ui_basic/box.cc:163:14: error: 'depth' may be used uninitialized in this function [-Werror=maybe-uninitialized]
163 | totaldepth += depth;
| ~~~~~~~~~~~^~~~~~~~
cc1plus: some warnings being treated as errors
This fixes this.
diff -up widelands-1.1/src/ui_basic/box.cc~ widelands-1.1/src/ui_basic/box.cc
--- widelands-1.1/src/ui_basic/box.cc~ 2022-10-22 13:51:16.000000000 +0200
+++ widelands-1.1/src/ui_basic/box.cc 2023-03-27 20:56:58.130613954 +0200
@@ -178,7 +178,7 @@ void Box::layout() {
int spacing = -1 * inner_spacing_;
for (size_t idx = 0; idx < items_.size(); ++idx) {
- int depth;
+ int depth = 0;
int unused = 0;
get_item_desired_size(idx, &depth, &unused);
totaldepth += depth;
@@ -275,7 +275,7 @@ void Box::update_positions() {
}
for (uint32_t idx = 0; idx < items_.size(); ++idx) {
- int depth;
+ int depth = 0;
int breadth = 0;
get_item_size(idx, &depth, &breadth);

View file

@ -2,28 +2,26 @@
%global fonts font(amiri) font(dejavusans) font(dejavusansmono) font(dejavuserif) font(widelands) font(gargi) font(wenquanyimicrohei) font(frankruehlclm)
Name: widelands
Version: 1.3.1
Release: 3%{?dist}
Version: 1.1
Release: 1%{?dist}
Summary: Open source realtime-strategy game
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
License: GPLv2+
URL: http://www.widelands.org
Source0: https://github.com/widelands/widelands/archive/v%{version}/%{name}-%{version}.tar.gz
# gnu++11 fix in CMakeLists.txt for PPC64 little-endian
Patch0: widelands-1.3-build19-ppc64le.patch
Patch0: widelands-build19-ppc64le.patch
# Fix failures on s390x due to uninitialized variables
Patch1: widelands-1.2-build20-gcc10.patch
Patch1: widelands-build20-gcc10.patch
# widelands uses glew which atm is hardcoded to glx, see e.g.:
# https://github.com/nigels-com/glew/issues/172
# This can be fixed cleaner by switching to glewContextInit once we are
# at glew 2.3, or maybe backport:
# https://github.com/nigels-com/glew/commit/715afa0ff56c0eb12c23938b80aa2813daa10d81
Patch2: widelands-1.3-make-sdl2-use-x11.patch
Patch3: widelands-1.3-gcc13.patch
Patch4: widelands-1.3-f37-sys-minizip-buildfix.patch
Patch5: widelands-1.2.1-disable-some-tests.patch
Patch6: widelands-1.3-gcc15.patch
Patch2: widelands-1.0-make-sdl2-use-x11.patch
Patch3: widelands-1.1-gcc13.patch
Patch4: widelands-1.1-f37-sys-minizip-buildfix.patch
Patch5: widelands-1.1-disable-some-tests.patch
BuildRequires: asio-devel
BuildRequires: SDL2-devel
@ -35,12 +33,13 @@ BuildRequires: cmake
BuildRequires: ctags
BuildRequires: desktop-file-utils
BuildRequires: libappstream-glib
BuildRequires: gettext
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glew-devel
BuildRequires: libpng-devel >= 1.6.0
BuildRequires: libpng-devel
BuildRequires: libcurl-devel
BuildRequires: minizip-ng-compat-devel
BuildRequires: minizip-devel
BuildRequires: python3
# For the %%build part generating the symlinks
BuildRequires: fontconfig %{fonts}
@ -55,21 +54,20 @@ perhaps will have a thought, what Widelands is all about.
%prep
%setup -q -n widelands
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
%patch -P3 -p1
%patch -P4 -p1
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%ifarch s390x
%patch -P5 -p1
%patch5 -p1
%endif
%patch -P6 -p1
%build
%cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_BUILD_TYPE=Release \
-DWL_INSTALL_BASEDIR=%{_prefix}/share/%{name} \
-DWL_INSTALL_DATADIR=%{_prefix}/share/%{name} \
-DOPTION_BUILD_WEBSITE_TOOLS=OFF \
@ -88,7 +86,7 @@ mv $RPM_BUILD_ROOT%{_prefix}/games/%{name} \
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
# Validate appdata (provided by upstream)
appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.metainfo.xml
appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.appdata.xml
pushd $RPM_BUILD_ROOT
# Replace fonts with system fonts. We used to have symlinks directly from
@ -144,14 +142,6 @@ ln -s $(fc-match -f "%{file}" "monospace:italic") \
usr/share/%{name}/i18n/fonts/dejavu-fonts/DejaVuSansMono-Oblique.ttf
ln -s $(fc-match -f "%{file}" "monospace:bold:italic") \
usr/share/%{name}/i18n/fonts/dejavu-fonts/DejaVuSansMono-BoldOblique.ttf
ln -s $(fc-match -f "%{file}" "DejaVuSansCondensed") \
usr/share/%{name}/i18n/fonts/dejavu-fonts/DejaVuSansCondensed.ttf
ln -s $(fc-match -f "%{file}" "DejaVuSansCondensed:bold") \
usr/share/%{name}/i18n/fonts/dejavu-fonts/DejaVuSansCondensed-Bold.ttf
ln -s $(fc-match -f "%{file}" "DejaVuSansCondensed:italic") \
usr/share/%{name}/i18n/fonts/dejavu-fonts/DejaVuSansCondensed-Oblique.ttf
ln -s $(fc-match -f "%{file}" "DejaVuSansCondensed:bold:italic") \
usr/share/%{name}/i18n/fonts/dejavu-fonts/DejaVuSansCondensed-BoldOblique.ttf
# Chinese fonts
rm -r usr/share/%{name}/i18n/fonts/MicroHei
@ -189,9 +179,9 @@ ln -s $(fc-match -f "%{file}" "widelands") \
# Scripting magic to add proper %%lang() markings to the locale files
find usr/share/widelands/i18n/translations/ -maxdepth 2 -type f -name \*_\*.po | sed -n 's#\(usr/share/widelands/i18n/translations/.*/\([^/]*\)_[^/]*\.po\)#%lang(\2) /\1#p' > %{_builddir}/%{?buildsubdir}/%{name}.files
find usr/share/widelands/i18n/translations/ -maxdepth 2 -type f -name \*.po -and ! -name "*_*.po" | sed -n -e 's#\(usr/share/widelands/i18n/translations/.*/\([^/]\+\)\.po\)#%lang(\2) /\1#p' >> %{_builddir}/%{?buildsubdir}/%{name}.files
find usr/share/widelands/ -mindepth 1 -maxdepth 1 -not -name i18n | sed -n 's#\(usr/share/widelands/*\)#/\1#p' >> %{_builddir}/%{?buildsubdir}/%{name}.files
find usr/share/widelands/locale/ -maxdepth 1 -type d -name \*_\* | sed -n 's#\(usr/share/widelands/locale/\(.*\)_.*\)#%lang(\2) /\1#p' > %{_builddir}/%{?buildsubdir}/%{name}.files
find usr/share/widelands/locale/ -maxdepth 1 -type d ! -name "*_*" | sed -n -e 's#\(usr/share/widelands/locale/\(.\+\)\)#%lang(\2) /\1#p' >> %{_builddir}/%{?buildsubdir}/%{name}.files
find usr/share/widelands/ -mindepth 1 -maxdepth 1 -not -name locale | sed -n 's#\(usr/share/widelands/*\)#/\1#p' >> %{_builddir}/%{?buildsubdir}/%{name}.files
popd
@ -201,74 +191,13 @@ popd
%{_mandir}/man6/widelands.6.gz
%{_bindir}/%{name}
%{_datadir}/icons/hicolor/*/apps/*.png
%{_metainfodir}/*.metainfo.xml
%{_metainfodir}/*.appdata.xml
%{_datadir}/applications/*.desktop
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/i18n/fonts.lua
%{_datadir}/%{name}/i18n/fonts
%{_datadir}/%{name}/i18n/locales.lua
%{_datadir}/%{name}/i18n/locales/*.json
%{_datadir}/%{name}/i18n/translation_stats.conf
%{_datadir}/%{name}/i18n/translations/*/*.pot
%dir %{_datadir}/%{name}/locale
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Mon Jun 08 2026 František Zatloukal <fzatlouk@redhat.com> - 1.3.1-2
- Rebuilt for icu 78.3
* Sun Feb 22 2026 Peter Hanecak <hany@hany.sk> - 1.3.1-1
- New upstream release 1.3.1 (rhbz#2440036)
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Sun Dec 21 2025 Peter Hanecak <hany@hany.sk> - 1.3-1
- New upstream release 1.3 (rhbz#2422054)
* Wed Aug 06 2025 František Zatloukal <fzatlouk@redhat.com> - 1.2.1-3
- Rebuilt for icu 77.1
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Feb 16 2025 Peter Hanecak <hany@hany.sk> - 1.2.1-1
- New upstream release 1.2 (rhbz#2322776)
- Generate font file symlinks also for DejaVuSansCondensed (rhbz#2334803)
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 1.2-2
- Rebuild for ICU 76
* Sun Aug 25 2024 Peter Hanecak <hany@hany.sk> - 1.2-1
- New upstream release 1.2 (rhbz#2271240)
* Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 1.1-8
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jan 31 2024 Pete Walter <pwalter@fedoraproject.org> - 1.1-6
- Rebuild for ICU 74
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Dec 04 2023 Lukas Javorsky <ljavorsk@redhat.com> - 1.1-4
- Rebuilt for minizip-ng transition Fedora change
- Fedora Change: https://fedoraproject.org/wiki/Changes/MinizipNGTransition
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 1.1-2
- Rebuilt for ICU 73.2
* Mon Mar 27 2023 Hans de Goede <hdegoede@redhat.com> - 1.1-1
- New upstream release 1.1 (rhbz#2135131)
- Fix FTBFS (rhbz#2171759)