GNU bug report logs - #73238
[PATCH] gnu: Add xevil.

Previous Next

Package: guix-patches;

Reported by: Tobias Geerinckx-Rice <me <at> tobias.gr>

Date: Fri, 13 Sep 2024 21:33:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 73238 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#73238; Package guix-patches. (Fri, 13 Sep 2024 21:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tobias Geerinckx-Rice <me <at> tobias.gr>:
New bug report received and forwarded. Copy sent to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org. (Fri, 13 Sep 2024 21:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add xevil.
Date: Fri, 13 Sep 2024 23:30:32 +0200
* gnu/packages/games.scm (xevil): New public variable.

Change-Id: I86885cc816685001a7d8d7dacccc396f39ddbd5f
---

What an ugly thing for which to feel childhood nostalgia.  But I do.

 gnu/packages/games.scm | 79 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 26ddde50fe..d010c57fc5 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -11109,6 +11109,85 @@ (define-public xblackjack
 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 `(,@%default-gnu-imported-modules
+                    (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 "\"\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")))))
+            (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+))))
+
 (define-public azimuth
   (package
     (name "azimuth")

base-commit: aefa5f2a6760f462ff002db5dccd37ea92ae97f8
prerequisite-patch-id: 2f4066d1d249a7c775a86bda300ffe4747eca5ca
prerequisite-patch-id: f20ff1a7a3fd63bc23eb305b23371ed46aede738
prerequisite-patch-id: 66eb3b0b8d5565169223d6dcaaef60e193ecaf17
prerequisite-patch-id: 9a5b632245d8ba1373272bb80f09c26fd19fbfae
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73238; Package guix-patches. (Sat, 22 Mar 2025 14:02:01 GMT) Full text and rfc822 format available.

Message #8 received at 73238 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>, 73238 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#73238] [PATCH] gnu: Add xevil.
Date: Sat, 22 Mar 2025 23:01:30 +0900
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




Information forwarded to guix-patches <at> gnu.org:
bug#73238; Package guix-patches. (Sat, 22 Mar 2025 17:08:02 GMT) Full text and rfc822 format available.

Message #11 received at 73238 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>, 73238 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#73238] [PATCH] gnu: Add xevil.
Date: Sat, 22 Mar 2025 17:07:39 +0000
Hi Maxim,

Thanks for reviewing this forgotten package!  (Just as well, it wouldn't have been reviewed otherwise.)

On 22 March 2025 14:01:30 UTC, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> wrote:
>%default-gnu-IMPORTED-modules is for #:imported-modules; you want
> %default-gnu-modules.

Herp.

>> +                "DEBUG_OPT=-g -DNDEBUG")
>
>Could you add a comment about why the above is needed/useful?

I'll try to rediscover my reasoning.

>Perhaps report the above upstream if you haven't already (bonus if you
>cross-reference the issue here).

Oh,

>> +      ;; 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/"

The last release was 25 years ago.

As fun as tracking down Steve Hardt might be (assuming they are still alive), I don't think in would result in a new one.

Kind regards,

T G-R

Sent on the go.  Excuse or enjoy my brevity.




Information forwarded to guix-patches <at> gnu.org:
bug#73238; Package guix-patches. (Sun, 23 Mar 2025 02:00:05 GMT) Full text and rfc822 format available.

Message #14 received at 73238 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>, 73238 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#73238] [PATCH] gnu: Add xevil.
Date: Sun, 23 Mar 2025 10:58:39 +0900
Hi Tobias,

Tobias Geerinckx-Rice <me <at> tobias.gr> writes:

[...]

>>> +                "DEBUG_OPT=-g -DNDEBUG")
>>
>>Could you add a comment about why the above is needed/useful?
>
> I'll try to rediscover my reasoning.

OK!

>>Perhaps report the above upstream if you haven't already (bonus if you
>>cross-reference the issue here).
>
> Oh,
>
>>> +      ;; 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/"
>
> The last release was 25 years ago.
>
> As fun as tracking down Steve Hardt might be (assuming they are still
> alive), I don't think in would result in a new one.

Ah!  We never know ;-).  You could use the opportunity to say thanks for
the childhood memories, haha.

I leave it up to you.

Cheers,

-- 
Maxim




This bug report was last modified 81 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.