@@ -1843,6 +1843,7 @@ dist_patch_DATA = \
%D%/packages/patches/scons-test-environment.patch \
%D%/packages/patches/screen-hurd-path-max.patch \
%D%/packages/patches/scsh-nonstring-search-path.patch \
+ %D%/packages/patches/sgt-puzzles-install-two-icon-sizes.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seed-webkit.patch \
%D%/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch \
@@ -873,6 +873,74 @@ (define-public bsd-games
;; phantasia (all but phantasia/pathnames.h.in, which is bsd-3)
(license:fsf-free "file:///phantasia/COPYRIGHT")))))
+(define-public sgt-puzzles
+ (package
+ (name "sgt-puzzles")
+ (version "20230313.adf2a09")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0205wrshf2y27fzaqxv4gfpgmnlj4klwjcadwjrzjx7fkkzlr51j"))
+ (patches (search-patches "sgt-puzzles-install-two-icon-sizes.patch"))))
+ (build-system cmake-build-system)
+ (inputs (list gtk+ xdg-utils))
+ (native-inputs (list pkg-config perl imagemagick halibut))
+ (arguments
+ `(#:tests? #f ; No tests.
+ #:configure-flags '("-DNAME_PREFIX=sgt-")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'set-xdg-open-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "gtk.c"
+ (("(#define HELP_BROWSER_PATH ).+" all define)
+ (string-append define "\""
+ (search-input-file inputs "/bin/xdg-open") "\"" "\n")))
+ #t)))))
+ (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:
+ * Black Box, ball-finding puzzle
+ * Bridges, bridge-placing puzzle
+ * Cube, rolling cube puzzle
+ * Dominosa, domino tiling puzzle
+ * Fifteen, sliding block puzzle
+ * Filling, polyomino puzzle
+ * Flip, tile inversion puzzle
+ * Galaxies, symmetric polyomino puzzle
+ * Guess, combination-guessing puzzle
+ * Inertia, gem-collecting puzzle
+ * Keen, arithmetic Latin square puzzle
+ * Light Up, light-bulb placing puzzle
+ * Loopy, loop-drawing puzzle
+ * Magnets, magnet-placing puzzle
+ * Map, map-colouring puzzle
+ * Mines, mine-finding puzzle
+ * Net, network jigsaw puzzle
+ * Netslide, toroidal sliding network puzzle
+ * Pattern
+ * Pearl, loop-drawing puzzle
+ * Pegs, peg solitaire puzzle
+ * Range, visible-distance puzzle
+ * Rectangles
+ * Same Game, block-clearing puzzle
+ * Signpost, square-connecting puzzle
+ * Singles, number-removing puzzle
+ * Sixteen, toroidal sliding block puzzle
+ * Slant, maze-drawing puzzle
+ * Solo, number placement puzzle
+ * Tents, tent-placing puzzle
+ * Towers, tower-placing Latin square puzzle
+ * Twiddle, rotational sliding block puzzle
+ * Undead, monster-placing puzzle
+ * Unequal, Latin square puzzle
+ * Unruly, black and white grid puzzle
+ * Untangle, planar graph layout puzzle")
+ (license license:expat)))
(define-public bzflag
(package
new file mode 100644
@@ -0,0 +1,35 @@
+From: Ben Hutchings <benh@debian.org>
+Date: Sun, 22 Jan 2023 22:58:43 +0100
+Subject: Install both 48x48 and 96x96 icons
+Bug-Debian: https://bugs.debian.org/887982
+
+gnome-shell prefers to use 96x96 icons, so install them as well as the
+48x48 icons. Install them in size-specific directories instead of
+using suffixes to the filename, and change the desktop files
+accordingly.
+
+---
+--- a/cmake/platforms/unix.cmake
++++ b/cmake/platforms/unix.cmake
+@@ -107,7 +107,9 @@ function(set_platform_puzzle_target_prop
+ endif()
+ configure_file(${CMAKE_SOURCE_DIR}/puzzle.desktop.in ${binary_name}.desktop)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-48d24.png
+- DESTINATION share/pixmaps OPTIONAL RENAME ${binary_name}-48d24.png)
++ DESTINATION share/icons/hicolor/48x48/apps OPTIONAL RENAME ${binary_name}.png)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-96d24.png
++ DESTINATION share/icons/hicolor/96x96/apps OPTIONAL RENAME ${binary_name}.png)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${binary_name}.desktop
+ DESTINATION share/applications)
+ endif()
+--- a/puzzle.desktop.in
++++ b/puzzle.desktop.in
+@@ -4,7 +4,7 @@ Type=Application
+ Name=${displayname}
+ Comment=${description}
+ Exec=${binary_name}
+-Icon=${binary_name}-48d24
++Icon=${binary_name}
+ StartupNotify=false
+ Categories=Game;LogicGame;
+ Terminal=false