guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/04: gnu: minetest: Update to 5.10.0.


From: guix-commits
Subject: 04/04: gnu: minetest: Update to 5.10.0.
Date: Sun, 24 Nov 2024 09:09:24 -0500 (EST)

lilyp pushed a commit to branch master
in repository guix.

commit 79510f5e6295342f864d21b38869d215ac99a213
Author: Parnikkapore <poomklao@yahoo.com>
AuthorDate: Sun Nov 17 13:41:27 2024 +0800

    gnu: minetest: Update to 5.10.0.
    
    * gnu/packages/minetest.scm (minetest): Update to 5.10.0.
    [source] <snippet>: Fix unbundling and unbundle catch2.
    [arguments] <#:configure-flags>: Remove redundant flags.
    <#:phases>: Remove all patches no longer applicable.
    [native-inputs]: Add catch2-3.
    [inputs]: Remove coreutils and libxxf86vm.
    
    Change-Id: If8720bb51309d7c251e76a1885695851f3a03255
    Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
---
 gnu/packages/minetest.scm | 80 +++++++++++++++++++----------------------------
 1 file changed, 33 insertions(+), 47 deletions(-)

diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 2552596ef8..069de688ef 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages fontutils)
@@ -54,7 +55,7 @@
 (define-public minetest
   (package
     (name "minetest")
-    (version "5.9.0")
+    (version "5.10.0")
     (source
      (origin
        (method git-fetch)
@@ -63,56 +64,39 @@
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1h4yn4k0wpjr1h24aiqcnc9xsxgxj4bq757pla2pa9zmh2xf45kk"))
-       (modules '((guix build utils)))
-       ;; Delete bundled libraries, keep lib/sha256 because there's no good
-       ;; upstream, see:
-       ;; https://github.com/openssl/openssl/blob/master/crypto/sha/sha512.c
-       ;; "SHA512 low level APIs are deprecated for public use,
-       ;; but still ok for internal use." Also asked MT devs on IRC for this.
+        (base32 "1nsnsf1axiazb8zz51c0742kh0qx2b298pr5mr91m0l9r6dv1sdj"))
+       (modules '((guix build utils)
+                  (srfi srfi-26)
+                  (ice-9 ftw)))
+       ;; Delete bundled libraries.
+       ;; - Keep lib/sha256 because there's no good upstream, see:
+       ;;   https://github.com/openssl/openssl/blob/master/crypto/sha/sha512.c
+       ;;   "SHA512 low level APIs are deprecated for public use,
+       ;;   but still ok for internal use." Also asked MT devs on IRC for this.
+       ;; - tiniergltf is intended for Minetest and diverged from upstream.
        (snippet
-        '(begin
+        '(let ((keep '("." ".." "sha256" "tiniergltf")))
            (with-directory-excursion "lib"
-             (for-each (lambda (file)
-                         (if (not (string=? file "sha256"))
-                             (delete-file-recursively file)))
-                       (find-files (string-append "lib") #:directories? #t)))
-           #t))))
+             (for-each delete-file-recursively
+                       (scandir "." (negate (cut member <> keep)))))
+           ;; IrrlichtMT includes
+           (delete-file-recursively "irr/include/KHR")
+           (delete-file-recursively "irr/src/vendor")
+           (substitute* "irr/src/COpenGLCommon.h"
+             (("\"vendor/gl.h\"") "<GL/gl.h>"))
+           ;; Catch2
+           (substitute* "CMakeLists.txt"
+             (("add_subdirectory\\(lib/catch2\\)") "find_package(Catch2 3 
REQUIRED)"))
+           (substitute* "src/catch.h"
+             (("catch_amalgamated.hpp") "catch2/catch_all.hpp"))))))
     (build-system cmake-build-system)
     (arguments
      (list
       #:configure-flags
       #~(list "-DENABLE_LTO=ON"
-              "-DENABLE_UPDATE_CHECKER=FALSE"
-              (string-append "-DCURL_INCLUDE_DIR="
-                             (search-input-directory
-                              %build-inputs "include/curl"))
-              (string-append "-DZSTD_INCLUDE_DIR="
-                             (dirname (search-input-file
-                                       %build-inputs
-                                       "include/zstd.h")))
-              (string-append "-DZSTD_LIBRARY="
-                             (search-input-file
-                              %build-inputs "lib/libzstd.so")))
+              "-DENABLE_UPDATE_CHECKER=FALSE")
       #:phases
       #~(modify-phases %standard-phases
-          (add-after 'unpack 'patch-sources
-            (lambda* (#:key inputs #:allow-other-keys)
-              (substitute* "src/filesys.cpp"
-                ;; Use store-path for "rm" instead of non-existing FHS path.
-                (("\"/bin/rm\"")
-                 (format #f "~s"
-                         (search-input-file inputs "bin/rm"))))
-              (substitute* "src/CMakeLists.txt"
-                ;; Let minetest binary remain in build directory.
-                (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)")
-                 ""))
-              (substitute* "src/unittest/test_servermodmanager.cpp"
-                ;; do no override MINETEST_GAME_PATH
-                (("(un)?setenv\\(\"MINETEST_GAME_PATH\".*\\);")
-                 "(void)0;"))
-              (setenv "MINETEST_GAME_PATH" ;for check
-                      (string-append (getcwd) "/games"))))
           (delete 'check)
           (add-after 'install 'check
             (lambda* (#:key tests? #:allow-other-keys)
@@ -120,7 +104,10 @@
               ;; when invoked on the target outside of `guix build'.
               (when tests?
                 (setenv "HOME" "/tmp")
-                (invoke "src/minetest" "--run-unittests")))))))
+                (setenv "MINETEST_GAME_PATH"
+                        (string-append (getcwd) "/../source/games"))
+                (invoke "../source/bin/luanti" "--run-unittests")
+                (invoke "../source/util/test_multiplayer.sh")))))))
     (native-search-paths
      (list (search-path-specification
             (variable "MINETEST_GAME_PATH")
@@ -128,9 +115,8 @@
            (search-path-specification
             (variable "MINETEST_MOD_PATH")
             (files '("share/minetest/mods")))))
-    (native-inputs (list pkg-config))
-    (inputs (list coreutils
-                  curl
+    (native-inputs (list catch2-3 pkg-config))
+    (inputs (list curl
                   freetype
                   gettext-minimal
                   gmp
@@ -139,7 +125,6 @@
                   libpng
                   libogg
                   libvorbis
-                  libxxf86vm
                   libxi
                   luajit
                   mesa
@@ -147,6 +132,7 @@
                   openal
                   sqlite
                   `(,zstd "lib")))
+    (outputs '("out" "debug"))
     (synopsis "Voxel game engine")
     (description
      "Minetest is a voxel game engine that supports modding and game creation



reply via email to

[Prev in Thread] Current Thread [Next in Thread]