From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id /KORK5RfxF7yTgAA0tVLHw (envelope-from ) for ; Tue, 19 May 2020 22:37:08 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id GH28JpRfxF5/dQAAbx9fmQ (envelope-from ) for ; Tue, 19 May 2020 22:37:08 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6A0EA9402D1 for ; Tue, 19 May 2020 22:37:08 +0000 (UTC) Received: from localhost ([::1]:34638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbArD-000201-Bl for larch@yhetil.org; Tue, 19 May 2020 18:37:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45742) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbAr1-0001zT-VX for guix-devel@gnu.org; Tue, 19 May 2020 18:36:55 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:41335) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbAqz-0003qB-RL for guix-devel@gnu.org; Tue, 19 May 2020 18:36:55 -0400 Received: from nijino.local (194-96-185-81.hdsl.highway.telekom.at [194.96.185.81]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 49RW2j1TGfz1LLyb; Wed, 20 May 2020 00:36:44 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 49RW2j1TGfz1LLyb DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1589927805; bh=StEk5lNXf+x98r97pBmMIfXOK5ch40jExWF+u3uNpdU=; h=Subject:From:To:Cc:Date:In-Reply-To:From; b=I2evXj8ZCSjJUfRQAD+1tAgIGfKFETWJlMWf0sj4qDmj+4HKtBhmz1x7B5VpCQjdl YVC2jSerf1F1g39MgCleFuxz5njivNSbK30/Ia2E26cp8N2TvA60GfKjFpBB/SIDq1 smvAiVZoZr1W9IGQeMUUigm+aeYzJ4X3QrOhfCCo= Message-ID: Subject: The problem of packaging Minetest mods/games From: Leo Prikler To: tona_kosmicznego_smiecia@interia.pl Date: Wed, 20 May 2020 00:36:44 +0200 In-Reply-To: 20200519230549.16a299b5@kompiuter Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 Received-SPF: pass client-ip=129.27.2.202; envelope-from=leo.prikler@student.tugraz.at; helo=mailrelay.tugraz.at X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/19 18:36:47 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=tugraz.at header.s=mailrelay header.b=I2evXj8Z; dmarc=pass (policy=none) header.from=student.tugraz.at; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.71 X-TUID: cZHvh5WZAoNE Hello Jan, > And this package is in the propagated-inputs fiend of the minetest > package, but it doesn't work. > > I would like to understand why it doesn't work, fix it and learn > something new about Guix by the way :) My guess is, that minetest searches in /gnu/store/-minetest/share/... when the actual path is /gnu/store/-minetest-data/share/... If you just want to get the base game to work, it should probably be okay to add a symlink instead of propagating the input, but this obviously won't work for third party extensions. > My question is, what is the Guix way of dealing with such packages? > Imagine we have like 100 packaged minetest mods/games. Say I wanted > to > add one, would I have to recompile the whole minetest package (C++), > despite the fact all mods are just Lua scripts put into folder and > interpreted by the engine? The canonical Guix way is to look for environment variables to set (usually called STUFF_WERE_LOOKING_FOR_PATH) and add a search path specification for that in the original package. Take gstreamer as an example, for which we define GST_PLUGIN_SYSTEM_PATH. If the game does not yet support such variables (it appears, Minetest does indeed have MINETEST_SUBGAME_PATH, but no MINETEST_MOD_PATH in case you need the latter), consider patching the game itself so that it does. If you're lucky, you can even convince people to accept your patch upstream. If not or if it's really Guix-specific (as in the case of GUIX_GTK3_PATH for example), we'll have to carry around that patch in the Guix tree and keep it updated. > Could we for example place the mods in the ~/.minetest/games folder? That's not very functional of you. In theory, you can put stuff there, but not using Guix. As an example, Stepmania reads all its configuration, data and cache from ~/.stepmania-, so that's of course where I put the data – data, that is already unfit to be managed by Guix due to licensing issues, mind you. In the case of Minetest mods/games, that folder quickly gets stale however, so I'd not suggest doing so unless you really need to. Regards, Leo PS: minetest-data sounds like a good candidate for copy-build-system. PPS: Ignore the older (non-public) mail I sent you mentioning MINETEST_GAME_PATH instead of MINETEST_SUBGAME_PATH. At that point, I had not yet encountered that variable in my research.