%define _cmake_shared_libs -DBUILD_SHARED_LIBS:BOOL=OFF Name: puzzles Version: 20241108.8e83f39 Release: 2%{?dist} Epoch: 1 Summary: A collection of one-player puzzle games Group: Amusements/Games License: MIT URL: http://www.chiark.greenend.org.uk/~sgtatham/puzzles/ Source0: http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-%{version}.tar.gz Source1: template.desktop Patch0: puzzles-20180510.113aad8-gdk-deprecated.patch #Patch1: puzzles-20190902-fortified-memset-fix.patch BuildRequires: gcc, gtk2-devel, gtk3-devel, perl, desktop-file-utils, coreutils, sed, cmake, ImageMagick, glibc-common, halibut %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: cmake-rpm-macros %endif %description This is a collection of small desktop toys, little games that you can pop up in a window and play for two or three minutes while you take a break from whatever else you were doing. %prep %setup -q -n puzzles-%{version} %patch -P 0 -p1 #%patch -P 1 -p1 %build %cmake -DNAME_PREFIX:STRING="%{name}-" . iconv -f ISO88591 -t UTF8< LICENCE > LICENSE %cmake_build %install %cmake_install %files %doc README HACKING puzzles.txt %license LICENSE %{_bindir}/* %{_datadir}/applications/* %{_datadir}/icons/hicolor/*/apps/* %dir %{_datarootdir}/sgt-puzzles %docdir %{_datarootdir}/sgt-puzzles/help %{_datarootdir}/sgt-puzzles/help %changelog * Wed Nov 13 2024 David Waring - 20241108.8e83f39-1 - Update to latest upstream release tarball: - Pattern: fix crash when printing. - Bridges: fix an out-of-bounds read. - Signpost: fix an out-of-bounds read. * Wed Oct 02 2024 David Waring - 20240928.182b3d9-1 - Update to latest upstream release tarball: - Pattern: fix three bugs in game_text_format. - Untangle: fix a memory leak. - Findloop improvements * Wed Aug 28 2024 David Waring - 20240827.52afffa-1 - Update to latest release tarball: - Mosaic: Fix buffer overflow in game_text_format(). * Wed Aug 21 2024 David Waring - 20240817.262f709-1 - Update to latest release tarball: - Updates to polygon drawing routines. * Wed Aug 07 2024 David Waring - 20240802.1c1899e-1 - Update to latest release tarball: - GTK: Handle Shift+Tab properly. - Untangle: add cursor control interface. - Map: add user preference to draw larger stipple marks. - Palisade: add double-resolution cursor mode. * Wed Apr 03 2024 David Waring - 20240330.fd304c5-1 - Update to latest release tarball: - Net: Fix off-grid dragging, including a segfault * Wed Mar 06 2024 David Waring - 20240302.80aac31-1 - Update to latest release tarball: - Various WASM and Windows binaries fixes * Wed Jan 10 2024 David Waring - 20240103.7a93ae5-1 - Update to latest release tarball * Wed Nov 08 2023 David Waring - 20231025.35f7965-1 - Update to latest release tarball * Tue Sep 05 2023 David Waring - 20230828.67496e7-1 - Update to latest release tarball * Tue Jun 20 2023 David Waring - 20230619.da014d2-1 - Update to latest release tarball - Addition of new Spectre monotiling - Updates and improvements to: Pearl, Cube, Fifteen and Loopy * Tue Jun 06 2023 David Waring - 20230604.4227ac1-1 - Update to latest release tarball - Memory leak fixes. * Tue May 30 2023 David Waring - 20230527.b6c842a-1 - Update to latest release tarball - Various fixes and improvements * Tue Apr 18 2023 David Waring - 20230417.0d86fe4-1 - Update to latest release tarball - Various fixes and improvements * Tue Nov 22 2022 David Waring - 20221122.2580391-1 - Update to latest release tarball - js: various - Code clean ups - Scaling improvements for palisade and loopy * Tue Oct 18 2022 David Waring - 20221016.879a692-1 - Update to latest release tarball - js: When making a hidden element visible, just remove "display: none" - js: Remove unnecessary setting of status bar size - js: Move dialogue-box sizing and positioning from JavaScript to CSS - js: Move most style settings from JavaScript to CSS - Correct and enable the range check on statepos when loading - Add more validation to midend deserialisation routine - js: Update permalinks and undo/redo buttons when loading - js: Update comment on possible future enhancements - Add a missing "const" to js_draw_poly and js_canvas_draw_poly * Tue Oct 11 2022 David Waring - 20221008.85d2a7d-1 - Update to latest release tarball - Hide some words in top-level menu items on small viewports - Make JavaScript game controls work better in small viewports. * Tue Sep 20 2022 David Waring - 20220913.27dd36e-1 - Update to latest release tarball - Enable Apple Silicon in the MacOS builds. - unix, gtk: Install and use HTML help * Tue Aug 2 2022 David Waring - 20220802.8399cff-1 - Update to latest release tarball - Re-fix the GTK dark theme check. - Update the developer documentation. - Style cleanups from the previous fixes. - Makefile.doc: Update file list in the clean rule - gtk: Adjust to reordering of XPM icons - gtk: Do not override window background colour when using a dark theme - Bridges: Fix off-by-one in WITHIN() - Unruly: Fix memory leak in dup_game() - Towers: Fix indentation of some solver code - Pearl: Require width or height to be at least 6 for Tricky * Tue Jun 14 2022 David Waring - 20220613.387d323-1 - Update to latest release tarball: - Mines: fix a typo in a comment. * Tue Feb 8 2022 David Waring - 20220128.c43a34f-1 - Update to latest release tarball: - Pearl: reorder helper functions. - Pearl: permit drawing a whole loop in one drag. - Mosaic: fix uninitialised field in dup_game(). - Mosaic: fix inconsistently drawn keyboard cursor. * Sat Jan 15 2022 David Waring - 20220109.229d062-1 - Update to latest release tarball: - Windows: reinstate SetWindowPos in check_window_size. - windows.c: fix some mis-indented pieces of code. - Mosaic: fix encoding of aggressiveness in game params. - Try to fix flakiness in the NestedVM build. * Tue Dec 28 2021 David Waring - 20211212.b56c994-1 - Update to latest release tarball: - Pattern: fix a compile warning about memset bounds. - tree234: avoid an uninitialised-variable warning. - gtk.c: squelch uninitialised-variable warning. - malloc.c: check allocation sizes against PTRDIFF_MAX. - malloc.c: fix copy-pasted comment from the Dawn Of Time. - Palisade: explicitly use 'signed char' for clues. - Map: add missing sresize in new_game_desc(). * Tue Nov 2 2021 David Waring - 20211031.640f923-1 - Update to latest release tarball: - Pearl: document game options. - Galaxies: store game solution in the aux string. - Tents: fix bias in tent placement. * Tue Sep 21 2021 David Waring - 20210914.42cbd76-1 - Update to latest release tarball: - Add missing documentation of 'int dir' parameters. - Add 'const' to the draw_polygon coords array parameter. * Sun Sep 12 2021 David Waring - 20210911.d204978-1 - Update to latest release tarball: - Tents: reinstate bottom and right grid borders. - Fix benchmark.sh for the new cmake world. - Unruly: new 'Trivial' difficulty level. - Black Box: fix highlights in top left grid corner. * Tue Jun 8 2021 David Waring - 20210526.8f3413c-1 - Update to latest release tarball: - galaxieseditor: make 'copy to clipboard' give the game id. - Build a lot of conditioned-out test and helper programs. - Permit building GUI helper tools. - GTK3: fix window redraw after copying to clipboard. - nestedvm.cmake: fix accidental use of dynamic scope. - WASM: move save file encoding from JS into C. - WASM: fix save-file generation. - Galaxies: clean up draw/undraw code for dragged arrows. - Galaxies: avoid division by zero in draw_arrow(). - Remove leftover Windows CE cruft. - Galaxies: disallow placing an edge touching a dot. * Thu Apr 29 2021 David Waring - 20210428.8ff394d-1 - Update to latest release tarball: - Toolchain file for MinGW cross-compilation. - Reinsert some missing screen-clears. - Mosaic: implement game_status. - Mosaic: use signed char for clue values. - Update copyright years. - Centralise initial clearing of the puzzle window. - Docs: fix Mosaic copy-and-paste error. - New puzzle: 'Mosaic'. * Fri Apr 23 2021 David Waring - 20210423.77866e1-1 - Update to latest release tarball: - wasm/js/emscripten: Fix page loading race - New grid type: compass dodecagonal - Suppress too-noisy Visual Studio warnings. - windows.c: fix some 64-bit cleanness warnings. - Add .gitignore rules for in-tree builds. * Sat Apr 17 2021 David Waring - 20210417.8fa545c-2 - Output games with "puzzles-" prefix on the binaries. - Update to latest release tarball: - Set ALLOW_MEMORY_GROWTH in the Emscripten build. * Fri Apr 16 2021 David Waring - 20210414.f8b15ba-1 - Update to latest release tarball: - icons.cmake: explicitly search for Perl. - Another rewrite of the WASM apology message. - Reword the apology when web puzzles fail to load. - Stop advertising GTK 1 as an option! - Advertise user-configurable cmake-time config options. - WASM: add the correct MIME type to .htaccess. - Install desktop files and pixmaps from CMake - Update web puzzles to current WASM-based Emscripten. - emscripten.cmake: remove a rogue diagnostic. - Support earlier versions of CMake. - Don't try to build the icons when cross-compiling. - Unix: allow adding a prefix to all the puzzle names. - Stop automatically adding warning flags and -Werror. - Provide pre-built icons in the source tarball. - Make the icons build step optional. - desktop.pl: cope with unfinished puzzles. - Filling grid gen: slightly randomise neighbour selection. - Filling: remove directional bias in grid generation. - Filling: fix assertion failure in 3x1 game generation. - Remove old Windows CE cruft. - Remove winiss.pl. - Migrate to a CMake-based build system. - Fix bit rot in the 'unfinished' subdir. * Tue Mar 23 2021 David Waring - 20201208.84cb4c6-1 - Update to latest release tarball: - Galaxies: fix assertion failure when adding out-of-bounds association. - Add method for frontends to query the backend's cursor location. * Fri Jun 12 2020 David Waring - 20200610.9aa7b7c-1 - Update to latest release tarball: - Group: fix assertion failure in Unreasonable generation. * Sun May 24 2020 David Waring - 20200524.66b9e8c-1 - Update to latest release tarball: - groupsolver: show working when using -v on ambiguous puzzles. - latin.c: call a user-provided validator function. [NFC] - Group: fill in the latin.c validator function. - Group: hard-mode identity deduction. - Keen: fill in the latin.c validator function. - Towers: fill in the latin.c validator function. - Unequal: fill in the latin.c validator function. * Fri May 22 2020 David Waring - 20200521.7acc554-1 - Update to latest release tarball: - Provide visual guide to the cursor location across the rows and columns. - unfinished/path: some jottings towards a solver. - Group: add a special deduction about the group identity. - Group: fix loop bounds in the solver. * Fri Apr 17 2020 David Waring - 20200413.2a0e91b-1 - Update to latest release tarball: - grid.c: fix size miscalculation in Floret tiling. * Sun Apr 12 2020 David Waring - 20200408.97a0dc0-1 - Update to latest release tarball: - GTK 3: handle nontrivial window scale factors. * Mon Mar 23 2020 David Waring - 20200318.d71ac73-1 - Update to latest release tarball: - Mines: add validation for negative mine count. * Sun Mar 1 2020 David Waring - 20200227.d022a1c-1 - Update to latest release tarball: - Tracks: fix a small memory leak. - Tracks: add reverse neighbour deduction in hard mode. - Tracks: new parity-based deduction. - Tracks: new neighbour-based deduction. - Tracks: add standalone solver program. - Tracks: make solver return max difficulty used. * Wed Jan 1 2020 David Waring - 20191231.79a5378-1 - Update to latest release tarball: - Update the copyright holders list in puzzles.but. - Add printing support for GTK. - Improve const-correctness in printing API. * Fri Dec 27 2019 David Waring - 20191226.ce69911-1 - Update to latest release tarball: - Don't segfault when no icons are available. * Sun Nov 17 2019 David Waring - 20191114.1c0c49d-1 - Update to the latest tarball: - Make --screenshot work even in (Cairo) GTK2 builds. - .gitignore: add more autotools detritus. * Mon Sep 2 2019 David Waring - 20190902.907c42b-1 - Update to the latest tarball: - Fix build failure reported in gcc 9. * Fri Apr 19 2019 David Waring - 20190415.e2135d5-1 - Update to the latest tarball: - Fix build failure in C90 mode. * Sun Apr 14 2019 David Waring - 20190414.1ffc737-1 - Update to the latest tarball: - Dominosa: more sophisticated grid layout in >= Hard mode. - Dominosa: max-difficulty option in the solver. - Dominosa: be more careful about >= Hard layout. - Dominosa: further forms of set analysis. - Javascript frontend: make Shift- and Ctrl-click work. - Dominosa: another local deduction in Basic level. - Dominosa: another forcing-chain based deduction. - findloop: alternative query function. - Dominosa: add area-parity deductions, at Basic level. - Dominosa: move set analysis with doubles into Extreme. * Tue Apr 9 2019 David Waring - 20190406.a2b70e2-1 - Update to the latest tarball: - Dominosa: add a command-line solver. - Dominosa: rewrite the solver. - Dominosa: introduce a difficulty system. - Dominosa: new deduction deduce_local_duplicate(). - Dominosa: add a Hard difficulty which can do set analysis. - Dominosa: allow set analysis even with adjacency. - Dominosa: update the to-do list. - New utility routine: sort with a context parameter. - Fix a handful of memory leaks in the midend. - Dominosa: add an Extreme difficulty, with forcing chains. - Dominosa: prevent hangs generating tiny hard puzzles. - Dominosa: add presets for Hard and Extreme difficulty. * Tue Feb 19 2019 David Waring - 20190219.6836323-1 - Update to the latest tarball: - Galaxies: prevent creation of empty undo-chain items. * Mon Feb 11 2019 David Waring - 20190211.1ba4e37-1 - Update to the latest tarball: - Pegs: clear ui->cur_jumping on undo or redo. * Tue Jan 29 2019 David Waring - 20190126.d7c8733-1 - Update to the latest tarball: - benchmark.pl: replace use of Perl <> with <<>>. * Sat Dec 15 2018 David Waring - 20181213.ced51ad-1 - Update to the latest tarball: - Replace fe->preset_menu when we change midend. * Sun Nov 25 2018 David Waring - 20181125.0a5d13b-1 - Update to the latest tarball: - Fix GTK 2 crash introduced by previous commit. - Don't initialise GTK in --screenshot mode. * Sun Nov 18 2018 David Waring - 20181114.db3b531-1 - Update to the latest tarball: - Add missing 'static' to game-internal declarations. - Unruly, Group: reference-count the 'immutable' array. - Add missing binary 'matching' to .gitignore. - Add a missing const in unfinished/sokoban.c. - Use C99 bool within source modules. - Replace TRUE/FALSE with C99 true/false throughout. - Adopt C99 bool in the grid.c API. - Adopt C99 bool in the shared Latin-square API. - Adopt C99 bool in the tree234 API. - Adopt C99 bool in misc.c functions. - Adopt C99 bool in the findloop API. - Adopt C99 bool in the edsf API. - Adopt C99 bool in the printing API. - Adopt C99 bool in the midend API. - Adopt C99 bool in the game backend API. - Add a #include of . * Thu Nov 8 2018 David Waring - 20181108.b732fda-1 - Update to the latest tarball: - Undead: remove an unused structure field. - Fix an inaccurate comment. - Fix a misuse of errno. * Tue Oct 9 2018 David Waring - 20181007.f281644-1 - Update to the latest tarball: - Fix OSX build failure from latest XCode update. * Thu Sep 27 2018 David Waring - 20180924.d8d5064-1 - Update to the latest tarball: - cube.c: Prohibit unsolvable single row/column game. - Dominosa: some more solver thoughts. - Net: rename 'loop' to 'err' in UI code. - Net: highlight more errors in locked tiles. * Thu Jul 26 2018 David Waring - 20180725.1db5961-1 - Update to the latest tarball: - Fix docs link from the JS Rectangles page. * Sun Jul 22 2018 David Waring - 20180721.11aab0d-1 - Update to the latest tarball: - Tracks: stop drawing background for clues in game_print. * Fri Jun 22 2018 David Waring - 20180622.1d9cf25-1 - Update to the latest tarball: - Fix return value from newgame_undo_deserialise_read. - Fix NUL-termination bug in saving from Javascript. * Fri Jun 15 2018 David Waring - 20180615.506b073-1 - Update to the latest tarball: - misc.c: Fix implementation of free_keys. * Sun Jun 3 2018 David Waring - 20180602.5a697b3-1 - Update to the latest tarball: - Parallelise the build script. - Fix Makefile.nestedvm so that it works with make -j. - Enable 64-bit osx build and fix a warning. - Enable high resolution on osx. * Mon May 21 2018 David Waring - 20180516.5141e5b-1 - Update to the latest tarball: - Bump the source and target versions used in javac. * Sat May 12 2018 David Waring - 20180510.113aad8-1 - Update to the latest tarball: - Stop using deprecated gdk_beep(). * Tue May 1 2018 David Waring - 20180429.31384ca-1 - Update to latest upstream tarball: - Buildscr: make long parts of the build conditionalisable. - latin.c: remove a rogue array overrun. * Thu Apr 26 2018 David Waring - 20180426.a1663d6-1 - Update to latest upstream tarball: - C89 build fixes. - Make static keyword come first everywhere. - Move `static' keyword to beginning of declaration. - Add request_keys() to the rest of the unfinished games. - Build fix: stop initialising an auto char array. - Add a request_keys() function with a midend wrapper. - Remove maxflow completely. - Convert Tents to use matching instead of maxflow. - Use the new matching() for latin.c. - Implementation of the Hopcroft-Karp algorithm. - Recipe: centralise dependencies for latin.c. - Move fgetline out into misc.c. * Sun Apr 22 2018 David Waring - 20180418.12cb1ad-1 - Update to latest upstream tarball: - Galaxies: clarify wording of completion condition. * Sat Apr 14 2018 David Waring - 20180414.664deae-1 - Update to latest upstream tarball: - Fix two bugs in Range's solver_reasoning_recursion(). * Tue Apr 10 2018 David Waring - 20180409.d95f476-1 - Update to latest upstream tarball: - Solo: add a missing params constraint for X puzzles. * Tue Mar 27 2018 David Waring - 20180326.c6e0161-1 - Remove deprecated GDK functions. - Update to latest upstream tarball: - Fix false-positive completion detection in X Solo. - Improve some solvers for hand crafting puzzles. * Sun Mar 4 2018 David Waring - 20180227.2adf005-1 - Update to latest upstream tarball * Tue Feb 6 2018 David Waring - 20180122.43b9eb1-1 - Update to latest upstream tarball * Sun Dec 10 2017 David Waring - 20171210.5247edd-1 - Update to latest tarball * Thu Nov 30 2017 David Waring - 20171130.4f8a4f7-1 - Update to latest tarball * Tue Nov 21 2017 David Waring - 20171119.ee8ea9b-1 - Update to the latest tarball * Tue Oct 31 2017 David Waring - 20171029.69773d8-1 - Update to latest tarball * Tue Oct 10 2017 David Waring - 20171008.00e2390-1 - Update to latest tarball * Sat Sep 9 2017 David Waring - 20170908.a0a581c-1 - Update to latest tarball * Tue Apr 4 2017 David Waring - 20170314.eedea41-1 - Update to latest tarball * Wed Dec 28 2016 David Waring - 20161228.7cae89f-1 - Update to latest tarball * Sun May 15 2016 David Waring - 20160429.b31155b-1 - Update to latest tarball - Bump epoch to reflect change to git revisions * Sun Jun 21 2015 Ralf Corsépius - 9023-13 - Use '|' as pattern-delimiter in sed expression (Fix FTFBS). - Add %%license. - Modernize spec. * Thu Jun 18 2015 Fedora Release Engineering - 9023-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sun Aug 17 2014 Fedora Release Engineering - 9023-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 9023-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sun Aug 04 2013 Fedora Release Engineering - 9023-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Wed Mar 6 2013 Toshio Kuratomi - 9023-8 - Remove vendor prefix from desktop files in F19+ https://fedorahosted.org/fesco/ticket/1077 * Thu Feb 14 2013 Fedora Release Engineering - 9023-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sat Jul 21 2012 Fedora Release Engineering - 9023-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sun Jan 29 2012 Bruno Wolff III - 9023-5 - Link with math library * Sat Jan 14 2012 Fedora Release Engineering - 9023-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Dec 06 2011 Adam Jackson - 9023-3 - Rebuild for new libpng * Wed Feb 09 2011 Fedora Release Engineering - 9023-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Dec 13 2010 Victor Bogado 9023 - New upstream release. * Sun Jul 26 2009 Fedora Release Engineering - 8596-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild *Mon Jun 22 2009 Victor Bogado 8596-1 - updating to a new upstream version *Thu Dec 11 2008 Victor Bogado 8365-1 - New updastream version *Mon Oct 27 2008 Victor Bogado 8200-3 - Build-Requires should have desktop-file-utils - Description should start with uppercase - iconv goes now in prep area - fixed mistakes in the versions of the change log - Names on the menu should start with an upper-case *Mon Oct 20 2008 Victor Bogado 8200-2 - Fixing problem with desktop files. *Mon Oct 20 2008 Victor Bogado 8200-1 - Suggestion made by reviewer Sergio Pascual . - rename all the binaries. - rename desktop files to follow the binary name. - adding LICENCE (renamed to LICENSE) to docs. - sed "in place", better coding. - removing sed out of build-requires. - Updated to last upstream version. *Mon Sep 01 2008 Victor Bogado 8149-1 - initial spec