diff mbox series

[bug#67131,7/7] gnu: Add tuxemon.

Message ID 5264c3d0-dfcc-165a-1b08-06eb088c3cf5@disroot.org
State New
Headers show
Series gnu: Add tuxemon. | expand

Commit Message

Adam Faiz Nov. 12, 2023, 5:14 p.m. UTC
From cfe1482480fa26ac9da818fa4b0669dd6017f99b Mon Sep 17 00:00:00 2001
Message-ID: <cfe1482480fa26ac9da818fa4b0669dd6017f99b.1699806997.git.adam.faiz@disroot.org>
In-Reply-To: <cover.1699806997.git.adam.faiz@disroot.org>
References: <cover.1699806997.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 12 Nov 2023 23:49:16 +0800
Subject: [PATCH 7/7] gnu: Add tuxemon.

* gnu/packages/games.scm (tuxemon): New variable.
---
 gnu/packages/games.scm | 62 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 18907be6ba..7a5c213f80 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5922,6 +5922,68 @@  (define-public chromium-bsu
     ;; by the Expat License.
     (license (list license:clarified-artistic license:expat))))
 
+(define-public tuxemon
+  (let ((commit "068b9c44345a86e83b35383a2e372629214f51f3")
+        (revision "0"))
+  (package
+    (name "tuxemon")
+    (version (git-version "0.4.34" revision commit))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/Tuxemon/Tuxemon")
+              (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1nsq26zx355w0sr2rc74kv2gnllqgki9fc5rgdiqcgiqsksbrhfy"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin
+            (substitute* "setup.py"
+              (("# build_translations..") "build_translations()")
+              (("tuxemon.core.locale") "tuxemon.locale"))
+            (substitute* "requirements.txt"
+              (("-ce") "") ; The pygame-ce fork isn't packaged in Guix
+              (("==") ">="))
+            (substitute* "tuxemon/constants/paths.py"
+              (("LIBDIR, ....,") "LIBDIR,"))))))
+    (build-system pyproject-build-system)
+    (propagated-inputs
+     (list python-babel
+           python-cbor
+           python-neteria
+           python-natsort
+           python-pygame
+           python-pyscroll
+           python-pytmx
+           python-pillow
+           python-prompt-toolkit
+           python-pydantic
+           python-pygame-menu
+           python-pyyaml
+           python-requests))
+    (arguments
+     (list #:tests? #f ; Some tests are outdated because of API changes
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'install-mods
+                 (lambda _
+                   (let ((site (string-append #$output "/lib/python"
+                                              #$(version-major+minor
+                                                 (package-version python))
+                                              "/site-packages/tuxemon/mods")))
+                     (mkdir-p site)
+                     (copy-recursively "mods" site)))))))
+    (home-page "https://www.tuxemon.org/")
+    (synopsis "Monster-fighting RPG")
+    (description
+     "Tuxemon is a monster-fighting RPG.
+In the spirit of other clones like SuperTux and SuperTuxKart,
+Tuxemon aims to create a game with its own unique style
+that sets it apart from other monster fighting RPGs.")
+    (license license:gpl3+))))
+
 (define-public tuxpaint
   (package
     (name "tuxpaint")