Subject: [PATCH v2] gnu: Add dsda-doom.

From: Andrew Wong <[email-masked]>
Date: Fri, 21 Feb 2025 02:59:37 -0500

* gnu/packages/games.scm (dsda-doom): New variable.

Change-Id: I1a999b1b5bf06a7cbe38aa0d4d0ccbb28430b1cf
---
 gnu/packages/games.scm | 47 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 30aaf0767a..ca3dad8774 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -87,6 +87,7 @@
 ;;; Copyright © 2024 Jan Wielkiewicz <[email-masked]>
 ;;; Copyright © 2024 Ashvith Shetty <[email-masked]>
 ;;; Copyright © 2025 Sharlatan Hellseher <[email-masked]>
+;;; Copyright © 2025 Andrew Wong <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2677,6 +2678,52 @@ (define-public pipewalker
 Every puzzle has a complete solution, although there may be more than one.")
     (license license:gpl3+)))
 
+(define-public dsda-doom
+  (package
+    (name "dsda-doom")
+    (version "0.28.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/kraflab/dsda-doom")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1qgc6ngxlwwmbh4iaikb93253if9s8kkq6abddqarj7gj29kzapb"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f ;no tests
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'chdir
+                    (lambda _
+                      (chdir "prboom2"))))))
+    (inputs (list dumb
+                  fluidsynth
+                  glu
+                  libmad
+                  libvorbis
+                  libzip
+                  portmidi
+                  sdl2-mixer
+                  sdl2))
+    (home-page "https://github.com/kraflab/dsda-doom")
+    (synopsis "Successor of PrBoom+ with many new features")
+    (description
+     "This is a successor of prboom+ with many new features, including:
+@enumerate
+@item Heretic, Hexen, MBF21, Doom-in-Hexen, UDMF, and MAPINFO support
+@item In-game console and scripting
+@item Full controller support
+@item Palette-based opengl renderer
+@item Debugging features for testing
+@item Strict mode for speedrunning
+@item Various quality of life improvements
+@item Advanced tools for TASing
+@item Rewind
+@end enumerate")
+    (license license:gpl2+)))
+
 (define-public prboom-plus
   (package
    (name "prboom-plus")

base-commit: cd20619cfcb32c2631fb602729512740bc510550
-- 
2.48.1