[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26185: [PATCH] gnu: Add freedoom.
From: |
Christopher Allan Webber |
Subject: |
bug#26185: [PATCH] gnu: Add freedoom. |
Date: |
Mon, 20 Mar 2017 12:07:02 -0500 |
User-agent: |
mu4e 0.9.18; emacs 25.1.1 |
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!