Package: guix-patches;
Reported by: Kei Kebreau <kei <at> openmailbox.org>
Date: Mon, 20 Mar 2017 03:11:02 UTC
Severity: normal
Tags: patch
Done: Kei Kebreau <kei <at> openmailbox.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Christopher Allan Webber <cwebber <at> dustycloud.org> To: Kei Kebreau <kei <at> openmailbox.org> Cc: 26185 <at> debbugs.gnu.org Subject: bug#26185: [PATCH] gnu: Add freedoom. Date: Mon, 20 Mar 2017 12:07:02 -0500
Ooooooh! I love freedoom. Kei Kebreau writes: > * gnu/packages/games.scm (freedoom): New variable. > --- > gnu/packages/games.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 72 insertions(+) > > diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm > index f264ef206..95a13b8c4 100644 > --- a/gnu/packages/games.scm > +++ b/gnu/packages/games.scm > @@ -58,6 +58,7 @@ > #:use-module (gnu packages audio) > #:use-module (gnu packages avahi) > #:use-module (gnu packages boost) > + #:use-module (gnu packages documentation) > #:use-module (gnu packages fltk) > #:use-module (gnu packages fribidi) > #:use-module (gnu packages game-development) > @@ -69,6 +70,7 @@ > #:use-module (gnu packages gperf) > #:use-module (gnu packages gtk) > #:use-module (gnu packages guile) > + #:use-module (gnu packages imagemagick) > #:use-module (gnu packages libcanberra) > #:use-module (gnu packages libunwind) > #:use-module (gnu packages haskell) > @@ -113,6 +115,76 @@ > #:use-module (guix build-system cmake) > #:use-module (guix build-system trivial)) > > +(define-public freedoom > + (package > + (name "freedoom") > + (version "0.11.1") > + (source (origin > + (method url-fetch) > + (uri (string-append "https://github.com/" name "/" name > + "/archive/v" version ".tar.gz")) > + (file-name (string-append name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "060dqppd9fi079yw6c82klsjaslcabq6xan67wf9hs0cy39i0kpv")))) > + (build-system gnu-build-system) > + (arguments > + '(#:make-flags `(,(string-append "prefix=" (assoc-ref %outputs "out"))) > + #:parallel-build? #f > + #:tests? #f ; no check target > + #:phases > + (modify-phases %standard-phases > + (add-before 'unpack 'no (lambda _ #t)) > + (replace 'configure > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (let* ((dejavu (assoc-ref inputs "font-dejavu")) > + (freedoom (assoc-ref outputs "out")) > + (wad-dir (string-append freedoom "/share/games/doom"))) > + ;; Replace the font-searching function in a shell > + ;; script with a direct path to the required font. > + ;; This is necessary because ImageMagick can only find the > + ;; most basic fonts while in the build environment. > + (substitute* "graphics/titlepic/create_caption" > + (("font=\\$\\(find_font.*$") > + (string-append > + "font=" dejavu > + "/share/fonts/truetype/DejaVuSansCondensed-Bold.ttf\n"))) > + ;; Make icon creation reproducible. > + (substitute* "dist/Makefile" > + (("freedm.png") > + "-define png:exclude-chunks=date freedm.png") > + (("freedoom1.png") > + "-define png:exclude-chunks=date freedoom1.png") > + (("freedoom2.png") > + "-define png:exclude-chunks=date freedoom2.png")) > + ;; Make sure that the install scripts know where to find > + ;; the appropriate WAD files. > + (substitute* "dist/freedoom" > + (("IWAD=freedm.wad") > + (string-append "IWAD=" wad-dir "/freedm.wad")) > + (("IWAD=freedoom1.wad") > + (string-append "IWAD=" wad-dir "/freedoom1.wad")) > + (("IWAD=freedoom2.wad") > + (string-append "IWAD=" wad-dir "/freedoom2.wad"))) > + #t)))))) > + (native-inputs > + `(("asciidoc" ,asciidoc) > + ("deutex" ,deutex) > + ("font-dejavu" ,font-dejavu) > + ("imagemagick" ,imagemagick) > + ("python" ,python-2))) > + (inputs > + `(("prboom-plus" ,prboom-plus))) > + (home-page "https://freedoom.github.io/") > + (synopsis "Free content game based on the Doom engine") > + (description > + "The Freedoom project aims to create a complete free content first person > +shooter game. But Freedoom by itself is just the raw material for a game: it I think the "But" can be removed here. > +must be paired with a compatible game engine to be played. Freedoom How about saying "(such as prboom-plus)" ? That way people know what to install. > +complements the Doom engine with free levels, artwork, sound effects and music > +to make a completely free game.") > + (license license:bsd-3))) > + > (define-public gnubg > (package > (name "gnubg") Otherwise, looks good! I booted it up and it worked great. Lost 15 minutes into shooting up zombified soldiers... One comment about the submission: maybe it would be better in the future to post a patch formatted using git format-patch? It would be easier to apply and push. But it looks like you have commit access, so with the couple of description nits adjusted, I think it's okay to push! Nice work! Freedoooooooom!
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.