gnu: minetest: Update to 5.5.1.
* gnu/local.mk (dist_patch_DATA): Remove minetest-add-MINETEST_MOD_PATH.patch. * gnu/packages/minetest.scm (minetest): Update to 5.5.1. [patches]: Don’t use the patch anymore. [#:configure-flags]: Point cmake to irrlicht-for-minetest and zstd. [inputs]: Use irrlicht-for-minetest instead of irrlicht, and add zstd. (minetest-data): Update hash. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
parent
5729e45160
commit
3695a8d32e
3 changed files with 16 additions and 168 deletions
|
|
@ -1490,7 +1490,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \
|
%D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \
|
||||||
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
||||||
%D%/packages/patches/mia-fix-boost-headers.patch \
|
%D%/packages/patches/mia-fix-boost-headers.patch \
|
||||||
%D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch \
|
|
||||||
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
|
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
|
||||||
%D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
|
%D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
|
||||||
%D%/packages/patches/mingw-w64-reproducible-gendef.patch \
|
%D%/packages/patches/mingw-w64-reproducible-gendef.patch \
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages audio)
|
#:use-module (gnu packages audio)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
#:use-module (gnu packages fontutils)
|
#:use-module (gnu packages fontutils)
|
||||||
#:use-module (gnu packages games)
|
#:use-module (gnu packages games)
|
||||||
|
|
@ -51,7 +52,7 @@
|
||||||
(define-public minetest
|
(define-public minetest
|
||||||
(package
|
(package
|
||||||
(name "minetest")
|
(name "minetest")
|
||||||
(version "5.4.1")
|
(version "5.5.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
|
@ -60,11 +61,8 @@
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
|
"042v71gkk0xfixcsn82az2fri0n28fgf9d2zcz31bijqmg5q7imj"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(patches
|
|
||||||
(search-patches
|
|
||||||
"minetest-add-MINETEST_MOD_PATH.patch"))
|
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
;; Delete bundled libraries.
|
;; Delete bundled libraries.
|
||||||
|
|
@ -77,12 +75,18 @@
|
||||||
"-DENABLE_FREETYPE=1"
|
"-DENABLE_FREETYPE=1"
|
||||||
"-DENABLE_GETTEXT=1"
|
"-DENABLE_GETTEXT=1"
|
||||||
"-DENABLE_SYSTEM_JSONCPP=TRUE"
|
"-DENABLE_SYSTEM_JSONCPP=TRUE"
|
||||||
(string-append "-DIRRLICHT_INCLUDE_DIR="
|
(string-append "-DIRRLICHTMT_INCLUDE_DIR="
|
||||||
(assoc-ref %build-inputs "irrlicht")
|
(assoc-ref %build-inputs "irrlicht-for-minetest")
|
||||||
"/include/irrlicht")
|
"/include/irrlicht")
|
||||||
(string-append "-DCURL_INCLUDE_DIR="
|
(string-append "-DCURL_INCLUDE_DIR="
|
||||||
(assoc-ref %build-inputs "curl")
|
(assoc-ref %build-inputs "curl")
|
||||||
"/include/curl"))
|
"/include/curl")
|
||||||
|
(string-append "-DZSTD_INCLUDE_DIR="
|
||||||
|
(assoc-ref %build-inputs "zstd")
|
||||||
|
"/include/zstd")
|
||||||
|
(string-append "-DZSTD_LIBRARY="
|
||||||
|
(assoc-ref %build-inputs "zstd")
|
||||||
|
"/lib/libzstd.so"))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-sources
|
(add-after 'unpack 'patch-sources
|
||||||
|
|
@ -123,7 +127,7 @@
|
||||||
("freetype" ,freetype)
|
("freetype" ,freetype)
|
||||||
("gettext" ,gettext-minimal)
|
("gettext" ,gettext-minimal)
|
||||||
("gmp" ,gmp)
|
("gmp" ,gmp)
|
||||||
("irrlicht" ,irrlicht)
|
("irrlicht-for-minetest" ,irrlicht-for-minetest)
|
||||||
("jsoncpp" ,jsoncpp)
|
("jsoncpp" ,jsoncpp)
|
||||||
("libjpeg" ,libjpeg-turbo)
|
("libjpeg" ,libjpeg-turbo)
|
||||||
("libpng" ,libpng)
|
("libpng" ,libpng)
|
||||||
|
|
@ -134,7 +138,8 @@
|
||||||
("mesa" ,mesa)
|
("mesa" ,mesa)
|
||||||
("ncurses" ,ncurses)
|
("ncurses" ,ncurses)
|
||||||
("openal" ,openal)
|
("openal" ,openal)
|
||||||
("sqlite" ,sqlite)))
|
("sqlite" ,sqlite)
|
||||||
|
("zstd" ,zstd "lib")))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list minetest-data))
|
(list minetest-data))
|
||||||
(synopsis "Infinite-world block sandbox game")
|
(synopsis "Infinite-world block sandbox game")
|
||||||
|
|
@ -159,7 +164,7 @@ in different ways.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
|
"12cpaiww148szvnrc8r8cffwvl33smnrl7k29sh401yv0pbqi3j8"))))
|
||||||
(build-system trivial-build-system)
|
(build-system trivial-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("source" ,source)))
|
`(("source" ,source)))
|
||||||
|
|
|
||||||
|
|
@ -1,156 +0,0 @@
|
||||||
From d10ea2ad7efc2364a8a2007b4c6d3e85511e2f84 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Maxime Devos <maximedevos@telenet.be>
|
|
||||||
Date: Tue, 3 Aug 2021 01:00:23 +0200
|
|
||||||
Subject: [PATCH] Add environment variable MINETEST_MOD_PATH
|
|
||||||
|
|
||||||
This adds an environment variable MINETEST_MOD_PATH.
|
|
||||||
When it exists, Minetest will look there for mods
|
|
||||||
in addition to ~/.minetest/mods/. Mods can still be
|
|
||||||
installed to ~/.minetest/mods/ with the built-in installer.
|
|
||||||
|
|
||||||
With thanks to Liliana Marie Prikler.
|
|
||||||
---
|
|
||||||
builtin/mainmenu/pkgmgr.lua | 7 +++----
|
|
||||||
doc/menu_lua_api.txt | 8 +++++++-
|
|
||||||
src/content/subgames.cpp | 11 +++++++++++
|
|
||||||
src/script/lua_api/l_mainmenu.cpp | 23 +++++++++++++++++++++++
|
|
||||||
src/script/lua_api/l_mainmenu.h | 2 ++
|
|
||||||
5 files changed, 46 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua
|
|
||||||
index 787936e31..d8fba0ebe 100644
|
|
||||||
--- a/builtin/mainmenu/pkgmgr.lua
|
|
||||||
+++ b/builtin/mainmenu/pkgmgr.lua
|
|
||||||
@@ -682,10 +682,9 @@ function pkgmgr.preparemodlist(data)
|
|
||||||
local game_mods = {}
|
|
||||||
|
|
||||||
--read global mods
|
|
||||||
- local modpath = core.get_modpath()
|
|
||||||
-
|
|
||||||
- if modpath ~= nil and
|
|
||||||
- modpath ~= "" then
|
|
||||||
+ local modpaths = core.get_modpaths()
|
|
||||||
+ --XXX what was ‘modpath ~= ""’ and ‘modpath ~= nil’ for?
|
|
||||||
+ for _,modpath in ipairs(modpaths) do
|
|
||||||
get_mods(modpath,global_mods)
|
|
||||||
end
|
|
||||||
|
|
||||||
diff --git a/doc/menu_lua_api.txt b/doc/menu_lua_api.txt
|
|
||||||
index b3975bc1d..132444b14 100644
|
|
||||||
--- a/doc/menu_lua_api.txt
|
|
||||||
+++ b/doc/menu_lua_api.txt
|
|
||||||
@@ -218,7 +218,13 @@ Package - content which is downloadable from the content db, may or may not be i
|
|
||||||
* returns path to global user data,
|
|
||||||
the directory that contains user-provided mods, worlds, games, and texture packs.
|
|
||||||
* core.get_modpath() (possible in async calls)
|
|
||||||
- * returns path to global modpath
|
|
||||||
+ * returns path to global modpath, where mods can be installed
|
|
||||||
+* core.get_modpaths() (possible in async calls)
|
|
||||||
+ * returns list of paths to global modpaths, where mods have been installed
|
|
||||||
+
|
|
||||||
+ The difference with "core.get_modpath" is that no mods should be installed in these
|
|
||||||
+ directories by Minetest -- they might be read-only.
|
|
||||||
+
|
|
||||||
* core.get_clientmodpath() (possible in async calls)
|
|
||||||
* returns path to global client-side modpath
|
|
||||||
* core.get_gamepath() (possible in async calls)
|
|
||||||
diff --git a/src/content/subgames.cpp b/src/content/subgames.cpp
|
|
||||||
index e9dc609b0..d73f95a1f 100644
|
|
||||||
--- a/src/content/subgames.cpp
|
|
||||||
+++ b/src/content/subgames.cpp
|
|
||||||
@@ -61,6 +61,12 @@ std::string getSubgamePathEnv()
|
|
||||||
return subgame_path ? std::string(subgame_path) : "";
|
|
||||||
}
|
|
||||||
|
|
||||||
+std::string getModPathEnv()
|
|
||||||
+{
|
|
||||||
+ char *mod_path = getenv("MINETEST_MOD_PATH");
|
|
||||||
+ return mod_path ? std::string(mod_path) : "";
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
SubgameSpec findSubgame(const std::string &id)
|
|
||||||
{
|
|
||||||
if (id.empty())
|
|
||||||
@@ -110,6 +116,11 @@ SubgameSpec findSubgame(const std::string &id)
|
|
||||||
std::set<std::string> mods_paths;
|
|
||||||
if (!user_game)
|
|
||||||
mods_paths.insert(share + DIR_DELIM + "mods");
|
|
||||||
+
|
|
||||||
+ Strfnd mod_search_paths(getModPathEnv());
|
|
||||||
+ while (!mod_search_paths.at_end())
|
|
||||||
+ mods_paths.insert(mod_search_paths.next(PATH_DELIM));
|
|
||||||
+
|
|
||||||
if (user != share || user_game)
|
|
||||||
mods_paths.insert(user + DIR_DELIM + "mods");
|
|
||||||
|
|
||||||
diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp
|
|
||||||
index 3e9709bde..903ac3a22 100644
|
|
||||||
--- a/src/script/lua_api/l_mainmenu.cpp
|
|
||||||
+++ b/src/script/lua_api/l_mainmenu.cpp
|
|
||||||
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
#include "lua_api/l_internal.h"
|
|
||||||
#include "common/c_content.h"
|
|
||||||
#include "cpp_api/s_async.h"
|
|
||||||
+#include "util/strfnd.h"
|
|
||||||
#include "gui/guiEngine.h"
|
|
||||||
#include "gui/guiMainMenu.h"
|
|
||||||
#include "gui/guiKeyChangeMenu.h"
|
|
||||||
@@ -502,6 +503,26 @@ int ModApiMainMenu::l_get_modpath(lua_State *L)
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/******************************************************************************/
|
|
||||||
+int ModApiMainMenu::l_get_modpaths(lua_State *L)
|
|
||||||
+{
|
|
||||||
+ const char *c_modpath = getenv("MINETEST_MOD_PATH");
|
|
||||||
+ if (c_modpath == NULL)
|
|
||||||
+ c_modpath = "";
|
|
||||||
+ int index = 1;
|
|
||||||
+ lua_newtable(L);
|
|
||||||
+ Strfnd mod_search_paths{std::string(c_modpath)};
|
|
||||||
+ while (!mod_search_paths.at_end()) {
|
|
||||||
+ std::string component = mod_search_paths.next(PATH_DELIM);
|
|
||||||
+ lua_pushstring(L, component.c_str());
|
|
||||||
+ lua_rawseti(L, -2, index);
|
|
||||||
+ index++;
|
|
||||||
+ }
|
|
||||||
+ ModApiMainMenu::l_get_modpath(L);
|
|
||||||
+ lua_rawseti(L, -2, index);
|
|
||||||
+ return 1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/******************************************************************************/
|
|
||||||
int ModApiMainMenu::l_get_clientmodpath(lua_State *L)
|
|
||||||
{
|
|
||||||
@@ -949,6 +970,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
|
|
||||||
API_FCT(get_mapgen_names);
|
|
||||||
API_FCT(get_user_path);
|
|
||||||
API_FCT(get_modpath);
|
|
||||||
+ API_FCT(get_modpaths);
|
|
||||||
API_FCT(get_clientmodpath);
|
|
||||||
API_FCT(get_gamepath);
|
|
||||||
API_FCT(get_texturepath);
|
|
||||||
@@ -983,6 +1005,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top)
|
|
||||||
API_FCT(get_mapgen_names);
|
|
||||||
API_FCT(get_user_path);
|
|
||||||
API_FCT(get_modpath);
|
|
||||||
+ API_FCT(get_modpaths);
|
|
||||||
API_FCT(get_clientmodpath);
|
|
||||||
API_FCT(get_gamepath);
|
|
||||||
API_FCT(get_texturepath);
|
|
||||||
diff --git a/src/script/lua_api/l_mainmenu.h b/src/script/lua_api/l_mainmenu.h
|
|
||||||
index 33ac9e721..a6a54a2cb 100644
|
|
||||||
--- a/src/script/lua_api/l_mainmenu.h
|
|
||||||
+++ b/src/script/lua_api/l_mainmenu.h
|
|
||||||
@@ -112,6 +112,8 @@ class ModApiMainMenu: public ModApiBase
|
|
||||||
|
|
||||||
static int l_get_modpath(lua_State *L);
|
|
||||||
|
|
||||||
+ static int l_get_modpaths(lua_State *L);
|
|
||||||
+
|
|
||||||
static int l_get_clientmodpath(lua_State *L);
|
|
||||||
|
|
||||||
static int l_get_gamepath(lua_State *L);
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
||||||
Reference in a new issue