Subject: [bug#29610] [PATCH] gnu: games: Add quakespasm.

From: nee <[email-masked]>
Date: Tue, 19 Dec 2017 02:27:49 +0100

Am 18.12.2017 um 17:52 schrieb Kei Kebreau:
> A few things:
> * Please end the "fix-makefile-paths" phase with a #t.
> * It turns out that the license is actually gpl2+.
> * The description's indentation seems a bit early and weird. That is, we
>   can have up to 80 characters per line in our description, and some of
>   the description can be adjusted accordingly.
> 

GJ spotting all of this. Here is the updated patch.
From 74458490cdcfbb977e945b9151ab0b7fb7dcabcd Mon Sep 17 00:00:00 2001
From: nee <[email-masked]>
Date: Thu, 7 Dec 2017 22:25:26 +0100
Subject: [PATCH] gnu: games: Add quakespasm.

* gnu/packages/games.scm (quakespasm): New variable.
---
 gnu/packages/games.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a699fadc2..d1375f330 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5095,3 +5095,47 @@ abilities and powers.  With a modern graphical and customisable interface,
 intuitive mouse control, streamlined mechanics and deep, challenging combat,
 Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.")
     (license license:gpl3+)))
+
+(define-public quakespasm
+  (package
+    (name "quakespasm")
+    (version "0.93.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/quakespasm/Source/quakespasm-"
+                           version ".tgz"))
+       (sha256
+        (base32
+         "0b2nz7w4za32pc34r62ql270z692qcjs2pm0i3svkxkvfammhdfq"))))
+    (arguments
+     `(#:tests? #f
+       #:make-flags '("CC=gcc"
+                      "MP3LIB=mpg123"
+                      "USE_CODEC_FLAC=1"
+                      "USE_CODEC_MIKMOD=1"
+                      "USE_SDL2=1"
+                      "-CQuake")
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (add-after 'unpack 'fix-makefile-paths
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (mkdir-p (string-append out "/bin"))
+                        (substitute* "Quake/Makefile"
+                          (("/usr/local/games")
+                           (string-append out "/bin")))
+                        #t))))))
+    (build-system gnu-build-system)
+    (inputs `(("libmikmod" ,libmikmod)
+              ("libvorbis" ,libvorbis)
+              ("flac" ,flac)
+              ("mesa" ,mesa)
+              ("mpg123" ,mpg123)
+              ("sdl2" ,sdl2)))
+    (synopsis "First person shooter engine for Quake 1")
+    (description "Quakespasm is a modern engine for id software's Quake 1.
+It includes support for 64 bit CPUs, custom music playback, a new sound driver,
+some graphical niceities, and numerous bug-fixes and other improvements.")
+    (home-page "http://quakespasm.sourceforge.net/")
+    (license license:gpl2+)))
-- 
2.14.1