lilyp pushed a commit to branch master
in repository guix.

commit e2bdba585a902a7408f048a74110aa91fc4fcbe1
Author: Adam Faiz <[email protected]>
AuthorDate: Sat Feb 15 09:50:02 2025 +0800

    gnu: Add tuxemon.
    
    * gnu/packages/games.scm (tuxemon): New variable.
    
    Signed-off-by: Liliana Marie Prikler <[email protected]>
---
 gnu/packages/games.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 30aaf0767a..36ca9d4b27 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -87,6 +87,7 @@
 ;;; Copyright © 2024 Jan Wielkiewicz <[email protected]>
 ;;; Copyright © 2024 Ashvith Shetty <[email protected]>
 ;;; Copyright © 2025 Sharlatan Hellseher <[email protected]>
+;;; Copyright © 2023-2025 Adam Faiz <[email protected]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6217,6 +6218,67 @@ safety of the Chromium vessel.")
     ;; by the Expat License.
     (license (list license:clarified-artistic license:expat))))
 
+(define-public tuxemon
+  (let ((commit "19708725f8b2d939e39b726f49a8a078eba8bf32")
+        (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 "0jdhk6xs4895gifxlkaxk7625wvw2yl1yc6ciay137dk78amhp86"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin
+            (substitute* "requirements.txt"
+              (("pygame-ce") "pygame") ; The pygame-ce fork isn't packaged in 
Guix
+              (("pygame-menu-ce") "pygame-menu")
+              (("==") ">="))
+            (substitute* "tuxemon/constants/paths.py"
+              (("LIBDIR, ....,") "LIBDIR,"))))))
+    (build-system python-build-system)
+    (native-inputs (list python-flit-core python-setuptools))
+    (propagated-inputs
+     (list python-babel
+           python-cbor
+           python-neteria
+           python-natsort
+           python-pygame
+           python-pyscroll
+           python-pytmx
+           python-pillow
+           python-prompt-toolkit
+           python-pydantic-2
+           python-pygame-menu
+           python-pyyaml
+           python-requests))
+    (arguments
+     (list #:tests? #f ; Tests won't be updated until the API stabilises
+           #: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")

Reply via email to