GNU bug report logs - #35127
[PATCH] Add meritous.

Previous Next

Package: guix-patches;

Reported by: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>

Date: Wed, 3 Apr 2019 17:39:02 UTC

Severity: normal

Tags: patch

Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 35127 in the body.
You can then email your comments to 35127 AT debbugs.gnu.org in the normal way.

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

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


Report forwarded to guix-patches <at> gnu.org:
bug#35127; Package guix-patches. (Wed, 03 Apr 2019 17:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 03 Apr 2019 17:39:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: guix-patches <at> gnu.org
Subject: [PATCH] Add meritous.
Date: Wed, 03 Apr 2019 19:37:52 +0200
[Message part 1 (text/plain, inline)]
Hello,

The following patch adds Meritous game. See comments for the usual
gotchas.

Feedback welcome.

Regards,

-- 
Nicolas Goaziou
[0001-gnu-Add-meritous.patch (text/x-diff, inline)]
From 72cb4a70ecc8e8f2688dec78ece29e434e04acd1 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Date: Mon, 1 Apr 2019 21:36:44 +0200
Subject: [PATCH] gnu: Add meritous.

* gnu/packages/games.scm (meritous): New variable.
---
 gnu/packages/games.scm | 60 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8207b92dc9..050ff657a1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -6749,3 +6749,63 @@ exec ~a --data-path=~a/share/flare --mods=empyrean_campaign~%"
     (description "Flare is a single-player 2D action RPG with
 fast-paced action and a dark fantasy style.")
     (license license:cc-by-sa3.0)))
+
+(define-public meritous
+  (package
+    (name "meritous")
+    (version "1.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/meritous/meritous.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0n5jm4g0arjllgqmd2crv8h02i6hs3hlh1zyc7ng7yfpg1mbd8p8"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test
+       #:make-flags
+       (list "CC=gcc"
+             (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'fix-sdl-path
+           ;; XXX: For some reason, `sdl-config' reports stand-alone SDL
+           ;; directory, not SDL-union provided as an input to the package.
+           ;; We force the latter with "--prefix=" option.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "Makefile"
+               (("sdl-config" command)
+                (string-append command " --prefix=" (assoc-ref inputs "sdl"))))
+             #t))
+         (add-after 'unpack 'fix
+           ;; XXX: Songs are removed due to licensing issues.  However, the
+           ;; game tries to load them, and, since it cannot find them,
+           ;; crashes.  Users cannot add them back, the store being read-only,
+           ;; so we turn off background music altogether.
+           (lambda _
+             (substitute* "src/audio.c"
+               (("PlayBackgroundMusic\\(new_track\\);" all)
+                (string-append "// " all))))))))
+    (native-inputs
+     `(("intltool" ,intltool)))
+    (inputs
+     `(("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer)))
+       ("zlib" ,zlib)))
+    ;; Original home page <http://asceai.net/meritous/> has stalled.
+    (home-page "https://gitlab.com/meritous/meritous")
+    (synopsis "Action-adventure dungeon crawl game")
+    (description "Far below the surface of the planet is a secret.  A place of
+limitless power.  Those that seek to control such a utopia will soon bring an
+end to themselves.  Seeking an end to the troubles that plague him, PSI user
+Merit journeys into the hallowed Orcus Dome in search of answers.
+
+Meritous is a action-adventure game with simple controls but a challenge to
+find a balance of power verses recovery time during real-time battles.  Set in
+a procedurally generated world, the player can explore thousands of rooms in
+search of powerful artifacts, tools to help them, and to eventually free the
+Orcus Dome from evil.")
+    (license license:gpl3+)))
-- 
2.21.0


Information forwarded to guix-patches <at> gnu.org:
bug#35127; Package guix-patches. (Wed, 03 Apr 2019 20:08:01 GMT) Full text and rfc822 format available.

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

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Cc: 35127 <at> debbugs.gnu.org
Subject: Re: [bug#35127] [PATCH] Add meritous.
Date: Wed, 03 Apr 2019 22:07:21 +0200
Hi Nicolas,

> +         (add-after 'unpack 'fix-sdl-path
> +           ;; XXX: For some reason, `sdl-config' reports stand-alone SDL
> +           ;; directory, not SDL-union provided as an input to the package.
> +           ;; We force the latter with "--prefix=" option.
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "Makefile"
> +               (("sdl-config" command)
> +                (string-append command " --prefix=" (assoc-ref inputs "sdl"))))
> +             #t))

Hmm, weird.  Do you know why this happens?  Is this something we can fix
in sdl-union?

> +         (add-after 'unpack 'fix
> +           ;; XXX: Songs are removed due to licensing issues.  However, the
> +           ;; game tries to load them, and, since it cannot find them,
> +           ;; crashes.  Users cannot add them back, the store being read-only,
> +           ;; so we turn off background music altogether.

Oh :(

Where are the songs removed?  Should they be removed in a snippet?

> +           (lambda _
> +             (substitute* "src/audio.c"
> +               (("PlayBackgroundMusic\\(new_track\\);" all)
> +                (string-append "// " all))))))))

Please end with #T.

> +    (native-inputs
> +     `(("intltool" ,intltool)))
> +    (inputs
> +     `(("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer)))
> +       ("zlib" ,zlib)))
> +    ;; Original home page <http://asceai.net/meritous/> has stalled.

I don’t think “stalled” is the right term.  I think you can remove this
comment.  The gitlab page is fine as a home page.

> +    (description "Far below the surface of the planet is a secret.  A place of
> +limitless power.

How about “a secret place of limitless power”?  (“is a secret” sounds
odd to me.)

> +Meritous is a action-adventure game with simple controls but a challenge to
> +find a balance of power verses recovery time during real-time
> battles.

Should be “versus”.

--
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#35127; Package guix-patches. (Thu, 04 Apr 2019 09:26:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 35127 <at> debbugs.gnu.org
Subject: Re: [bug#35127] [PATCH] Add meritous.
Date: Thu, 04 Apr 2019 11:24:54 +0200
Hello,

Thank you for the review.

Ricardo Wurmus <rekado <at> elephly.net> writes:

>> +         (add-after 'unpack 'fix-sdl-path
>> +           ;; XXX: For some reason, `sdl-config' reports stand-alone SDL
>> +           ;; directory, not SDL-union provided as an input to the package.
>> +           ;; We force the latter with "--prefix=" option.
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (substitute* "Makefile"
>> +               (("sdl-config" command)
>> +                (string-append command " --prefix=" (assoc-ref inputs "sdl"))))
>> +             #t))
>
> Hmm, weird.  Do you know why this happens?  Is this something we can fix
> in sdl-union?

The Makefile uses "$(shell sdl-config --libs)" (see
<https://gitlab.com/meritous/meritous/blob/master/Makefile>). I tried to
replace the sdl-config executable with its full path, i.e.,
(string-append (assoc-ref inputs "sdl") "/bin/sdl-config"), to no avail.

Is there a problem in sdl-union? Is the `shell' call the issue? I don't
know.

>> +         (add-after 'unpack 'fix
                                 ^^^
                     I replaced that with 'fix-crash

>> +           ;; XXX: Songs are removed due to licensing issues.  However, the
>> +           ;; game tries to load them, and, since it cannot find them,
>> +           ;; crashes.  Users cannot add them back, the store being read-only,
>> +           ;; so we turn off background music altogether.
>
> Oh :(
>
> Where are the songs removed?  Should they be removed in a snippet?

The songs are not in the repository. See
<https://gitlab.com/meritous/meritous/blob/master/dat/m/README-music.txt>
Yet, the game tries to find them, and, AFAICT, crashes when it fails.
They could be replaced with free music, but I don't think it has been
done in any distribution.

Also, this is just for background music. The game still provides ambient
sounds.

For clarity, I reworded the comment a bit:

     ;; XXX: Songs are not present in the repository, due to licensing
     ;; issues.  Yet, the game tries to load them, and, since it cannot
     ;; find them, crashes.  Users cannot add them back, the store being
     ;; read-only, so we turn off background music altogether.

>> +           (lambda _
>> +             (substitute* "src/audio.c"
>> +               (("PlayBackgroundMusic\\(new_track\\);" all)
>> +                (string-append "// " all))))))))
>
> Please end with #T.

Oops. Done.

>> +    (native-inputs
>> +     `(("intltool" ,intltool)))
>> +    (inputs
>> +     `(("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer)))
>> +       ("zlib" ,zlib)))
>> +    ;; Original home page <http://asceai.net/meritous/> has stalled.
>
> I don’t think “stalled” is the right term.  I think you can remove this
> comment.  The gitlab page is fine as a home page.

OK.

>> +    (description "Far below the surface of the planet is a secret.  A place of
>> +limitless power.
>
> How about “a secret place of limitless power”?  (“is a secret” sounds
> odd to me.)
>
>> +Meritous is a action-adventure game with simple controls but a challenge to
>> +find a balance of power verses recovery time during real-time
>> battles.
>
> Should be “versus”.

OK. I will fix those before pushing.

WDYT?

Regards,

-- 
Nicolas Goaziou




Information forwarded to guix-patches <at> gnu.org:
bug#35127; Package guix-patches. (Thu, 04 Apr 2019 10:25:02 GMT) Full text and rfc822 format available.

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

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Cc: 35127 <at> debbugs.gnu.org
Subject: Re: [bug#35127] [PATCH] Add meritous.
Date: Thu, 04 Apr 2019 12:24:17 +0200
Nicolas Goaziou <mail <at> nicolasgoaziou.fr> writes:

[…]
> OK. I will fix those before pushing.
>
> WDYT?

Thanks for the clarifications.  You can push this with these changes.
Thank you!

-- 
Ricardo





Reply sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
You have taken responsibility. (Thu, 04 Apr 2019 12:52:01 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
bug acknowledged by developer. (Thu, 04 Apr 2019 12:52:02 GMT) Full text and rfc822 format available.

Message #19 received at 35127-done <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 35127-done <at> debbugs.gnu.org
Subject: Re: [bug#35127] [PATCH] Add meritous.
Date: Thu, 04 Apr 2019 14:51:42 +0200
Hello,

Ricardo Wurmus <rekado <at> elephly.net> writes:

> Thanks for the clarifications.  You can push this with these changes.

Pushed as 660e00507e308cdfe0bab681d95dc2cc07000b80. Thank you.

Regards,

-- 
Nicolas Goaziou




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 03 May 2019 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 354 days ago.

Previous Next


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