# tests are broken on s390x # https://gitlab.gnome.org/jrb/crosswords/-/issues/118 %ifarch s390x %bcond_with tests %else %bcond_without tests %endif Name: crosswords Version: 0.3.6 Release: 1.20230105061052839678.pr71.214.gba66967 Summary: Solve crossword puzzles # crosswords itself is GPL-3.0-or-later, the puzzle sets it bundles are # CC-BY-SA-4.0 License: GPL-3.0-or-later and CC-BY-SA-4.0 URL: https://gitlab.gnome.org/jrb/crosswords Source: crosswords-0.3.6.tar.gz BuildRequires: desktop-file-utils BuildRequires: cmake BuildRequires: gcc BuildRequires: libappstream-glib BuildRequires: meson BuildRequires: sed %if %{with tests} # gen-word-list requires en_US.UTF8 # https://gitlab.gnome.org/jrb/crosswords/-/issues/109 BuildRequires: glibc-langpack-en %endif BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(gtk4) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libadwaita-1) BuildRequires: pkgconfig(libipuz-0.1) Requires: dbus-common Requires: %{name}-puzzle-sets-cats-and-dogs = %{version}-%{release} Requires: %{name}-puzzle-sets-uri = %{version}-%{release} Suggests: crossword-editor = %{version}-%{release} Suggests: %{name}-doc = %{version}-%{release} %description A simple and fun game of crosswords. Load your crossword files, or play one of the included games. Features include: - Support for shaped and colored crosswords - Loading .ipuz and .puz files - Hint support, such as showing mistakes and suggesting words - Dark mode support - Locally installed crosswords as well as support for 3rd party downloaders %package puzzle-sets-cats-and-dogs Summary: Puzzles about cats and dogs for GNOME Crosswords Requires: %{name} = %{version}-%{release} BuildArch: noarch %description puzzle-sets-cats-and-dogs This package contains a puzzle set about cats and dogs for GNOME Crosswords. %package puzzle-sets-uri Summary: Load a puzzle for GNOME Crosswords from disk Requires: %{name} = %{version}-%{release} BuildArch: noarch # Used to load .puz files from disk Recommends: ipuz-convertor = %{version}-%{release} %description puzzle-sets-uri This package contains a puzzle set for GNOME Crosswords that allows it to load puzzles from disk. %package doc Summary: Documentation for %{name} BuildArch: noarch %description doc This package contains additional documentation for GNOME Crosswords. %package -n crossword-editor Summary: Crossword puzzle editor Requires: %{name}%{?_isa} = %{version}-%{release} # Used to load .puz files from disk Recommends: ipuz-convertor = %{version}-%{release} %description -n crossword-editor Standalone-tool to create crossword puzzles based on GNOME Crosswords. It can be used to create simple puzzles with grids and clues. It has a pattern solver and grid autofill dialog for filling in hard-to-finish corners, and will make suggestions of words when creating the grid. %package -n ipuz-convertor Summary: Converts puz files to ipuz files BuildArch: noarch Requires: crosswords Requires: python3 Requires: python3dist(dateparser) Requires: python3dist(lxml) Requires: python3dist(puzpy) Requires: python3dist(regex) %description -n ipuz-convertor ipuz-convertor is a script to convert puzzle files from puz to ipuz. %prep %autosetup -p1 -n crosswords-0.3.6 # Update image references in README mkdir images cp -p data/images/{a-dogs-day,hero}.png images/ sed -i 's:data/images/:images/:g' README.md %build %meson -Ddevelopment=false %meson_build %install %meson_install %find_lang %{name} %if %{with tests} %check %meson_test appstream-util validate-relax --nonet \ %{buildroot}%{_metainfodir}/org.gnome.Crosswords.metainfo.xml desktop-file-validate \ %{buildroot}/%{_datadir}/applications/org.gnome.Crosswords.desktop \ %{buildroot}/%{_datadir}/applications/org.gnome.Crosswords.Editor.desktop %endif %files -f %{name}.lang %license COPYING %doc CONTRIBUTING.md NEWS.md README.md TODO.md images %{_bindir}/%{name} %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/puzzle-sets %{_datadir}/applications/org.gnome.Crosswords.desktop %{_datadir}/dbus-1/services/org.gnome.Crosswords.service %{_datadir}/glib-2.0/schemas/org.gnome.Crosswords.gschema.xml %{_datadir}/icons/hicolor/scalable/apps/org.gnome.Crosswords.svg %{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Crosswords-symbolic.svg %{_datadir}/mime/packages/org.gnome.Crosswords.xml %{_metainfodir}/org.gnome.Crosswords.metainfo.xml %files doc %license COPYING %doc docs %files puzzle-sets-cats-and-dogs %license COPYING %{_datadir}/%{name}/puzzle-sets/cats-and-dogs %files puzzle-sets-uri %license COPYING %{_datadir}/%{name}/puzzle-sets/uri %files -n crossword-editor %{_bindir}/crossword-editor %{_datadir}/applications/org.gnome.Crosswords.Editor.desktop %{_datadir}/dbus-1/services/org.gnome.Crosswords.Editor.service %{_datadir}/glib-2.0/schemas/org.gnome.Crosswords.Editor.gschema.xml %{_datadir}/icons/hicolor/scalable/apps/org.gnome.Crosswords.Editor.svg %{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Crosswords.Editor-symbolic.svg %files -n ipuz-convertor %license COPYING %{_datadir}/%{name}/ipuz-convertor %{_libexecdir}/ipuz-convertor %changelog * Thu Jan 05 2023 Packit - 0.3.6-1.20230105061052839678.pr71.214.gba66967 - Add an arrowword to our test set. (Jonathan Blandford) - Attempt at setting the color to match the style of the border (Jonathan Blandford) - New function to get the style of a border cell. (Jonathan Blandford) - quick-and-dirty attempt to test this out. (Jonathan Blandford) - set up the arrow drawing loop. (Jonathan Blandford) - Clarifying comment (Jonathan Blandford) - Finish the last portion of the crosswords overview (Jonathan Blandford) - Fix an embarrassing typo (Jonathan Blandford) - Add PuzzlePicker section, while extending more docs (Jonathan Blandford) - More document proof-reading. (Jonathan Blandford) - Split the overview into three docs, to make it less unwieldly (Jonathan Blandford) - Don't expand the list. (Jonathan Blandford) - Fix Philip's bug where we weren't loading the puzzle after download (Jonathan Blandford) - Calculate n_puzzles after reloading the model, so that it's correct (Jonathan Blandford) - Call update_state() directly instead of reloading the model (Jonathan Blandford) - Reload the model during update_state (Jonathan Blandford) - Remove debugging printout (Jonathan Blandford) - Use the PickerListRow instead of recreating the list every time. (Jonathan Blandford) - The saved file may not exist. No reason to warn. (Jonathan Blandford) - New class: PickerListRow (Jonathan Blandford) - Add a "changed" signal to PuzzleSetModelRow (Jonathan Blandford) - Add the delete file method. (Jonathan Blandford) - Minor cleanups (Jonathan Blandford) - Minor doc fixes (Jonathan Blandford) - Remind ourselves to update the overview doc when releasing (Jonathan Blandford) - Add another section: Game board (Jonathan Blandford) - Download to the right directory. Now we can open files from URI (Jonathan Blandford) - Pull out the build instructions to their own file (Jonathan Blandford) - Move RELEASING.md to the docs directory (Jonathan Blandford) - Move the build instructions to the devel guide (Jonathan Blandford) - Clean up, and experiment with style (Jonathan Blandford) - Updated style guide with some more information (Jonathan Blandford) - reload just the model. The List should update things. (Jonathan Blandford) - Remove debugging print statement and double load (Jonathan Blandford) - Update overview.md (Jonathan Blandford) - Add new file. (Jonathan Blandford) - Finish refactoring to the new setup (Jonathan Blandford) - Add some convenience functions to help with porting (Jonathan Blandford) - Fix name (Jonathan Blandford) - Add a save_guesses() function (Jonathan Blandford) - For now, just load all the puzzle-set-models on load. (Jonathan Blandford) - If mtime is NULL, then we don't need to compare times. (Jonathan Blandford) - Pass the model to the puzzle_picker (Jonathan Blandford) - Add a method to remove puzzles. (Jonathan Blandford) - Add comment (Jonathan Blandford) - Remove puzzles that have disappeared from our view. (Jonathan Blandford) - Centralize the check to see if a puzzle needs reloading (Jonathan Blandford) - Make reload public (Jonathan Blandford) - Make the check for broken puzzles work. (Jonathan Blandford) - Add public row getters (Jonathan Blandford) - First semi-working instance of PuzzleSetModel (Jonathan Blandford) - Mid-refactor. Remove the guesses being set in the PuzzleSetConfig (Jonathan Blandford) - Pass a GError to xwd_load_puzzle_from_resource (Jonathan Blandford) - Use Config instead of resource. (Jonathan Blandford) - Remove ability to get the KeyFile (Jonathan Blandford) - Convert PickerList and PuzzleDownloader to use PuzzleSetConfig (Jonathan Blandford) - Export more config settings (Jonathan Blandford) - Move almost completely to PuzzleSetConfig (Jonathan Blandford) - Add a stub for get_thumb. We should support this some day for real (Jonathan Blandford) - Add a way to get the config for subclasses (Jonathan Blandford) - Reindent header (Jonathan Blandford) - Remove all resource and keyfile usage (Jonathan Blandford) - Add load_puzzle to PuzzleSetConfig (Jonathan Blandford) - LayoutOverlay: move the coord field to a by-kind union (Federico Mena Quintero) - Fix comment that got misplaced (Federico Mena Quintero) - Move svg/Geometry to grid-layout/LayoutGeometry (Federico Mena Quintero) - GridLayout: store a LayoutConfig field, passed in via grid_layout_new() (Federico Mena Quintero) - Load dates into the config (Jonathan Blandford) - Default to -1 for numbers (Jonathan Blandford) - Minor fixes to the print function output (Jonathan Blandford) - Add arrows to the SVG data (Federico Mena Quintero) - More doc clarifications (Jonathan Blandford) - Add a puzzle_set_config_print() function (Jonathan Blandford) - More parsing fixes. We now parse most of the config (Jonathan Blandford) - CI: we do need the artifacts to deploy (Federico Mena Quintero) - CI: no-op for the pages job so gitlab thinks there's something to do (Federico Mena Quintero) - CI: don't hardcode the name of the default branch (Federico Mena Quintero) - CI: the pages job doesn't need to extend the container jobs (Federico Mena Quintero) - CI deploy: oops, the main branch is called master still (Federico Mena Quintero) - Clarify more fields as being required (Jonathan Blandford) - We don't use PuzzleSource anymore. It's always a resource (Jonathan Blandford) - Refactor PuzzleSetConfig some more. Now we load Picker keys (Jonathan Blandford) - Mark Header as requiredx (Jonathan Blandford) - Remove unused field (Jonathan Blandford) - Continue to remove key_file/resource pairs in favor of config (Jonathan Blandford) - Remove the old data from PuzzleSet (Jonathan Blandford) - Update docs to describe the new files (Jonathan Blandford) - Document the Disabled setting (Jonathan Blandford) - New class: PuzzleSetConfig (Jonathan Blandford) - packit: stop building for Fedora 36 (Davide Cavalca) - packit: make it actually work (Davide Cavalca) - README.md: link to the development guide (Federico Mena Quintero) - CI: render and publish the development guide (Federico Mena Quintero) - Fix references to images (Federico Mena Quintero) - CI: Install myst-parser so Sphinx can read Markdown documents (Federico Mena Quintero) - CI: document the .gitlab-ci.yml a bit (Federico Mena Quintero) - CI: Utility script to pull the container image for local development (Federico Mena Quintero) - CI: Create a container image with more tools for analysis/etc. (Federico Mena Quintero) - Update the documentation to reflect the puzzle-set change (Jonathan Blandford) - Remove the actual files. (Jonathan Blandford) - Big refactor: kill puzzle-set-resource (Jonathan Blandford) - proxy the signal (Jonathan Blandford) - Enable some mobile settings for flatpaks (Jonathan Blandford) - Update news (Jonathan Blandford) - I'm getting confused by all the different names. Maybe this will help (Jonathan Blandford) - Initial refactoring to pull out the puzzles from the picker (Jonathan Blandford) - Add horiz/vert divided to the overlay. (Jonathan Blandford) - Small bug: Make sure secondary label wraps (Jonathan Blandford) - Fix size allocation (Jonathan Blandford) - Tweak the default border sizes (Jonathan Blandford) - Highlight the clue currently being used (Jonathan Blandford) - Something closer to working. (Jonathan Blandford) - Sync WIP work (Jonathan Blandford) - Move ClueBlocks into their own Layout type (Jonathan Blandford) - Initial cut at secondary text. It's awful (Jonathan Blandford) - Add arrowword support to the grid layout (Jonathan Blandford) - Adjust all usage of ipuz_crossword to accept IPuzClueId (Jonathan Blandford) - s/get_string/get_string_by_id/g (Jonathan Blandford) - s/ClueId/IPuzClueId/g (Jonathan Blandford) - get rid of get_nth_clue_by_direction (Jonathan Blandford) - Move clue_equal to libipuz (Jonathan Blandford) - Match migration of ClueId to libipuz (Jonathan Blandford) - Use new ipuz_puzzle_deep_copy () (Jonathan Blandford) - Have the default size be based on the puzzle kind (Jonathan Blandford) - Whoops. Left in a debugging print statement. (Jonathan Blandford) - Start handling the case where we have clues with a hidden column (Jonathan Blandford) - Use the new clue_set capabilities in libipuz. (Jonathan Blandford) - Get the label name from the puzzle (Jonathan Blandford) - Make the header_label wrap (Jonathan Blandford) - Explicitly focus in/out the im_context (Jonathan Blandford) - fix the copyright date. (Jonathan Blandford) - Set the client widget for our im_context (Jonathan Blandford) - Reformat this to make it easier to read. (Jonathan Blandford) - I'm just guessing at this point (Jonathan Blandford) - Some attempts to make the gesture stuff work better (Jonathan Blandford) - Change label_relative_allocation() to child_relative_allocation() (Jonathan Blandford) - Typo in the docs (Jonathan Blandford) - Big change: Remove PlayXword->puzzle (Jonathan Blandford) - New convenience function to get the current guesses (Jonathan Blandford) - Add better debugging options to the puzzlestack (Jonathan Blandford) - All changes are GUESS changes. (Jonathan Blandford) - We don't need to double check that we can undo/redo (Jonathan Blandford) - We don't want the toggle to go to the undo/redo stack (Jonathan Blandford) - Remove white spaces (Jonathan Blandford) - After extensive user testing (AKA asking Rosanna) picked a behavior (Jonathan Blandford) - Add a third option to the centering. (Jonathan Blandford) - Use self->spacing instead of hardcoding to 16 (Jonathan Blandford) - Center the puzzle at all times, and animate it into postion. (Jonathan Blandford) - Fix two things in PlayGrid (Jonathan Blandford) - Hook up the across/down toggles to the puzzle (Jonathan Blandford) - Redo sizing. (Jonathan Blandford) - Clean up PlayCell::measure (Jonathan Blandford) - Clean up PlayCell::size_allocate (Jonathan Blandford) - Set the right width for clues. (Jonathan Blandford) - Use a temporary icons until we get image assets (Jonathan Blandford) - Skip the animation when loading a new puzzle (Jonathan Blandford) - Make sure intro is TRUE when we reload the puzzle (Jonathan Blandford) - Don't leak the action widget (Jonathan Blandford) - Animations are now smooth (Jonathan Blandford) - Clear animations correctly, and stop them leaking. (Jonathan Blandford) - Calculate the height correctly. (Jonathan Blandford) - Initial work on an action bar, and animating over the intro (Jonathan Blandford) - Fix zooming for notes and intro labels (Jonathan Blandford) - Hide / Show the title label based on the compact state (Jonathan Blandford) - Minor cleanups (Jonathan Blandford) - Simplify compact mode emition (Jonathan Blandford) - Make sure we take child_visible into account when measuring the height. (Jonathan Blandford) - Add a compact-mode property to play-xword (Jonathan Blandford) - Our old approach of skipping the animation didn't work (Jonathan Blandford) - Queue a resize if the zoom level changes. (Jonathan Blandford) - Store the previous zoom_level to minimize changes (Jonathan Blandford) - add play_xword_column_set_skip_next_anim() (Jonathan Blandford) - Always update the secondary state, even if it's not visible. (Jonathan Blandford) - Add a max width to the labels in hte info popup (Jonathan Blandford) - Fix typos (Jonathan Blandford) - Remove an extraneous queue_resize(). (Jonathan Blandford) - Fix typos in the documentation (Jonathan Blandford) - Change the animation easing effect to make it a bit smoother (Jonathan Blandford) - Set the title from the label (Jonathan Blandford) - Move the zoom window into the main menu (Jonathan Blandford) - Wrap the secondary label. (Jonathan Blandford) - Move scrolled-windows within the GtkStack (Jonathan Blandford) - Add a quick sketch (Jonathan Blandford) - It now works!!! (Jonathan Blandford) - Add Some documentation about the widget (Jonathan Blandford) - Clean up comments (Jonathan Blandford) - Forgot to include the enumeration class with the svg overlay (Jonathan Blandford) - Forgot to include the enumeration class with the svg overlay (Jonathan Blandford) - Refactored animation code: (Jonathan Blandford) - Add a #define to the animation time (Jonathan Blandford) - The animations have weak refs to the widgets below. Clear them first (Jonathan Blandford) - We now fade in / out on resize. (Jonathan Blandford) - Start prepping for animation (Jonathan Blandford) - New #defines to figure out the state (Jonathan Blandford) - To my surprise, gtk_widget_should_layout doesn't look for internal visibility (Jonathan Blandford) - Now we're mostly working with the all-internal widgetry (Jonathan Blandford) - Change macros to trigger when we want to start an animation (Jonathan Blandford) - First working game without the AdwLeaflet widgets (Jonathan Blandford) - Initial packit config (Davide Cavalca) - Add a License override to the convertor (Jonathan Blandford) - Start preparing to remove leaflets (Jonathan Blandford) - Add a License override to the convertor (Jonathan Blandford) - Remove the GtkRevealer (Jonathan Blandford) - Add the release date of 0.3.6 to the NEWS file (Jonathan Blandford)