unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#29610] [PATCH] gnu: games: Add quakespasm.
@ 2017-12-07 21:59 nee
  2017-12-18 16:52 ` Kei Kebreau
  0 siblings, 1 reply; 4+ messages in thread
From: nee @ 2017-12-07 21:59 UTC (permalink / raw)
  To: 29610

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

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!

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-games-Add-quakespasm.patch --]
[-- Type: text/x-patch; name="0001-gnu-games-Add-quakespasm.patch", Size: 2658 bytes --]

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(+)

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#29610] [PATCH] gnu: games: Add quakespasm.
  2017-12-07 21:59 [bug#29610] [PATCH] gnu: games: Add quakespasm nee
@ 2017-12-18 16:52 ` Kei Kebreau
  2017-12-19  1:27   ` nee
  0 siblings, 1 reply; 4+ messages in thread
From: Kei Kebreau @ 2017-12-18 16:52 UTC (permalink / raw)
  To: nee; +Cc: 29610

[-- Attachment #1: Type: text/plain, Size: 880 bytes --]

nee <nee@cock.li> writes:

> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#29610] [PATCH] gnu: games: Add quakespasm.
  2017-12-18 16:52 ` Kei Kebreau
@ 2017-12-19  1:27   ` nee
  2017-12-19 15:32     ` Kei Kebreau
  0 siblings, 1 reply; 4+ messages in thread
From: nee @ 2017-12-19  1:27 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: 29610

[-- Attachment #1: Type: text/plain, Size: 424 bytes --]

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.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-games-Add-quakespasm.patch --]
[-- Type: text/x-patch; name="0001-gnu-games-Add-quakespasm.patch", Size: 2649 bytes --]

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(+)

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#29610] [PATCH] gnu: games: Add quakespasm.
  2017-12-19  1:27   ` nee
@ 2017-12-19 15:32     ` Kei Kebreau
  0 siblings, 0 replies; 4+ messages in thread
From: Kei Kebreau @ 2017-12-19 15:32 UTC (permalink / raw)
  To: nee; +Cc: 29610

[-- Attachment #1: Type: text/plain, Size: 760 bytes --]

nee <nee@cock.li> writes:

> 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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-12-19 15:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-07 21:59 [bug#29610] [PATCH] gnu: games: Add quakespasm nee
2017-12-18 16:52 ` Kei Kebreau
2017-12-19  1:27   ` nee
2017-12-19 15:32     ` Kei Kebreau

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).