diff mbox series

[bug#54476] gnu: games: Add robotfindskitten.

Message ID d7b56d3619d5fea4effb0d428dfec8f48dd78f60.camel@riabenko.com
State Accepted
Headers show
Series [bug#54476] gnu: games: Add robotfindskitten. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Roman Riabenko March 20, 2022, 2:28 p.m. UTC
This patch adds robotfindskitten.

Roman

Comments

Liliana Marie Prikler March 21, 2022, 6:59 a.m. UTC | #1
Hi Roman,

Am Sonntag, dem 20.03.2022 um 16:28 +0200 schrieb Roman Riabenko:

> +    ;; Despite what guix lint says, version 2.8284271.702 is newer
> then
> +    ;; 1600003_201b. See ChangeLog for version history.
> +    (version "2.8284271.702")
> +    ;; The git version is the same as in the release tarball, but it
> bundles
> +    ;; convenient .desktop files, which were requested for Debian.
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url
> +                    
> "https://github.com/robotfindskitten/robotfindskitten")
> +                    (commit
> "1cae36621f9c19d19a40eacf63789913d4ef5d5c")))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "0ps3xrl1yh0h7jhl3bwhx5xw2hvhzync03y08i66rzw098r530qq"))))
Looking at the git repository, those are *not* the same.  Use git-
version or use the tag as commit, but don't mix conventions.
> +                  (replace 'bootstrap
> +                    (lambda _
> +                      (invoke "autoreconf" "-ifv"))) ;per README.md
The existing bootstrap should already correctly invoke autoreconf if no
bootstrap script exists.
> +                  (add-after 'unpack 'fix-install-path
> +                    (lambda _
> +                      ;; It is configured to install executable to
> /games or
> +                      ;; /usr/local/games per Filesystem Hierarchy
> Standard.
> +                      ;; We change that to get it in $PATH.
> +                      (substitute* "src/Makefile.am"
> +                        (("\\$\\(prefix\\)/games") "$(prefix)/bin"))
We could change this by using #:make-flags instead, I believe.
> +                      ;; When built with guix, all characters are
> displayed in
> +                      ;; the background colour pair. If it is not
> set manually,
> +                      ;; this is not happening, so we get back
> colour into the
> +                      ;; game. The background is redrawn anyway. See
> man bkgd.
> +                      (substitute* "src/robotfindskitten.c"
> +                        (("\\(void\\) bkgd \\( \\(chtype\\)
> COLOR_PAIR\\(WHITE\\) \\);")
> +                         "")))))
This should probably go into a "patch-source" phase.

> +    (synopsis "Zen Simulation of robot finding kitten")
> +    (description
> +     "In this simulation, you play the part of robot.  Your task is
> to
> +complete the simulation by finding kitten, as is your destiny, and
> indeed your
> +wont.  You (robot) are represented by the # character, and you move
> around with
> +the arrow keys touching things.  If the thing you touch is kitten,
> you get a
> +cute little animation (which was cuter in the DOS version) and the
> simulation
> +ends.  Otherwise, you get a brief description of what it is you
> touched.")
Both synopsis and description could use some love.  Plain copypasta
with grammatical errors is not good optics.

Cheers
M April 12, 2022, 11:59 a.m. UTC | #2
Roman Riabenko schreef op zo 20-03-2022 om 16:28 [+0200]:
> +(define-public robotfindskitten
> +  (package
> +    (name "robotfindskitten")
> +    ;; Despite what guix lint says, version 2.8284271.702 is newer
> then
> +    ;; 1600003_201b. See ChangeLog for version history.
> +    (version "2.8284271.702")

You can try teaching "guix lint" (actually, (guix import git)) to
recognise the 2.8284271.702 as newest version.  Possibly adding

  (properties '((release-tag-version-delimiter . ".")))

like done for the 'upower' package is sufficient.

Greetings,
Maxime.
diff mbox series

Patch

From c35c4283a2e66c03693164df1b9e62514478bb1c Mon Sep 17 00:00:00 2001
From: Roman Riabenko <roman@riabenko.com>
Date: Thu, 17 Mar 2022 14:34:25 +0200
Subject: [PATCH] gnu: games: Add robotfindskitten.

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

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8cc29b3487..9ed0cad802 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -69,6 +69,7 @@ 
 ;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;; Copyright © 2022 Yovan Naumovski <yovan@gorski.stream>
+;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2250,6 +2251,61 @@  (define-public retux
                      license:gpl2+
                      license:gpl3+)))))
 
+(define-public robotfindskitten
+  (package
+    (name "robotfindskitten")
+    ;; Despite what guix lint says, version 2.8284271.702 is newer then
+    ;; 1600003_201b. See ChangeLog for version history.
+    (version "2.8284271.702")
+    ;; The git version is the same as in the release tarball, but it bundles
+    ;; convenient .desktop files, which were requested for Debian.
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/robotfindskitten/robotfindskitten")
+                    (commit "1cae36621f9c19d19a40eacf63789913d4ef5d5c")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ps3xrl1yh0h7jhl3bwhx5xw2hvhzync03y08i66rzw098r530qq"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'bootstrap
+                    (lambda _
+                      (invoke "autoreconf" "-ifv"))) ;per README.md
+                  (add-after 'unpack 'fix-install-path
+                    (lambda _
+                      ;; It is configured to install executable to /games or
+                      ;; /usr/local/games per Filesystem Hierarchy Standard.
+                      ;; We change that to get it in $PATH.
+                      (substitute* "src/Makefile.am"
+                        (("\\$\\(prefix\\)/games") "$(prefix)/bin"))
+                      ;; When built with guix, all characters are displayed in
+                      ;; the background colour pair. If it is not set manually,
+                      ;; this is not happening, so we get back colour into the
+                      ;; game. The background is redrawn anyway. See man bkgd.
+                      (substitute* "src/robotfindskitten.c"
+                        (("\\(void\\) bkgd \\( \\(chtype\\) COLOR_PAIR\\(WHITE\\) \\);")
+                         "")))))
+       #:configure-flags
+       '("--enable-silent-rules")))
+    (native-inputs (list autoconf automake libtool texinfo))
+    (inputs (list ncurses))
+    (outputs '("out" "debug"))
+    ;; The following was copied from the bundled XML file and formatted.
+    (synopsis "Zen Simulation of robot finding kitten")
+    (description
+     "In this simulation, you play the part of robot.  Your task is to
+complete the simulation by finding kitten, as is your destiny, and indeed your
+wont.  You (robot) are represented by the # character, and you move around with
+the arrow keys touching things.  If the thing you touch is kitten, you get a
+cute little animation (which was cuter in the DOS version) and the simulation
+ends.  Otherwise, you get a brief description of what it is you touched.")
+    (home-page "http://robotfindskitten.org/")
+    (license license:gpl2+)))
+
 (define-public roguebox-adventures
   (package
     (name "roguebox-adventures")

base-commit: 8a0713aef2a8d709551d51fefff45f4611d05c66
-- 
2.34.0