Christopher Allan Webber writes: > 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. > Removed. >> +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. > Added, using @code{prboom-plus}. >> +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. > If I recall correctly, I did use `git format-patch -1` to make the patch and `git send-mail` to send it. Perhaps something went wrong in the process? > 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! Thanks for the review! Just pushed to master as 0b5d078f8ba7953a51343fde087e157fbc4a0308.