[PATCH] gnu: games: Add quakespasm.

  • Done
  • quality assurance status badge
Details
3 participants
  • Kei Kebreau
  • Ludovic Courtès
  • nee
Owner
unassigned
Submitted by
nee
Severity
normal
N
(address . guix-patches@gnu.org)
9684edc1-5c32-4fab-fbfa-a77160eab0fb@cock.li
Hello, here is another fun game.
Quake1 game data (with lower-case file names) is required for playing.

If there is a free full-conversion project let me know. As far as I know
Freedoom for Doom1+2 is the only free id-game content-pack with a
release. There are Zauberer for Hexen, and Blasphemer for Heretic
currently in development, but nothing for quake 1 and 2, yet.

Happy fragging!
From 9811308019afd73066a130f05d4f8262ff582310 Mon Sep 17 00:00:00 2001
From: nee <nee.git@cock.li>
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 | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a699fadc2..6f217c16c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5095,3 +5095,46 @@ 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")))))))))
+ (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 and 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
K
K
Kei Kebreau wrote on 18 Dec 2017 17:52
(name . nee)(address . nee@cock.li)(address . 29610@debbugs.gnu.org)
87o9mwyo5b.fsf@posteo.net
nee <nee@cock.li> writes:

Toggle quote (10 lines)
> Hello, here is another fun game.
> Quake1 game data (with lower-case file names) is required for playing.
>
> If there is a free full-conversion project let me know. As far as I know
> Freedoom for Doom1+2 is the only free id-game content-pack with a
> release. There are Zauberer for Hexen, and Blasphemer for Heretic
> currently in development, but nothing for quake 1 and 2, yet.
>
> Happy fragging!

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.

Other than that, this LGTM! Could you submit a new patch with the
necessary changes. Thanks for this!

Kei
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlo38kAACgkQ5qXuPBlG
eg1YfBAAgs+gpVbW2mUvvNo7G1nvW9sRBIJf21Zte30qmw1bT5wyM6MfgFKF6whp
QXXAgypPiNd+H3HA2z3u/EjpF1gxkTj0g7HIWUmWlJjyeSp5dTtEYGInCiQGv9J1
dTvSKfQX9pGbxkfAZxCK/CrDEe+jbytUiWzEWaANWS9F3pVwhBLbDZ2fMA/ggfGx
hDelADBaVH3uDEy5q+GYS2UUwBzllcCs0O3RsrtoEPbeG1eFV2RDYJ+E79GZYsJC
/xR3eSSUt5OeCf8mx4IXofrPNi7RFng/WihbJQl2L3sw/wG8aRj14AaCSmUSa/Sv
VcD8OsqXmWXsm1DF2bdNY97sIzPy+EzmfqCRimIMhXN235z3jU2s8p1Ve/dUqAHP
C1w7gBqk5xaSZXodinAqiFaGTGvGSF9L9AzCgWShN7V1Li1UoLbYw/FIxmO0Xf9i
C2YfMBKR3kEikC7vd5Afa/+MuUA9fhBQI/S78sk8/zIhI+i5N8rIB7trHTtdlMPS
1RcDzrIUNRayDSA5bxS2sytDB+hhCFVSyk5B6SlgrtDTun4S6s/3F6zsACJ3JaA9
VEcofeWQrF4wPPr/YAmnrD9nQJ6lfZ1jpdM12PtNYtWq2l2W0bnFcIGZlhgwfSGf
0H5Zfn7XE8m3n0Mu6V8HNYAoh4lXQr6/4SrHTpnmwZWxZUpW5B0=
=2uZx
-----END PGP SIGNATURE-----

N
(name . Kei Kebreau)(address . kkebreau@posteo.net)(address . 29610@debbugs.gnu.org)
3f4e7ae4-0ab6-7d89-71c4-9d3dd54d2e00@cock.li
Am 18.12.2017 um 17:52 schrieb Kei Kebreau:
Toggle quote (8 lines)
> 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 <nee.git@cock.li>
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(+)

Toggle diff (54 lines)
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
K
K
Kei Kebreau wrote on 19 Dec 2017 16:32
(name . nee)(address . nee@cock.li)(address . 29610@debbugs.gnu.org)
87fu86zqb1.fsf@posteo.net
nee <nee@cock.li> writes:

Toggle quote (11 lines)
> 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.

One more nitpick: our commit messages tend not to include the name of
the file being added to, so they look like

gnu: Add quakespasm.

as opposed to

gnu: games: Add quakespasm.

I've fixed that bit, though, and this patch is otherwise great! I've
pushed this to master.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlo5MRIACgkQ5qXuPBlG
eg1x9w//Tbgdya1RwDNOs4tVD1hn8hzVvdur2sDv8TmrKMfqj2vKq1vYYkmauipd
o5Tmx7fDkTsHVV/lEubHSsMuh0zgWtQyVeS2U91KX0APRj33Gx+ePi0RIi0v7ukE
s/PzJr2Zgxoj8UcU9wZ4WQH1rDQqFDg1aeiDGopEso7xqINZnagjtCRvFLaGQXa9
xi1mh8mBZDAll14GS/e0ZOl52Py+REcFx95xP5r8tyZSg4vTmi4mr+0xHxTWSQnF
w5O+NvrPcVP1z2JpBjzjy29nxQLhHACMwxXTeAGB876BsoCVrWX+meMqD+dQ0spv
GUwRZsZrNT43JN/flt1+KdLwTbvZK6ifvBydk19TSVaTaaqcEtLT4XlwUgx/Aj11
lpggxsTaJvgMYPv9DMiiqUdQcFeu5S/qKRSOjD1Xt4X3wMhcBcOiq81GC23HB0ko
bs9iNDgk/E3MX9vyAM3e+JKubpVP83bTaBlR7bs+FVpaGaLJ0vGB3eqYIMLmmcn4
0sKxHXf1f2qeALhhu04n8mNHZOYFSgPag+MK209tyFMIQzujYA+egZEwpc22LH7g
B86nn7y8srkMO4Dzq/9fsl1HzyPcjnzRS7CtpyyjvjqjWc8JFr92M0DIn1zHYpik
CIj6j/7zQOMmPQpUYjV02CYwghLGBlY72Zq9fn5KTJk74PHgkJg=
=JdPP
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 22 Dec 2017 09:58
control message for bug #29610
(address . control@debbugs.gnu.org)
87d137b0ku.fsf@gnu.org
tags 29610 fixed
close 29610
?