guix-devel
[Top][All Lists]
Advanced

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

Re: Updating minetest to 5.6.0?


From: Jan Wielkiewicz
Subject: Re: Updating minetest to 5.6.0?
Date: Sat, 17 Sep 2022 02:10:47 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0



On 16.09.2022 20:18, Maxime Devos wrote:
How about modifying minetest-exile's phases to add a symlink in
#$output /share/minetest/games/exile/mods/naturalslopeslib
pointing to #$(this-package-input "minetest-naturalslopeslib")?

(I don't know how to do that with copy-build-system though, does that build system support phases? I was thinking of a post-install phase or a post-unpack)

(Also I don't know if Minetest allows symlinks inside mods)

That way:

   * it doesn't have to be propagated (so naturalslopeslib only appears
     in the (non-game) mod if the user actually asked to install the Guix
     package, and not as a consequence of installing something else

   * by using a symlink instead of a copy, a little space, network IO,
     disk IO and build time is saved, e.g. when the user installs both
     minetest-exile and minetest-naturalslopeslib


Done. See the patches (I can't really find "git send-email" on Guix for some odd reason). The hacks in the Exile package are quite ugly, but I don't know a better way, see below.

I think it would be feasible to write a 'minetest-game-build-system' to mostly automatically do such things, but currently such a thing does not exist yet.

Minetest has a pretty ugly way of managing dependencies, actually it doesn't manage them at all. So it's either up to (sub)game developers to bundle everything into their games or up to users to download all the dependencies they want. In the future the game will download dependencies automatically which is even worse from our perspective. I could possibly try hacking the build system to do something but I'm unfamiliar with Guix's guts.


Greetings,
Maxime.


Jan Wielkiewicz



reply via email to

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