Subject: [bug#70006] [PATCH] gnu: wesnoth: Update to 1.18.0.

From: [email-masked]
Date: Tue, 26 Mar 2024 21:50:38 +0800

From: 宋文武 <[email-masked]>

* gnu/packages/games.scm (wesnoth): Update to 1.18.0.
[arguments]: Pass "-DENABLE_SYSTEM_LUA=ON" to 'configure-flags'.  Add phases.
[inputs]: Remove fribidi, sdl-union, sdl2-ttf.  Add curl, lua-5.4.
[native-inputs]: Add python-minimal.
(wesnoth-server): Update to 1.18.0.
[inputs]: Remove sdl2.  Add lua-5.4.
[native-inputs]: Replace with pkg-config.
[arguments]: Rewrite with 'substitute-keyword-arguments'.

Change-Id: I1ee4237dbbaeeb9d5a93637d740fbf4dba0922d2
---
 gnu/packages/games.scm | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index f150c33e83..5ae22716b1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4613,7 +4613,7 @@ (define-public gnujump
 (define-public wesnoth
   (package
     (name "wesnoth")
-    (version "1.16.11")
+    (version "1.18.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -4622,21 +4622,36 @@ (define-public wesnoth
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0z0y2il4xq8fdj20fwfggpf6286hb099jh1kdywap9rlrybq142d"))))
+                "0ar0zkyl4rzqgambmdqhklscx478liql1k458ax64bp4xw441kfc"))))
     (build-system cmake-build-system)
     (arguments
-     (list #:tests? #f)) ;no test target
+     (list #:tests? #f                  ;no test target
+           #:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'configure 'pre-configure
+                 (lambda _
+                   ;; XXX: Our Lua doesn't have a C++ library, force C linkage.
+                   (substitute* '("src/lua/wrapper_lua.h"
+                                  "src/lua/wrapper_lualib.h"
+                                  "src/lua/wrapper_lauxlib.h")
+                     (("#include \"(lua|lualib|lauxlib)\\.h\"")
+                      "#include \"lua.hpp\"")))))))
     (inputs
      (list boost
+           curl
            dbus
-           fribidi
            libvorbis
+           lua-5.4
            openssl
            pango
-           (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))
+           sdl2
+           sdl2-image
+           sdl2-mixer))
     (native-inputs
      (list gettext-minimal
-           pkg-config))
+           pkg-config
+           python-minimal))
     (home-page "https://www.wesnoth.org/")
     (synopsis "Turn-based strategy game")
     (description
@@ -4655,10 +4670,13 @@ (define-public wesnoth-server
     (inherit wesnoth)
     (name "wesnoth-server")
     (inputs
-     (list boost icu4c openssl sdl2))
+     (list boost icu4c lua-5.4 openssl))
+    (native-inputs
+     (list pkg-config))
     (arguments
-     `(#:configure-flags '("-DENABLE_GAME=OFF")
-       ,@(package-arguments wesnoth)))
+     (substitute-keyword-arguments (package-arguments wesnoth)
+       ((#:configure-flags _)
+        #~'("-DENABLE_SYSTEM_LUA=ON" "-DENABLE_GAME=OFF"))))
     (synopsis "Dedicated @emph{Battle for Wesnoth} server")
     (description "This package contains a dedicated server for @emph{The
 Battle for Wesnoth}.")))

base-commit: 7dfb3155fc4dd37bea93a8704c37e4aff87e5013
-- 
2.41.0