Subject: [bug#61899] [PATCH 1/1] gnu: widelands: Update to 1.1.

From: Vivien Kraus <[email-masked]>
Date: Wed, 1 Mar 2023 20:30:28 +0100

* gnu/local.mk (dist_patch_DATA): Drop wideland patches.
* gnu/packages/games.scm (widelands): Update to 1.1 and drop patches.
[native-inputs]: Add pkg-config.
[inputs]: Add boost::asio.
---
 gnu/local.mk                                  |   2 -
 gnu/packages/games.scm                        |  15 +-
 .../widelands-add-missing-map-include.patch   |  28 ----
 .../widelands-system-wide_minizip.patch       | 141 ------------------
 4 files changed, 6 insertions(+), 180 deletions(-)
 delete mode 100644 gnu/packages/patches/widelands-add-missing-map-include.patch
 delete mode 100644 gnu/packages/patches/widelands-system-wide_minizip.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index dd1d546be5..99f6e03d4e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1993,8 +1993,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/webrtc-audio-processing-big-endian.patch	\
   %D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch   \
   %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch	\
-  %D%/packages/patches/widelands-add-missing-map-include.patch	\
-  %D%/packages/patches/widelands-system-wide_minizip.patch	\
   %D%/packages/patches/wmctrl-64-fix.patch			\
   %D%/packages/patches/wmfire-update-for-new-gdk-versions.patch	\
   %D%/packages/patches/wordnet-CVE-2008-2149.patch			\
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a5783c1d1b..605a23a405 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5355,7 +5355,7 @@ (define-public warzone2100
 (define-public widelands
   (package
     (name "widelands")
-    (version "1.0")
+    (version "1.1")
     (source
      (origin
        (method git-fetch)
@@ -5364,17 +5364,12 @@ (define-public widelands
               (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1hw51binnbia15mj1gzx1cbk3cw9r91sisqci2qzcy4ahxiadnw0"))
+        (base32 "07wbalwdmml9vdh9nh50svnsw4sdj9nnp32azbss8vzq5mxmzvbx"))
        (modules '((guix build utils)))
        (snippet
         '(begin
            (delete-file-recursively "src/third_party/minizip")
-           #t))
-       (patches
-        ;; Use system Minizip.  Patch is provided by Debian, and discussed
-        ;; upstream at <https://github.com/widelands/widelands/issues/399>.
-        (search-patches "widelands-system-wide_minizip.patch"
-                        "widelands-add-missing-map-include.patch"))))
+           #t))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
@@ -5403,9 +5398,11 @@ (define-public widelands
              #t)))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("curl" ,curl)
+     `(("asio" ,asio)
+       ("curl" ,curl)
        ("boost" ,boost)
        ("glew" ,glew)
        ("icu4c" ,icu4c)
diff --git a/gnu/packages/patches/widelands-add-missing-map-include.patch b/gnu/packages/patches/widelands-add-missing-map-include.patch
deleted file mode 100644
index 633731bea2..0000000000
--- a/gnu/packages/patches/widelands-add-missing-map-include.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 316eaea209754368a57f445ea4dd016ecf8eded6 Mon Sep 17 00:00:00 2001
-From: matthiakl <[email-masked]>
-Date: Sat, 14 Aug 2021 19:24:08 +0200
-Subject: [PATCH] Added missing direct incude (#5025)
-
----
-This patch is from
-https://github.com/widelands/widelands/pull/5025
-which has been merged after the release of Widelands 1.0.
-
- src/network/bufferedconnection.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/network/bufferedconnection.h b/src/network/bufferedconnection.h
-index fe974b9e..7e1ecf87 100644
---- a/src/network/bufferedconnection.h
-+++ b/src/network/bufferedconnection.h
-@@ -20,6 +20,7 @@
- #ifndef WL_NETWORK_BUFFEREDCONNECTION_H
- #define WL_NETWORK_BUFFEREDCONNECTION_H
- 
-+#include <map>
- #include <memory>
- #include <mutex>
- #include <thread>
--- 
-2.30.2
-
diff --git a/gnu/packages/patches/widelands-system-wide_minizip.patch b/gnu/packages/patches/widelands-system-wide_minizip.patch
deleted file mode 100644
index b59fed7531..0000000000
--- a/gnu/packages/patches/widelands-system-wide_minizip.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-Description: use the system-wide minizip instead of the embeeded one if found.
-Forwarded-Upstream: It was provided by upstream: http://bazaar.launchpad.net/~widelands-dev/widelands/b19-debian/revision/8147
- .
- Thanks to Fòram na Gàidhlig for the patch.
-
-=== modified file 'CMakeLists.txt'
----
- CMakeLists.txt                     |  1 +
- cmake/Modules/FindMinizip.cmake    | 37 +++++++++++++++++++++++++++++++++++++
- cmake/WlFunctions.cmake            |  8 ++++++++
- src/io/filesystem/CMakeLists.txt   |  2 +-
- src/io/filesystem/zip_filesystem.h |  6 ++++++
- src/third_party/CMakeLists.txt     | 20 +++++++++++---------
- 6 files changed, 64 insertions(+), 10 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -142,6 +142,7 @@
- find_package(SDL2_mixer REQUIRED)
- find_package(SDL2_ttf REQUIRED)
- find_package(ZLIB REQUIRED)
-+find_package(Minizip)
- if(${CMAKE_VERSION} VERSION_LESS 3.9.0)
-     find_package(ICU_old REQUIRED)
- else()
---- /dev/null
-+++ b/cmake/Modules/FindMinizip.cmake
-@@ -0,0 +1,37 @@
-+# - Try to find Minizip
-+# Once done this will define
-+#  
-+#  MINIZIP_FOUND        - system has MINIZIP
-+#  MINIZIP_INCLUDE_DIR  - the MINIZIP include directory
-+#  MINIZIP_LIBRARY_DIR  - where the libraries are
-+#  MINIZIP_LIBRARY      - Link these to use MINIZIP
-+#   
-+
-+IF (MINIZIP_INCLUDE_DIR)
-+  # Already in cache, be silent
-+  SET(MINIZIP_FIND_QUIETLY TRUE)
-+ENDIF (MINIZIP_INCLUDE_DIR)
-+
-+FIND_PATH( MINIZIP_INCLUDE_DIR 
-+	  NAMES zip.h unzip.h ioapi.h
-+	  PATHS /usr/local/include /usr/include
-+	  PATH_SUFFIXES minizip/ )
-+SET( MINIZIP_NAMES minizip MINIZIP )
-+FIND_LIBRARY( MINIZIP_LIBRARY
-+	      NAMES ${MINIZIP_NAMES}
-+	      PATHS /usr/lib /usr/local/lib )
-+
-+GET_FILENAME_COMPONENT( MINIZIP_LIBRARY_DIR ${MINIZIP_LIBRARY} PATH )
-+
-+IF (MINIZIP_INCLUDE_DIR AND MINIZIP_LIBRARY)
-+   SET(MINIZIP_FOUND TRUE)
-+   SET(MINIZIP_LIBRARY_DIR ${MINIZIP_LIBRARY} )
-+   IF (NOT MINIZIP_FIND_QUIETLY)
-+     MESSAGE (STATUS "Found Minizip: ${MINIZIP_LIBRARY} ${MINIZIP_INCLUDE_DIR}")
-+   ENDIF (NOT MINIZIP_FIND_QUIETLY)
-+ELSE (MINIZIP_INCLUDE_DIR AND MINIZIP_LIBRARY)
-+   SET( MINIZIP_FOUND FALSE )
-+   SET( MINIZIP_LIBRARY_DIR )
-+   SET( MINIZIP_EXTRA_DEFINITIONS )
-+ENDIF (MINIZIP_INCLUDE_DIR AND MINIZIP_LIBRARY)
-+
---- a/cmake/WlFunctions.cmake
-+++ b/cmake/WlFunctions.cmake
-@@ -84,6 +84,14 @@
- 
-   if(ARG_USES_ZLIB)
-     target_link_libraries(${NAME} ZLIB::ZLIB)
-+    if (MINIZIP_FOUND)
-+      wl_include_system_directories(${NAME}  ${MINIZIP_INCLUDE_DIR})
-+      target_link_libraries(${NAME}  ${MINIZIP_LIBRARY})
-+      target_compile_definitions(${NAME} PUBLIC -DHAVE_SYSTEM_MINIZIP)
-+    else(MINIZIP_FOUND)
-+      target_link_libraries(${NAME}  third_party_minizip)
-+      message(FATAL_ERROR "You are using widelands-bundled minizip sources. Please install your distribution's minizip dev library or urge your distribution maintainer to include the minizip library in your package repository. Thank you.")
-+    endif(MINIZIP_FOUND)
-   endif()
- 
-   # OpenGL and GLEW are one thing for us. If you use the one, you also use the
---- a/src/third_party/CMakeLists.txt
-+++ b/src/third_party/CMakeLists.txt
-@@ -1,12 +1,14 @@
--wl_library(third_party_minizip
--  THIRD_PARTY
--  SRCS
--    minizip/ioapi.h
--    minizip/unzip.cc
--    minizip/unzip.h
--    minizip/zip.h
--  USES_ZLIB
--)
-+if(NOT MINIZIP_FOUND)
-+  wl_library(third_party_minizip
-+    THIRD_PARTY
-+    SRCS
-+      ioapi.h
-+      unzip.cc
-+      unzip.h
-+      zip.h
-+    USES_ZLIB
-+  )
-+endif(NOT MINIZIP_FOUND)
- 
- wl_library(third_party_eris
-   THIRD_PARTY
---- a/src/io/filesystem/CMakeLists.txt
-+++ b/src/io/filesystem/CMakeLists.txt
-@@ -12,6 +12,7 @@
-     zip_exceptions.h
-     zip_filesystem.cc
-     zip_filesystem.h
-+  USES_ZLIB
-   DEPENDS
-     base_exceptions
-     base_i18n
-@@ -19,5 +20,4 @@
-     base_macros
-     graphic_text_layout
-     io_stream
--    third_party_minizip
- )
---- a/src/io/filesystem/zip_filesystem.h
-+++ b/src/io/filesystem/zip_filesystem.h
-@@ -25,8 +25,14 @@
- #include "io/filesystem/filesystem.h"
- #include "io/streamread.h"
- #include "io/streamwrite.h"
-+
-+#ifndef HAVE_SYSTEM_MINIZIP
- #include "third_party/minizip/unzip.h"
- #include "third_party/minizip/zip.h"
-+#else
-+#include <minizip/unzip.h>
-+#include <minizip/zip.h>
-+#endif
- 
- class ZipFilesystem : public FileSystem {
- public:
-- 
2.39.1