From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id EIWPK8BkfWL6TQEAbAwnHQ (envelope-from ) for ; Thu, 12 May 2022 21:49:20 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id sB2UKsBkfWLfUQEAG6o9tA (envelope-from ) for ; Thu, 12 May 2022 21:49:20 +0200 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 3AF1628D13 for ; Thu, 12 May 2022 21:49:20 +0200 (CEST) Received: from localhost ([::1]:48464 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1npEoJ-0004fd-Cp for larch@yhetil.org; Thu, 12 May 2022 15:49:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34044) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1npEP4-0002Ny-St for guix-devel@gnu.org; Thu, 12 May 2022 15:23:15 -0400 Received: from mail-ed1-x542.google.com ([2a00:1450:4864:20::542]:36466) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1npEP3-0007w0-Cc for guix-devel@gnu.org; Thu, 12 May 2022 15:23:14 -0400 Received: by mail-ed1-x542.google.com with SMTP id w24so7444326edx.3 for ; Thu, 12 May 2022 12:23:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=mYDLJPPS0nYLbKjraSPuCk0RiBPYKY+7W3K2Ijsqwcc=; b=lV6bnrx6UjPoGXV2K4M7enMpYxFUZgfLHZmrm4/QAEXpMnX98uvDUq9HhPhJcPP4LD Q3n80xcztHWdAvYYCQ9iLHKJ/ZwNywPdXQ9ZL3yVZfGTUdAhQgtwgY4GKcipf5SsoGF4 SuGxmFebUTSoH3P6IqF/hsbXqOe0QNXL0m8uj0T5KI1GRRSmIkSfd9CIN0NtAz9zU87A Svm3/eW4S6jn3kF+JC+C2upo+M0XMrDBhJ0wYnFCojkn7GJH1JahpER3oIlhchnWe07s iFIGb0+JFcz7GlUWITJZPmVSgAyUjhaGPMoaP2a79eZBd5seDhc/oWl/20Qu93XVEfVz waZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=mYDLJPPS0nYLbKjraSPuCk0RiBPYKY+7W3K2Ijsqwcc=; b=xBx7qQlpT8S1eDofNcIiWb3qS4KT+gI5bZx5dSekO7AZuyN6OaAjaSteXTw1dUHVTT 082bQATy1qrlgdg4XADlML4xsVCcQWTz/PveMK2nnznsoZ70sP/89J+dmgHLWM9OnwVD 0tv4zMjHdrdXA9dpavi4BvMXyP0qSyYVSxrUtEOqVOd5C9iXwwXJb8g887fmWH4qQiCw MtrDAGASNPvKeJbj8aFgO5wZN8SU+obzSP2oHUjqe50XMC4Rbpx7jRIALyrCSYiFUWzq I9SUjWsoRTIInuohE0TMoLwYp4yV/L3mRW/tbw34IS6agNoCiqTHP53UHliuOIJT0pGy DOhQ== X-Gm-Message-State: AOAM530l6fDIQIQviDXGTHqxEbrEoVys6dLLmK83ZC/QGxYNFHQs5xY2 bGNXgWIL9Lq0PVTiepAWNgc= X-Google-Smtp-Source: ABdhPJx8Kiwa1saoJgR/MQyV8NoUdF5dF2G4RFlVK2fr6OChXF+DVz1YaGRZVzD9chlt0rkxSZ1PCQ== X-Received: by 2002:a05:6402:364:b0:425:f88d:7d4a with SMTP id s4-20020a056402036400b00425f88d7d4amr37158199edw.68.1652383391021; Thu, 12 May 2022 12:23:11 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id v21-20020a17090651d500b006f3ef214e15sm47678ejk.123.2022.05.12.12.23.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 May 2022 12:23:10 -0700 (PDT) Message-ID: <1e782602e2e3ebe8f2173a2dff37bb7c294a8134.camel@gmail.com> Subject: Re: Packaging Godot games with Guix From: Liliana Marie Prikler To: Tobias Platen , guix-devel Date: Thu, 12 May 2022 21:23:08 +0200 In-Reply-To: <0337ffe6d7c61049e1c5dc13ad90c037c43470e5.camel@platen-software.de> References: <0337ffe6d7c61049e1c5dc13ad90c037c43470e5.camel@platen-software.de> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::542; envelope-from=liliana.prikler@gmail.com; helo=mail-ed1-x542.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1652384960; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=mYDLJPPS0nYLbKjraSPuCk0RiBPYKY+7W3K2Ijsqwcc=; b=fkiEyn6lieI6KoMqkBxFAr1M450eKC58mzZDOAXbxAV341wdcIRfDKRG1WMqIw9QtOIA6d qDgE1AeCUmRuJNtJR1DyNaS1q1ks+6N9wsGcBu0EBecxoru630RSWw8YOO+L+6/z2c1xRL cbSdyevNnqc0fQXeEFZjlD92wOTUYrvVG5U1Qjd2yGjyI+1NBSg8YqxBRr79y99pq8pq8I vsc6dt7ZXwOntQjYBw19kYTE2YMMJSLpewsHO8kurXGtiOVaxpA4UtP7rsNF29SVdufpPv 3yeJzth2qfyF1AjIDtmmcRWbvRCIAgp3aHt7PQKpUZ+3ERv+O5Ew028UW9ML5A== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1652384960; a=rsa-sha256; cv=none; b=B1zeILGOqb9KJMPIcG6B5TFIfeNMkeBwojy78kU5Q62EgXWxh+z6KchKPrraUU4jSIPRYB /NVHai4uEda3kE7YimstxMxEtdCNOVkCKFxBWoYgMUKj8suf77CDFxRxLrX0zf0hSrgGGf 3K6gACeqvyoh+8VaDpsJVX02x1zO/w/fnx9mNAYjv8BpboKV/bRyMVsmnNy3JPsukYATD8 Z9cORViI64qfeoghiqZTaYgUhrZA8Kiir5RNyI6tVkOZAg4t3Ysg8kIDG5qXonzDb3NvrG vaaWh8/xSYsAcjVIlfV25II/4xdfvx6os1CnGX50Tqgge/7A+pHV2IYFt0aDeQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=lV6bnrx6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -8.62 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=lV6bnrx6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 3AF1628D13 X-Spam-Score: -8.62 X-Migadu-Scanner: scn0.migadu.com X-TUID: m032MzLhC27+ Hi, Am Donnerstag, dem 12.05.2022 um 20:12 +0200 schrieb Tobias Platen: > Hello, > > I tried to package the game BeepSaber for Guix, which does not really > use a build system. Even if you "don't really use a build system", you probably have one. For instance, renpy's build system consists of compiling all sources to its own bytecode, which is done by loading it. I'd like to point out a package using it, but most novels I found are sadly not of the kind that I can share them on a free software mailing list. Nevertheless, rest assured that I tested the existing code on at least one game. > You just git clone the repository containing the game, then import > the game into Godot by clicking import. When I just do cd > /gnu/store/path-to-beepsaber && godot, the Godot engine is unable > to import the media files used by beepsaber. Importing using the > godot editor requires write access to the game directory. Is there a godot CLI that you can invoke to perhaps get a binary or something out of that? If not, you might need to go the hard way of spawning an X framebuffer, launching godot and then clicking through a screen that you can't get see to get a working export. In either case, don't worry about read-only during `guix build' – make-file-writable exists. Alternatively, you could write a wrapper script, that unpacks the game from a well-known location to some /tmp directory and runs godot from there, but I'd avoid this solution. Cheers