diff mbox series

[bug#35720] gnu: Add chocolate-doom.

Message ID 20190513194251.GA18548@sdf.lonestar.org
State Accepted
Headers show
Series [bug#35720] gnu: Add chocolate-doom. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Jakob L. Kreuze May 13, 2019, 7:42 p.m. UTC
Patch adding a package for Chocolate Doom, which I felt was appropriate
as both Odamex and GZDoom are packaged in Guix.

Regards,
Jakob L. Kreuze

Comments

Christine Lemmer-Webber May 16, 2019, 8:03 p.m. UTC | #1
Jakob L. Kreuze writes:

> Patch adding a package for Chocolate Doom, which I felt was appropriate
> as both Odamex and GZDoom are packaged in Guix.
>
> Regards,
> Jakob L. Kreuze

Hey Jakob!  Your patch looks good in general, though I haven't had a
chance to try building and running it yet.  Maybe just a couple of
things:

 - I think it would be "New variable" rather than "New variables" in the
   commit message.  Not that this is a big deal, and I could fix it.
 - It would be good to test if it can run with freedoom (a libre doom
   content replacement for doom that's functionaly similar).  My guess
   is that the one change would need to be adjusting where the default
   searched WAD path is.  freedoom and gzdoom both add a reference to
   /share/games/doom so I'm guessing that's how it's found.  However
   I'm not positive about that.

Looking good though in general!
Jakob L. Kreuze May 16, 2019, 11:21 p.m. UTC | #2
Hey, Chris!

On Thu, May 16, 2019 at 04:03:43PM -0400, Christopher Lemmer Webber wrote:
>  - I think it would be "New variable" rather than "New variables" in
>    the commit message. Not that this is a big deal, and I could fix
>    it.

If I update the patch to address your second point, I can change it.
Otherwise, if you'd be willing to fix it when merging, that'd be great.

>  - It would be good to test if it can run with freedoom (a libre doom
>    content replacement for doom that's functionaly similar). My guess
>    is that the one change would need to be adjusting where the default
>    searched WAD path is. freedoom and gzdoom both add a reference to
>    /share/games/doom so I'm guessing that's how it's found. However
>    I'm not positive about that.

GZDoom adds a reference to /share/games/doom because it bundles a .pk3
file containing some port-specific things which ends up in the store,
and my understanding is that Freedoom updates DOOMWADDIR and DOOMWADPATH
to point to where the wads are in the profile, so I don't think patching
the search paths is necessary.

Thanks for reviewing this!

Jakob
Christine Lemmer-Webber May 24, 2019, 2:54 p.m. UTC | #3
Jakob L. Kreuze writes:

> GZDoom adds a reference to /share/games/doom because it bundles a .pk3
> file containing some port-specific things which ends up in the store,
> and my understanding is that Freedoom updates DOOMWADDIR and DOOMWADPATH
> to point to where the wads are in the profile, so I don't think patching
> the search paths is necessary.
>
> Thanks for reviewing this!
>
> Jakob

At any rate, I discovered that the freedoom script actually *itself*
searches for a possible binary and launches it with the appropriate WAD
given as an argument, of which chocolate-doom is considered a valid
option.

So, seems good!  I pushed the patch to Guix master... chocolate-doom is
now part of Guix :)

Congrats on getting in your first package!  Great work, Jakob.
 - Chris
diff mbox series

Patch

From eff781c4829c76e17335caafeaec582ce7b6baf5 Mon Sep 17 00:00:00 2001
From: "Jakob L. Kreuze" <zerodaysfordays@sdf.lonestar.org>
Date: Mon, 13 May 2019 15:30:48 -0400
Subject: [PATCH] gnu: Add chocolate-doom.

* gnu/packages/games.scm (chocolate-doom): New variables.
---
 gnu/packages/games.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0f05f3fdcf..ab1acfa3ab 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5537,6 +5537,41 @@  allows players to easily join servers dedicated to playing Doom
 online.")
     (license license:gpl2+)))
 
+(define-public chocolate-doom
+  (package
+    (name "chocolate-doom")
+    (version "3.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.chocolate-doom.org/downloads/"
+                                  version
+                                  "/chocolate-doom-"
+                                  version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "1f6sw6qa9z0a70dsjh5cs45fkyyxw68s7vkqlykihz8cjcisdbkk"))))
+    (build-system gnu-build-system)
+    (inputs `(("sdl2-net" ,sdl2-net)
+              ("sdl2-mixer" , sdl2-mixer)
+              ("sdl2" ,sdl2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (synopsis "Doom source port preserving the look, feel, and bugs of vanilla
+Doom")
+    (description
+     "Chocolate Doom takes a different approach to other source ports.  Its
+aim is to accurately reproduce the experience of playing Vanilla Doom.  It is
+a conservative, historically accurate Doom source port, which is compatible
+with the thousands of mods and levels that were made before the Doom source
+code was released.  Rather than flashy new graphics, Chocolate Doom's main
+features are its accurate reproduction of the game as it was played in the
+1990s.  The project is developed around a carefully-considered philosophy that
+intentionally restricts which features may be added (and rejects any that
+affect gameplay).")
+    (home-page "https://www.chocolate-doom.org/wiki/index.php/Chocolate_Doom")
+    (license license:gpl2)))
+
 (define-public fortune-mod
   (package
     (name "fortune-mod")
-- 
2.21.0