diff --git a/.gitignore b/.gitignore index a244285..2551fae 100644 --- a/.gitignore +++ b/.gitignore @@ -8,8 +8,3 @@ 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 new file mode 100644 index 0000000..eef2ed0 Binary files /dev/null and b/gpgkey-B79C81844E3EFFC3726CD477D53DCA9A6A3B14A4.gpg differ diff --git a/sources b/sources index aa0d658..2d3b479 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (widelands-1.3.1.tar.gz) = 47d72aabac1dc873dd6f6fa86ba0bf2b0dd13c298f10df89b47654397ab5b3a55c06d4e8cf6a0da807e3402a7bff0839b7b0b18a6f8611ee83d252b8e0d61f15 +SHA512 (widelands-1.0.tar.gz) = 1092750944a8669682097dfbd2b578cdb8fab377f32cb81ce8d85b9d9b2e8ae8c4c73500c0a89be649b360fd7e086e19595eba37cecb8d64679e46f7da13e46e +SHA512 (widelands-1.0.tar.gz.asc) = ea4f9b5c57c1fb05d451e36b8a774f0fa87f1e65312186b79a9d9fdbec52202edafffc19cfd7c3e8c28105c9657655cab51bee814cfc466003ca2f05d2d47d39 diff --git a/widelands-1.3-make-sdl2-use-x11.patch b/widelands-1.0-make-sdl2-use-x11.patch similarity index 53% rename from widelands-1.3-make-sdl2-use-x11.patch rename to widelands-1.0-make-sdl2-use-x11.patch index 80c3d65..37a0cf1 100644 --- a/widelands-1.3-make-sdl2-use-x11.patch +++ b/widelands-1.0-make-sdl2-use-x11.patch @@ -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.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) { if (parse_arguments(argc, argv, &w, outname, inname, allowed_tags)) return 0; @@ -11,10 +11,10 @@ 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 -@@ -18,6 +18,7 @@ +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 @@ #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 #include "base/i18n.h" -@@ -33,6 +34,9 @@ - set_initializer_thread(); - g_verbose = true; +@@ -32,6 +33,9 @@ + void initialize() { + 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.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 #endif // Start the SDL core diff --git a/widelands-1.2-build20-gcc10.patch b/widelands-1.2-build20-gcc10.patch deleted file mode 100644 index 94c85fe..0000000 --- a/widelands-1.2-build20-gcc10.patch +++ /dev/null @@ -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); - diff --git a/widelands-1.2.1-disable-some-tests.patch b/widelands-1.2.1-disable-some-tests.patch deleted file mode 100644 index d9473de..0000000 --- a/widelands-1.2.1-disable-some-tests.patch +++ /dev/null @@ -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 diff --git a/widelands-1.3-build19-ppc64le.patch b/widelands-1.3-build19-ppc64le.patch deleted file mode 100644 index b660b63..0000000 --- a/widelands-1.3-build19-ppc64le.patch +++ /dev/null @@ -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. diff --git a/widelands-1.3-f37-sys-minizip-buildfix.patch b/widelands-1.3-f37-sys-minizip-buildfix.patch deleted file mode 100644 index bdafc73..0000000 --- a/widelands-1.3-f37-sys-minizip-buildfix.patch +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index b1ca776..0000000 --- a/widelands-1.3-gcc13.patch +++ /dev/null @@ -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 - #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 deleted file mode 100644 index 7f2478f..0000000 --- a/widelands-1.3-gcc15.patch +++ /dev/null @@ -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 -+#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-build19-ppc64le.patch b/widelands-build19-ppc64le.patch new file mode 100644 index 0000000..d1a092c --- /dev/null +++ b/widelands-build19-ppc64le.patch @@ -0,0 +1,14 @@ +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 new file mode 100644 index 0000000..8787c49 --- /dev/null +++ b/widelands-build20-gcc10.patch @@ -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.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 538e782..ad83ba8 100644 --- a/widelands.spec +++ b/widelands.spec @@ -2,30 +2,27 @@ %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.0 +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 +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 # gnu++11 fix in CMakeLists.txt for PPC64 little-endian -Patch0: widelands-1.3-build19-ppc64le.patch +# + remove -Werror=uninitialized to fix build with gcc12 +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 -BuildRequires: asio-devel BuildRequires: SDL2-devel BuildRequires: SDL2_image-devel BuildRequires: SDL2_mixer-devel @@ -35,13 +32,14 @@ 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: python3 +BuildRequires: gnupg2 # For the %%build part generating the symlinks BuildRequires: fontconfig %{fonts} Requires: hicolor-icon-theme @@ -55,21 +53,14 @@ 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 -%ifarch s390x -%patch -P5 -p1 -%endif -%patch -P6 -p1 +gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} +%autosetup -p1 %build %cmake \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=%{_bindir} \ -DWL_INSTALL_BASEDIR=%{_prefix}/share/%{name} \ -DWL_INSTALL_DATADIR=%{_prefix}/share/%{name} \ -DOPTION_BUILD_WEBSITE_TOOLS=OFF \ @@ -80,15 +71,11 @@ perhaps will have a thought, what Widelands is all about. %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}/*.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 +131,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 +168,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,93 +180,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 - 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)