GNU bug report logs -
#73238
[PATCH] gnu: Add xevil.
Previous Next
Full log
Message #8 received at 73238 <at> debbugs.gnu.org (full text, mbox):
Hi Tobias,
Tobias Geerinckx-Rice <me <at> tobias.gr> writes:
> * gnu/packages/games.scm (xevil): New public variable.
>
> Change-Id: I86885cc816685001a7d8d7dacccc396f39ddbd5f
> ---
>
> What an ugly thing for which to feel childhood nostalgia. But I do.
Haha!
> +(define-public xevil
> + ;; This game is old. Use a maintained fork that builds with modern toolchains
> + ;; on modern, 64-bit hardware.
> + (let ((commit "9ca85059d5195be0eb15e107de3bb9d1b49e5f99")
> + (revision "0"))
> + (package
> + (name "xevil")
> + (version (git-version "2.02" revision commit))
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/lvella/xevil")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "14hsmw9ll2asnp1s0zvniyp31kjw8ynm7vnycg74lpqf28h2rric"))))
> + (build-system gnu-build-system)
> + (arguments
> + (list
> + #:modules `(,@%default-gnu-imported-modules
> + (srfi srfi-26))
%default-gnu-IMPORTED-modules is for #:imported-modules; you want
%default-gnu-modules.
> + #:make-flags
> + #~(list "SHELL=sh"
> + "DEBUG_OPT=-g -DNDEBUG")
Could you add a comment about why the above is needed/useful?
> + #:tests? #f ;no test suite
> + #:phases
> + #~(modify-phases %standard-phases
> + (add-after 'unpack 'rename-licence-file
> + (lambda _ (rename-file "gpl.txt" "COPYING")))
> + (add-after 'unpack 'redefine
> + (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "cmn/game.cpp"
> + (("(#define VERSION ).*" _ define)
> + (string-append define "\"" #$version "\"\n")))
> + (substitute* "cmn/utils.cpp"
> + (("[^\"]*/(bin/uname)" _ command)
> + (search-input-file inputs command)))
> + (substitute* "x11/ui.cpp"
> + ;; Neither DEFAULT_BIG_FONT_NAME nor BACKUP_FONT_NAME are
> + ;; available from most Guix X11 servers, making the game
> + ;; unplayable by default. Substitute the closest match.
> + (("9x15") "6x13")
> + ;; ‘For fast machines’ need no longer default to False in C21.
> + (("(smoothScroll = )False" _ assign)
> + (string-append assign "True")))))
Perhaps report the above upstream if you haven't already (bonus if you
cross-reference the issue here).
> + (delete 'configure) ;no configure script
> + (replace 'install
> + (lambda _
> + (with-directory-excursion "x11/REDHAT_LINUX" ;yeah
> + (for-each (cut install-file <>
> + (string-append #$output "/bin"))
> + (list "xevil" "serverping")))
> + (let ((doc (string-append #$output "/share/doc/"
> + #$name "-" #$version)))
> + (mkdir-p doc)
> + (for-each (lambda (file)
> + (copy-recursively file
> + (string-append
> + doc "/" (basename file))))
> + (list "instructions" "x11/app-defaults"))))))))
> + (inputs
> + (list coreutils-minimal ;for uname
> + libx11 libxpm))
> + ;; The current home page has been ‘subtly’ vandalised with spam and is
> + ;; missing a lot of content from this older snapshot.
> + (home-page (string-append "https://web.archive.org/web/20060410005819/"
> + "http://www.xevil.com/"))
> + (synopsis
> + "Third-person, side-scrolling, fast-action, kill-everything game")
> + (description
> + "XEvil is a violent third-person, side-scrolling, fast-action deathmatch.
> +You run around a randomly generated two-dimensional map composed of walls,
> +floors, ladders, doors, and horizontal and vertical elevators. Your only object
> +is to explore this world to find weapons and items, killing everything in sight
> +before they kill you. You can fight against either computer-controlled enemies
> +or against other people.")
> + (license license:gpl2+))))
Haven't tried it, but the package description LGTM other than the above
comments.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer <at> gmail>
--
Thanks,
Maxim
This bug report was last modified 82 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.