From: Parnikkapore via Guix-patches via <guix-patches@gnu.org>
To: 74336@debbugs.gnu.org
Cc: Parnikkapore <poomklao@yahoo.com>,
"Liliana Marie Prikler" <liliana.prikler@gmail.com>,
"Adam Faiz" <adam.faiz@disroot.org>, å®ææ¦ <iyzsong@envs.net>
Subject: [bug#74336] [PATCH v3] gnu: minetest: Update to 5.10.0.
Date: Sun, 17 Nov 2024 13:41:27 +0800 [thread overview]
Message-ID: <bf6a9bca38260aae208a5f384832bbc0ba3cc37c.1731821780.git.poomklao@yahoo.com> (raw)
In-Reply-To: <f5997e8e14f7d9232f804c785e8157e83073dc5e.1731493615.git.poomklao@yahoo.com>
* gnu/packages/minetest.scm (minetest): Update to 5.10.0.
[source] <snippet>: Fix unbundling and unbundle catch2.
[arguments] <#:configure-flags>: Remove redundant flags.
[arguments] <#:phases>: Remove all patches no longer applicable.
[inputs]: Add catch2@3. Remove coreutils and libxxf86vm.
Change-Id: If8720bb51309d7c251e76a1885695851f3a03255
---
This patch performs additional devendoring, adds another test run by upstream's CI, and
cleans up a few more things. Thanks Liliana for the tip about scandir!
> Uhm… why does the build install to ../source? D:
The upstream build system does that, even when compiled normally. The original package
definition also used the in-tree copy, so I kept it that way.
gnu/packages/minetest.scm | 79 ++++++++++++++++-----------------------
1 file changed, 33 insertions(+), 46 deletions(-)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 2552596ef8..3c184028ce 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -28,6 +28,7 @@ (define-module (gnu packages minetest)
#: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-module (gnu packages minetest)
(define-public minetest
(package
(name "minetest")
- (version "5.9.0")
+ (version "5.10.0")
(source
(origin
(method git-fetch)
@@ -63,56 +64,39 @@ (define-public minetest
(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 ((libs-to-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 <> libs-to-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 @@ (define-public minetest
;; 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")
@@ -129,8 +116,8 @@ (define-public minetest
(variable "MINETEST_MOD_PATH")
(files '("share/minetest/mods")))))
(native-inputs (list pkg-config))
- (inputs (list coreutils
- curl
+ (inputs (list curl
+ catch2-3
freetype
gettext-minimal
gmp
@@ -139,7 +126,6 @@ (define-public minetest
libpng
libogg
libvorbis
- libxxf86vm
libxi
luajit
mesa
@@ -147,6 +133,7 @@ (define-public minetest
openal
sqlite
`(,zstd "lib")))
+ (outputs '("out" "debug"))
(synopsis "Voxel game engine")
(description
"Minetest is a voxel game engine that supports modding and game creation
base-commit: 0e1ffbc7f5f060f89c890472377a6102f27f6e9b
--
2.46.0
next prev parent reply other threads:[~2024-11-17 5:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <f5997e8e14f7d9232f804c785e8157e83073dc5e.1731493615.git.poomklao.ref@yahoo.com>
2024-11-13 10:33 ` [bug#74336] [PATCH] gnu: minetest: Update to 5.10.0 Parnikkapore via Guix-patches via
2024-11-13 12:05 ` Parnikkapore via Guix-patches via
2024-11-15 18:10 ` Liliana Marie Prikler
2024-11-17 5:41 ` Parnikkapore via Guix-patches via [this message]
2024-11-17 6:39 ` [bug#74336] [PATCH v3] " Poomklao T via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bf6a9bca38260aae208a5f384832bbc0ba3cc37c.1731821780.git.poomklao@yahoo.com \
--to=guix-patches@gnu.org \
--cc=74336@debbugs.gnu.org \
--cc=adam.faiz@disroot.org \
--cc=iyzsong@envs.net \
--cc=liliana.prikler@gmail.com \
--cc=poomklao@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).