diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2023-09-24 02:00:00 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2024-09-01 02:00:00 +0200 |
commit | d5cab93f2f600d3e245dc34d11c1f0090c8ef50a (patch) | |
tree | b4f8061c966d12da3a79876cb87ba918aa2ea30e | |
parent | c84f0d31d3d087a201920a823f80f15b5171e4ad (diff) |
gnu: Add xevil.
* gnu/packages/games.scm (xevil): New public variable.
-rw-r--r-- | gnu/packages/games.scm | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 30057a4f4a..bac3100e94 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -11131,6 +11131,82 @@ for display, and used by the program to implement Thorp's \"Complete Point System\" (high-low system).") (license (license:x11-style "" "See file headers.")))) +(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 '((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:make-flags + #~(list "SHELL=sh" + "DEBUG_OPT=-g -DNDEBUG") + #: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 "\""))) + (substitute* "cmn/utils.cpp" + (("[^\"]*/bin/uname") + (search-input-file inputs "bin/uname"))) + ;; 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. + (substitute* "x11/ui.cpp" + (("9x15") "6x13")))) + (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))) + (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+)))) + (define-public azimuth (package (name "azimuth") |