From patchwork Sun Mar 31 14:15:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Timotej Lazar X-Patchwork-Id: 62385 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C9E1227BBEA; Sun, 31 Mar 2024 15:26:11 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A6CEF27BBE2 for ; Sun, 31 Mar 2024 15:26:09 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rqw8H-0004Co-HW; Sun, 31 Mar 2024 10:26:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqw8G-0004Cb-DN for guix-patches@gnu.org; Sun, 31 Mar 2024 10:26:00 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rqw8G-0006ya-5N for guix-patches@gnu.org; Sun, 31 Mar 2024 10:26:00 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rqw8H-000276-Pm; Sun, 31 Mar 2024 10:26:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#70106] [PATCH] gnu: Add the-powder-toy. Resent-From: Timotej Lazar Original-Sender: "Debbugs-submit" Resent-CC: adam.faiz@disroot.org, liliana.prikler@gmail.com, iyzsong@envs.net, guix-patches@gnu.org Resent-Date: Sun, 31 Mar 2024 14:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 70106 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 70106@debbugs.gnu.org Cc: Timotej Lazar , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= Received: via spool by submit@debbugs.gnu.org id=B.17118951067945 (code B ref -1); Sun, 31 Mar 2024 14:26:01 +0000 Received: (at submit) by debbugs.gnu.org; 31 Mar 2024 14:25:06 +0000 Received: from localhost ([127.0.0.1]:48186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqw7O-000245-3v for submit@debbugs.gnu.org; Sun, 31 Mar 2024 10:25:06 -0400 Received: from lists.gnu.org ([2001:470:142::17]:43656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqw7M-00023W-8X for submit@debbugs.gnu.org; Sun, 31 Mar 2024 10:25:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqw7D-000464-1r for guix-patches@gnu.org; Sun, 31 Mar 2024 10:24:55 -0400 Received: from static.51.243.21.65.clients.your-server.de ([65.21.243.51] helo=araneo.si) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqw7B-0006Z7-1Y for guix-patches@gnu.org; Sun, 31 Mar 2024 10:24:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=20230811; bh=5SyIgdB6dqQ o3WkQnTNR/io7FE3ee6uBGAiQ2UUIUpk=; h=date:subject:cc:to:from; d=araneo.si; b=nRg/IgLomKYI+w42r/6Rz3CB4zgZQOFPo2of71EHn1i5lp3vsNZt6o/ w5plRHCKI1GeNEdQcyqLF4tVwWFtZed+hzfsddjsJ+Lf1CpARdV6sNcTdluwIwfuSuZv0+ nnCyHNVGCG/O5A9e+eDd+wKlQyRmghzNMQsSWFlKFSbFtw= Received: by araneo.si (OpenSMTPD) with ESMTPSA id 54a97ffb (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 31 Mar 2024 14:24:48 +0000 (UTC) From: Timotej Lazar Date: Sun, 31 Mar 2024 16:15:13 +0200 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Received-SPF: pass client-ip=65.21.243.51; envelope-from=timotej.lazar@araneo.si; helo=araneo.si 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/games.scm (the-powder-toy): New variable. Change-Id: I4c11fa48ef2b92222029e082d472c8157eb1f25f --- This adds the Powder Toy 2D physics simulation game. Most of the package deals with installing resources because the install target doesn’t. The desktop and related files seem to function OK after installation. Thanks! gnu/packages/games.scm | 82 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) base-commit: d747d9e2dd273ce90a441d0e4428d15a8286e465 diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 223449af17..02c1b9df96 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -165,6 +165,7 @@ (define-module (gnu packages games) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages inkscape) #:use-module (gnu packages javascript) #:use-module (gnu packages less) #:use-module (gnu packages lesstif) @@ -7895,6 +7896,87 @@ (define-public the-butterfly-effect (license (list license:gpl2 license:public-domain license:expat license:cc-by-sa3.0 license:gpl3+ license:wtfpl2)))) +(define-public the-powder-toy + (package + (name "the-powder-toy") + (version "98.0.363") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/The-Powder-Toy/The-Powder-Toy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01phwjv9wj28fs87h6m3fzhsjldp87j5h3zajamlrvf28ck34gwm")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags + #~(list "-Dcan_install=no" ; don’t set up file associations at runtime + "-Dignore_updates=true" ; don’t notify about updates + "-Drender_icons_with_inkscape=enabled" ; regenerate icons during build + (string-append"-Dworkaround_elusive_bzip2_lib_dir=" + #$(this-package-input "bzip2") "/lib") + (string-append"-Dworkaround_elusive_bzip2_include_dir=" + #$(this-package-input "bzip2") "/include")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-xdg-open-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/common/platform/Linux.cpp" + (("xdg-open") (search-input-file inputs "bin/xdg-open"))))) + (add-after 'install 'install-resources + (lambda _ + (let* ((app-id "uk.co.powdertoy.tpt") + (mimetype "application-vnd.powdertoy.save") + (share (string-append #$output "/share")) + (icons (string-append share "/icons/hicolor")) + (icons/png (string-append icons "/256x256")) + (icons/svg (string-append icons "/scalable")) + (apps (string-append share "/applications")) + (man (string-append share "/man/man6")) + (metainfo (string-append share "/metainfo")) + (mime (string-append share "/mime/packages"))) + ;; SVG icons. + (mkdir-p (string-append icons/svg "/apps")) + (mkdir-p (string-append icons/svg "/mimetypes")) + (copy-file "../source/resources/icon_exe.svg" + (string-append icons/svg "/apps/powdertoy-powder.svg")) + (copy-file "../source/resources/icon_cps.svg" + (string-append icons/svg "/mimetypes/" mimetype ".svg")) + ;; PNG icons. + (mkdir-p (string-append icons/png "/apps")) + (mkdir-p (string-append icons/png "/mimetypes")) + (copy-file "resources/icon_exe.png" + (string-append icons/png "/apps/powdertoy-powder.png")) + (copy-file "resources/icon_cps.png" + (string-append icons/png "/mimetypes/" mimetype ".png")) + ;; Resources. + (for-each mkdir-p (list man apps metainfo mime)) + (copy-file "../source/resources/powder.man" + (string-append man "/powder.6")) + (copy-file "resources/powder.desktop" + (string-append apps "/" app-id ".desktop")) + (copy-file "resources/appdata.xml" + (string-append metainfo "/" app-id ".appdata.xml")) + (copy-file "../source/resources/save.xml" + (string-append mime "/powdertoy-save.xml")))))))) + (inputs + (list bzip2 curl fftwf jsoncpp libpng luajit sdl2 xdg-utils zlib)) + (native-inputs + (list inkscape pkg-config)) + (home-page "https://powdertoy.co.uk") + (synopsis "2D physics sandbox game") + (description + "The Powder Toy simulates air pressure and velocity, heat, gravity and a +countless number of interactions between different substances. The game +provides various building materials, liquids, gases and electronic components +used to construct complex machines, realistic terrains and almost anything +else. Scripting and plugins are supported through a Lua API.") + (license (list license:asl2.0 ; src/bson + license:expat ; src/lua/LuaBit.* + license:gpl3+)))) + (define-public pioneer (package (name "pioneer")