Subject: [bug#62228] [PATCH v3 3/3] gnu: Add sgt-puzzles.

From: Sergey Trofimov <[email-masked]>
Date: Sun, 10 Mar 2024 22:36:40 +0100

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

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9ff08e5e74..b7486ec940 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -938,6 +938,77 @@ (define-public rogue
     (home-page "https://github.com/Davidslv/rogue")
     (license license:bsd-3)))
 
+(define-public sgt-puzzles
+  (package
+    (name "sgt-puzzles")
+    (version "20240302.80aac31")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "026jsfigx9fvmx8cpkfsf788cjvni8kz4cyljlzyscrhmqdfdrnk"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:tests? #f ;No tests.
+           #:configure-flags #~(list "-DNAME_PREFIX=sgt-")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'set-xdg-open-path
+                          (lambda _
+                            (substitute* "gtk.c"
+                              (("(#define HELP_BROWSER_PATH ).+" all define)
+                               (string-append define "\""
+                                              #$(this-package-input
+                                                 "xdg-utils")
+                                              "/bin/xdg-open\"\n"))))))))
+    (inputs (list gtk+ xdg-utils))
+    (native-inputs (list pkg-config perl imagemagick halibut))
+    (home-page "https://www.chiark.greenend.org.uk/~sgtatham/puzzles/")
+    (synopsis "Simon Tatham's portable puzzle collection")
+    (description
+     "Simon Tatham's Portable Puzzle Collection contains a number of
+popular puzzle games for one player.  It currently consists of these games:
+@itemize
+@item Black Box, ball-finding puzzle
+@item Bridges, bridge-placing puzzle
+@item Cube, rolling cube puzzle
+@item Dominosa, domino tiling puzzle
+@item Fifteen, sliding block puzzle
+@item Filling, polyomino puzzle
+@item Flip, tile inversion puzzle
+@item Galaxies, symmetric polyomino puzzle
+@item Guess, combination-guessing puzzle
+@item Inertia, gem-collecting puzzle
+@item Keen, arithmetic Latin square puzzle
+@item Light Up, light-bulb placing puzzle
+@item Loopy, loop-drawing puzzle
+@item Magnets, magnet-placing puzzle
+@item Map, map-colouring puzzle
+@item Mines, mine-finding puzzle
+@item Net, network jigsaw puzzle
+@item Netslide, toroidal sliding network puzzle
+@item Pattern
+@item Pearl, loop-drawing puzzle
+@item Pegs, peg solitaire puzzle
+@item Range, visible-distance puzzle
+@item Rectangles
+@item Same Game, block-clearing puzzle
+@item Signpost, square-connecting puzzle
+@item Singles, number-removing puzzle
+@item Sixteen, toroidal sliding block puzzle
+@item Slant, maze-drawing puzzle
+@item Solo, number placement puzzle
+@item Tents, tent-placing puzzle
+@item Towers, tower-placing Latin square puzzle
+@item Twiddle, rotational sliding block puzzle
+@item Undead, monster-placing puzzle
+@item Unequal, Latin square puzzle
+@item Unruly, black and white grid puzzle
+@item Untangle, planar graph layout puzzle
+@end itemize")
+    (license license:expat)))
 
 (define-public bzflag
   (package
-- 
2.41.0