diff --git a/.gitignore b/.gitignore index 2551fae..a244285 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,8 @@ Widelands-Build14-src.7z /widelands-build21.tar.gz /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 diff --git a/gpgkey-B79C81844E3EFFC3726CD477D53DCA9A6A3B14A4.gpg b/gpgkey-B79C81844E3EFFC3726CD477D53DCA9A6A3B14A4.gpg deleted file mode 100644 index eef2ed0..0000000 Binary files a/gpgkey-B79C81844E3EFFC3726CD477D53DCA9A6A3B14A4.gpg and /dev/null differ diff --git a/sources b/sources index 2d3b479..aa0d658 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (widelands-1.0.tar.gz) = 1092750944a8669682097dfbd2b578cdb8fab377f32cb81ce8d85b9d9b2e8ae8c4c73500c0a89be649b360fd7e086e19595eba37cecb8d64679e46f7da13e46e -SHA512 (widelands-1.0.tar.gz.asc) = ea4f9b5c57c1fb05d451e36b8a774f0fa87f1e65312186b79a9d9fdbec52202edafffc19cfd7c3e8c28105c9657655cab51bee814cfc466003ca2f05d2d47d39 +SHA512 (widelands-1.3.1.tar.gz) = 47d72aabac1dc873dd6f6fa86ba0bf2b0dd13c298f10df89b47654397ab5b3a55c06d4e8cf6a0da807e3402a7bff0839b7b0b18a6f8611ee83d252b8e0d61f15 diff --git a/widelands-1.2-build20-gcc10.patch b/widelands-1.2-build20-gcc10.patch new file mode 100644 index 0000000..94c85fe --- /dev/null +++ b/widelands-1.2-build20-gcc10.patch @@ -0,0 +1,21 @@ +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); + diff --git a/widelands-1.2.1-disable-some-tests.patch b/widelands-1.2.1-disable-some-tests.patch new file mode 100644 index 0000000..d9473de --- /dev/null +++ b/widelands-1.2.1-disable-some-tests.patch @@ -0,0 +1,11 @@ +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 diff --git a/widelands-1.3-build19-ppc64le.patch b/widelands-1.3-build19-ppc64le.patch new file mode 100644 index 0000000..b660b63 --- /dev/null +++ b/widelands-1.3-build19-ppc64le.patch @@ -0,0 +1,12 @@ +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. diff --git a/widelands-1.3-f37-sys-minizip-buildfix.patch b/widelands-1.3-f37-sys-minizip-buildfix.patch new file mode 100644 index 0000000..bdafc73 --- /dev/null +++ b/widelands-1.3-f37-sys-minizip-buildfix.patch @@ -0,0 +1,14 @@ +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 @@ + wl_include_directories(${NAME} ${CMAKE_SOURCE_DIR}/src) + wl_include_directories(${NAME} ${CMAKE_BINARY_DIR}/src) + if(MINIZIP_STATIC_LIBRARIES) +- wl_include_directories(${NAME} ${MINIZIP_INCLUDE_DIRS}) ++ if (MINIZIP_INCLUDE_DIRS) ++ wl_include_directories(${NAME} ${MINIZIP_INCLUDE_DIRS}) ++ endif() + target_compile_options(${NAME} PUBLIC ${MINIZIP_CFLAGS}) + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + include(CheckCXXCompilerFlag) diff --git a/widelands-1.3-gcc13.patch b/widelands-1.3-gcc13.patch new file mode 100644 index 0000000..b1ca776 --- /dev/null +++ b/widelands-1.3-gcc13.patch @@ -0,0 +1,180 @@ +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 + #include + + #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 + #include ++#include + + #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 + #include + #include + #include +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 ++ + #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 + #include + + #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 + #include + + #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 + #include + #include + +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 + #include + + #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 + #include + #include + #include +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 ++ + #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 + #include + #include + +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 + #include + + #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 + #include + #include + #include +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 + #include + + #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 ++ + #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 ++ + #include "logic/game_settings.h" + + /** diff --git a/widelands-1.3-gcc15.patch b/widelands-1.3-gcc15.patch new file mode 100644 index 0000000..7f2478f --- /dev/null +++ b/widelands-1.3-gcc15.patch @@ -0,0 +1,29 @@ +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 ++#include + #include + #include + #include +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 + #include + #include +- +-/* Not using stdbool because Visual Studio lives in the past... */ +-#ifndef __cplusplus +-typedef int bool; +-#define false 0 +-#define true 1 +-#endif ++#include + + /* Mark us as part of the Lua core to get access to what we need. */ + #define LUA_CORE diff --git a/widelands-1.0-make-sdl2-use-x11.patch b/widelands-1.3-make-sdl2-use-x11.patch similarity index 53% rename from widelands-1.0-make-sdl2-use-x11.patch rename to widelands-1.3-make-sdl2-use-x11.patch index 37a0cf1..80c3d65 100644 --- a/widelands-1.0-make-sdl2-use-x11.patch +++ b/widelands-1.3-make-sdl2-use-x11.patch @@ -1,7 +1,7 @@ -diff -up widelands-1.0/src/graphic/text/test/render_richtext.cc~ widelands-1.0/src/graphic/text/test/render_richtext.cc ---- widelands-1.0/src/graphic/text/test/render_richtext.cc~ 2021-06-14 11:22:20.000000000 +0200 -+++ widelands-1.0/src/graphic/text/test/render_richtext.cc 2022-03-06 15:37:49.207677348 +0100 -@@ -115,6 +115,9 @@ int main(int argc, char** argv) { +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 @@ if (parse_arguments(argc, argv, &w, outname, inname, allowed_tags)) return 0; @@ -11,10 +11,10 @@ diff -up widelands-1.0/src/graphic/text/test/render_richtext.cc~ widelands-1.0/s if (SDL_Init(SDL_INIT_VIDEO) < 0) { std::cerr << "SDLInit did not succeed: " << SDL_GetError() << std::endl; return 1; -diff -up widelands-1.0/src/website/website_common.cc~ widelands-1.0/src/website/website_common.cc ---- widelands-1.0/src/website/website_common.cc~ 2021-06-14 11:22:20.000000000 +0200 -+++ widelands-1.0/src/website/website_common.cc 2022-03-06 15:37:57.151598065 +0100 -@@ -19,6 +19,7 @@ +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 +@@ -18,6 +18,7 @@ #include "website/website_common.h" @@ -22,9 +22,9 @@ diff -up widelands-1.0/src/website/website_common.cc~ widelands-1.0/src/website/ #include #include "base/i18n.h" -@@ -32,6 +33,9 @@ - void initialize() { - i18n::set_locale("en"); +@@ -33,6 +34,9 @@ + set_initializer_thread(); + g_verbose = true; + // 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 -up widelands-1.0/src/website/website_common.cc~ widelands-1.0/src/website/ 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 -up widelands-1.0/src/wlapplication.cc~ widelands-1.0/src/wlapplication.cc ---- widelands-1.0/src/wlapplication.cc~ 2021-06-14 11:22:20.000000000 +0200 -+++ widelands-1.0/src/wlapplication.cc 2022-03-06 15:37:00.952158832 +0100 -@@ -370,6 +370,9 @@ WLApplication::WLApplication(int const a +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 @@ #endif // Start the SDL core diff --git a/widelands-build19-ppc64le.patch b/widelands-build19-ppc64le.patch deleted file mode 100644 index d1a092c..0000000 --- a/widelands-build19-ppc64le.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up widelands-1.0/CMakeLists.txt~ widelands-1.0/CMakeLists.txt ---- widelands-1.0/CMakeLists.txt~ 2021-06-14 11:22:20.000000000 +0200 -+++ widelands-1.0/CMakeLists.txt 2022-03-04 17:22:38.799386008 +0100 -@@ -314,9 +314,8 @@ if(NOT MSVC) - wl_add_flag(WL_COMPILE_DIAGNOSTICS "-Werror=format-security") - wl_add_flag(WL_COMPILE_DIAGNOSTICS "-Werror=return-type") - wl_add_flag(WL_COMPILE_DIAGNOSTICS "-Werror=shadow") -- wl_add_flag(WL_COMPILE_DIAGNOSTICS "-Werror=uninitialized") - -- 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. diff --git a/widelands-build20-gcc10.patch b/widelands-build20-gcc10.patch deleted file mode 100644 index 8787c49..0000000 --- a/widelands-build20-gcc10.patch +++ /dev/null @@ -1,30 +0,0 @@ -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.0/src/ui_basic/box.cc~ widelands-1.0/src/ui_basic/box.cc ---- widelands-1.0/src/ui_basic/box.cc~ 2021-06-14 11:22:20.000000000 +0200 -+++ widelands-1.0/src/ui_basic/box.cc 2022-03-04 17:24:19.916850150 +0100 -@@ -177,7 +177,7 @@ void Box::layout() { - int spacing = -inner_spacing_; - - for (size_t idx = 0; idx < items_.size(); ++idx) { -- int depth, unused = 0; -+ int depth = 0, unused = 0; - get_item_desired_size(idx, &depth, &unused); - totaldepth += depth; - if (items_[idx].type != Item::ItemPanel || items_[idx].u.panel.panel->is_visible()) { -@@ -270,7 +270,7 @@ void Box::update_positions() { - } - - for (uint32_t idx = 0; idx < items_.size(); ++idx) { -- int depth, breadth = 0; -+ int depth = 0, breadth = 0; - get_item_size(idx, &depth, &breadth); - - if (items_[idx].type == Item::ItemPanel) { diff --git a/widelands.spec b/widelands.spec index ad83ba8..538e782 100644 --- a/widelands.spec +++ b/widelands.spec @@ -2,27 +2,30 @@ %global fonts font(amiri) font(dejavusans) font(dejavusansmono) font(dejavuserif) font(widelands) font(gargi) font(wenquanyimicrohei) font(frankruehlclm) Name: widelands -Version: 1.0 -Release: 1%{?dist} +Version: 1.3.1 +Release: 3%{?dist} Summary: Open source realtime-strategy game -License: GPLv2+ +# Automatically converted from old format: GPLv2+ - review is highly recommended. +License: GPL-2.0-or-later URL: http://www.widelands.org -Source0: https://launchpad.net/widelands/1.x/%{version}/+download/widelands-%{version}.tar.gz -Source1: https://launchpad.net/widelands/1.x/%{version}/+download/widelands-%{version}.tar.gz.asc -Source2: gpgkey-B79C81844E3EFFC3726CD477D53DCA9A6A3B14A4.gpg +Source0: https://github.com/widelands/widelands/archive/v%{version}/%{name}-%{version}.tar.gz # gnu++11 fix in CMakeLists.txt for PPC64 little-endian -# + remove -Werror=uninitialized to fix build with gcc12 -Patch0: widelands-build19-ppc64le.patch +Patch0: widelands-1.3-build19-ppc64le.patch # Fix failures on s390x due to uninitialized variables -Patch1: widelands-build20-gcc10.patch +Patch1: widelands-1.2-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.0-make-sdl2-use-x11.patch +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 +BuildRequires: asio-devel BuildRequires: SDL2-devel BuildRequires: SDL2_image-devel BuildRequires: SDL2_mixer-devel @@ -32,14 +35,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 +BuildRequires: libpng-devel >= 1.6.0 BuildRequires: libcurl-devel +BuildRequires: minizip-ng-compat-devel BuildRequires: python3 -BuildRequires: gnupg2 # For the %%build part generating the symlinks BuildRequires: fontconfig %{fonts} Requires: hicolor-icon-theme @@ -53,14 +55,21 @@ perhaps will have a thought, what Widelands is all about. %prep -gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} -%autosetup -p1 +%setup -q -n widelands +%patch -P0 -p1 +%patch -P1 -p1 +%patch -P2 -p1 +%patch -P3 -p1 +%patch -P4 -p1 +%ifarch s390x +%patch -P5 -p1 +%endif +%patch -P6 -p1 %build %cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=%{_bindir} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DWL_INSTALL_BASEDIR=%{_prefix}/share/%{name} \ -DWL_INSTALL_DATADIR=%{_prefix}/share/%{name} \ -DOPTION_BUILD_WEBSITE_TOOLS=OFF \ @@ -71,11 +80,15 @@ gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %install %cmake_install +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mv $RPM_BUILD_ROOT%{_prefix}/games/%{name} \ + $RPM_BUILD_ROOT%{_bindir}/%{name} + # Validate desktop file (provided by upstream) desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop # Validate appdata (provided by upstream) -appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.appdata.xml +appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.metainfo.xml pushd $RPM_BUILD_ROOT # Replace fonts with system fonts. We used to have symlinks directly from @@ -131,6 +144,14 @@ 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 @@ -168,9 +189,9 @@ ln -s $(fc-match -f "%{file}" "widelands") \ # Scripting magic to add proper %%lang() markings to the locale 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 +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 popd @@ -180,13 +201,93 @@ popd %{_mandir}/man6/widelands.6.gz %{_bindir}/%{name} %{_datadir}/icons/hicolor/*/apps/*.png -%{_metainfodir}/*.appdata.xml +%{_metainfodir}/*.metainfo.xml %{_datadir}/applications/*.desktop %dir %{_datadir}/%{name} -%dir %{_datadir}/%{name}/locale +%{_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 %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Mon Jun 08 2026 František Zatloukal - 1.3.1-2 +- Rebuilt for icu 78.3 + +* Sun Feb 22 2026 Peter Hanecak - 1.3.1-1 +- New upstream release 1.3.1 (rhbz#2440036) + +* Sat Jan 17 2026 Fedora Release Engineering - 1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Sun Dec 21 2025 Peter Hanecak - 1.3-1 +- New upstream release 1.3 (rhbz#2422054) + +* Wed Aug 06 2025 František Zatloukal - 1.2.1-3 +- Rebuilt for icu 77.1 + +* Fri Jul 25 2025 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Feb 16 2025 Peter Hanecak - 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 - 1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Dec 08 2024 Pete Walter - 1.2-2 +- Rebuild for ICU 76 + +* Sun Aug 25 2024 Peter Hanecak - 1.2-1 +- New upstream release 1.2 (rhbz#2271240) + +* Wed Aug 07 2024 Miroslav Suchý - 1.1-8 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 31 2024 Pete Walter - 1.1-6 +- Rebuild for ICU 74 + +* Sat Jan 27 2024 Fedora Release Engineering - 1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 04 2023 Lukas Javorsky - 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 - 1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 František Zatloukal - 1.1-2 +- Rebuilt for ICU 73.2 + +* Mon Mar 27 2023 Hans de Goede - 1.1-1 +- New upstream release 1.1 (rhbz#2135131) +- Fix FTBFS (rhbz#2171759) + +* Sat Jan 21 2023 Fedora Release Engineering - 1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 31 2022 Pete Walter - 1.0-5 +- Rebuild for ICU 72 + +* Sun Aug 14 2022 Hans de Goede - 1.0-4 +- Fix FTBFS (rhbz#2114565) + +* Mon Aug 01 2022 Frantisek Zatloukal - 1.0-3 +- Rebuilt for ICU 71.1 + +* Sat Jul 23 2022 Fedora Release Engineering - 1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sun Mar 6 2022 Hans de Goede - 1.0-1 - New upstream release 1.0 (rhbz1974007) - Fix FTBFS (rhbz2047116)