%bcond_without docs # 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.81.2.0 Release: 1.20230804184748767195.master.266.g7c9a0f9 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.81.2.0.tar.gz BuildRequires: desktop-file-utils BuildRequires: cmake BuildRequires: gcc BuildRequires: libappstream-glib BuildRequires: meson BuildRequires: sed %if %{with docs} BuildRequires: python3dist(sphinx) BuildRequires: python3dist(sphinx-rtd-theme) BuildRequires: python3dist(myst-parser) %endif %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(gtk4) BuildRequires: pkgconfig(iso-codes) BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libadwaita-1) BuildRequires: pkgconfig(libipuz-0.4) BuildRequires: pkgconfig(libpanel-1) BuildRequires: pkgconfig(librsvg-2.0) Requires: dbus-common Requires: %{name}-puzzle-sets-cats-and-dogs = %{version}-%{release} Requires: %{name}-puzzle-sets-uri = %{version}-%{release} Suggests: crossword-editor = %{version}-%{release} %if %{with docs} Suggests: %{name}-doc = %{version}-%{release} %endif %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-internal Summary: Load additional puzzles for GNOME Crosswords Requires: %{name} = %{version}-%{release} Provides: crosswords-puzzle-sets-uri = %{version}-%{release} Obsoletes: crosswords-puzzle-sets-uri < 0.3.6-3 BuildArch: noarch # Used to load .puz files from disk Recommends: ipuz-convertor = %{version}-%{release} %description puzzle-sets-internal This package contains puzzle sets used internally by GNOME Crosswords to load additional puzzles from disk. %if %{with docs} %package doc Summary: Documentation for %{name} BuildArch: noarch %description doc This package contains additional documentation for GNOME Crosswords. %endif %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.81.2.0 # 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 %if %{with docs} sphinx-build-3 docs html rm -rf html/.{doctrees,buildinfo} %endif %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 %if %{with docs} %files doc %license COPYING %doc html %endif %files puzzle-sets-cats-and-dogs %license COPYING %{_datadir}/%{name}/puzzle-sets/cats-and-dogs %files puzzle-sets-internal %license COPYING %{_datadir}/%{name}/puzzle-sets/* %exclude %{_datadir}/%{name}/puzzle-sets/cats-and-dogs %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 * Fri Aug 04 2023 Packit - 0.3.81.2.0-1.20230804184748767195.master.266.g7c9a0f9 - Acrostic: Use quote_clue to advance (Tanmay Patil) - ClueGrid: Add Navigation using up/down and left/right commands (Tanmay Patil) - Acrostic: Advance to the next cell of clue_grid after a guess (Tanmay Patil) - Style changes (Tanmay Patil) - Acrostic: Advance to next cell after guess (Tanmay Patil) - Add macro MAIN_GRID_HAS_FOCUS to simplify code (Tanmay Patil) - word-list-tests.c: Extract function to create a test word list in a single call (Federico Mena Quintero) - Add quote_clue to Main grid (Tanmay Patil) - Immediately update the FocusLocation quirk (Tanmay Patil) - Docs: Update PlayAnswer as ClueGrid (Tanmay Patil) - ClueGrid: Rename cursor to selected_column (Tanmay Patil) - Add Quirk for Focus Location (Tanmay Patil) - Remove focused property (Tanmay Patil) - Minor changes (Tanmay Patil) - Added signal do-command for clue_grid (Tanmay Patil) - Added signal guess-at-cell for clue_grid (Tanmay Patil) - Rename signal guess-at-clue-cell to clue-cell-guess (Tanmay Patil) - Add cursor property to clue_grid (Tanmay Patil) - Rename GUESS_AT_CLUE_CELL to CLUE_CELL_GUESS_AT_CELL (Tanmay Patil) - Use ipuz_clue_direction_to_string() (Jonathan Blandford) - Add signal guess-at-clue-cell (Tanmay Patil) - This is a stray commit (Jonathan Blandford) - Minor changes (Tanmay Patil) - Oops (Tanmay Patil) - Map ClueGrid cell selection onto main grid (Tanmay Patil) - Listen to answer-cell-selected (Tanmay Patil) - Added answer-cell-selected signal (Tanmay Patil) - Rename PlayAnswer to ClueGrid (Tanmay Patil) - Make copy of PlayCells (Tanmay Patil) - Add clue_id as property to PlayAnswer (Tanmay Patil) - Move the warning calculations around (Jonathan Blandford) - Move filtering and enumeration checking to EditEntryRow (Jonathan Blandford) - Start putting all the text entry/validation in one place (Jonathan Blandford) - Make all acrostic labels uppercase (Jonathan Blandford) - Add a lighter version of the selected bg color (Jonathan Blandford) - Reverse crosswords and libipuz build-installation (Tanmay Patil) - Minor style changes (Tanmay Patil) - Call fix_all after setting showenumeration (Jonathan Blandford) - Keep the mnemonic for the Enumeration label (Jonathan Blandford) - refactor. Remove old widgetry, and centralize our write functions (Jonathan Blandford) - Initial hookup of writing enumerations (Jonathan Blandford) - Remove leftover print statement (Jonathan Blandford) - Hook up the showenumeration switch (Jonathan Blandford) - Simulate PlayAnswer (Tanmay Patil) - Filter out invalid enumeration characters (Jonathan Blandford) - Indicate when a clue has a valid clue (Jonathan Blandford) - Finished migrating to AdwEntryRow (Jonathan Blandford) - Start migrating to AdwClueRow instead of text boxes (Jonathan Blandford) - Initial shapebg panelwidget (Jonathan Blandford) - Remove the edit-bars css type so we can keep the default styling (Jonathan Blandford) - Add a horizontal scrollbar for if the answers row gets super long (Jonathan Blandford) - Remove the standalone and show_answers boolean (Jonathan Blandford) - New function to add a mode to PlayClueRow (Jonathan Blandford) - Have the word suggestions and the answer key match visually (Jonathan Blandford) - Clean up wording (Jonathan Blandford) - Remove older unused icons (Jonathan Blandford) - Add symmetry-none to the icons (Jonathan Blandford) - Add the 6px border to all the panelwidgets (Jonathan Blandford) - Reorder the frames (Jonathan Blandford) - Make all PanelWidgets not reorderable (Jonathan Blandford) - Change clue list text (Jonathan Blandford) - Remove symmetry icon from Bars (Jonathan Blandford) - Update EditSymmetry widget to be closer to the mockup (Jonathan Blandford) - Update to the current status (Jonathan Blandford) - Remove/add PanelWidgets rather than hide/show them (Jonathan Blandford) - Remove extra frames (Jonathan Blandford) - Adjust zoom level (Tanmay Patil) - Guesses are now getting copied (Tanmay Patil) - Update ipuz_clue_compare to ipuz_clue_equal (Tanmay Patil) - Add padding (Tanmay Patil) - Added PlayAnswer widget (Tanmay Patil) - Make Private structure for PlayGrid (Tanmay Patil) - Minor changes (Tanmay Patil) - Update design doc for PlayAnswer widget (Tanmay Patil) - Update acrostic plan (Jonathan Blandford) - Add a new proposed widget (thesaurus) (Jonathan Blandford) - Add a few more proposed widgets (Jonathan Blandford) - Update design doc (Jonathan Blandford) - Initial design doc for panel-widgets (Jonathan Blandford) - Update status of this doc (Jonathan Blandford) - Set a marker for Pratham (Jonathan Blandford) - s/Operation/Mode (Jonathan Blandford) - Use operation within the filter. (Jonathan Blandford) - Add an operation tag to set filter (Jonathan Blandford) - Fix typos (Vinson Lee) - devel docs cleanups (Jonathan Blandford) - Minor edits and cleanups (Jonathan Blandford) - Require bash, and remove extraneous zypper command (Jonathan Blandford) - Add uninstallation instructions (Jonathan Blandford) - Clean up the docs (Jonathan Blandford) - Explicitly call bash instead of sh (Jonathan Blandford) - we don't need libpanel1 explicitly, and this isn't what its called (Jonathan Blandford) - Bump the BASE_TAG (Jonathan Blandford) - Keep a unique data_hint around to pass to puzzle_stack (Jonathan Blandford) - Remove toolbox instructions, and explicitly install libpanel-devel (Jonathan Blandford) - Remove unused variables (Jonathan Blandford) - Set the quirk object when we redo (Jonathan Blandford) - Emit a cursor_changed signal when loading state during undo (Jonathan Blandford) - Clean up puzzle_changed_cb signficantly (Jonathan Blandford) - Remove vestigal symmetry-changed signal (Jonathan Blandford) - Update docs to reflect the current approach (Jonathan Blandford) - Remove accelerators from stackswitcher (Jonathan Blandford) - Make the answer grid resizable (Jonathan Blandford) - Change the behavior of pushing new puzzle (Jonathan Blandford) - remove unused symmetry member (Jonathan Blandford) - Remove extra print statement (Jonathan Blandford) - Set the puzzle stack type explicitly (Jonathan Blandford) - Remove superfluous stack_changed handler blocking code (Jonathan Blandford) - Only grab focus when mapped (Jonathan Blandford) - set the puzzle_stack as a property (Jonathan Blandford) - move edit-metadata to using the puzzle-stack as an object. (Jonathan Blandford) - Move edit_grid to have its puzzle_stack set as a property. (Jonathan Blandford) - remoce get/set_grid_symmetry() from the PuzzleStack (Jonathan Blandford) - Move symmetry central settings to edit-symmetry (Jonathan Blandford) - Create the row bewfore trying to pass inan error of it. (Jonathan Blandford) - Style fix. (Jonathan Blandford) - Migrate off of puzzle_stack for cursors completely (Jonathan Blandford) - Add the puzzle-stack and edit-grid props to edit-word-list (Jonathan Blandford) - Move edit-clue-details to use the new pattern (Jonathan Blandford) - Remove extra print statement (Jonathan Blandford) - Add an explicit unparent to the dispose (Jonathan Blandford) - EditBars now has an edit-grid property (Jonathan Blandford) - EditClueList now shows the correct row, and selects it when clicked (Jonathan Blandford) - Add a get_cursor() function to edit_grid() (Jonathan Blandford) - Adjust edit-clue-list to changes in cursors from edit-grid (Jonathan Blandford) - Swap the left and right paned contents (Jonathan Blandford) - Initialize new_clue in xword_state_cell_selected_mut. (Vinson Lee) - Move the puzzle stack to the ui file. (Jonathan Blandford) - Initial cut at edit-clue-list (Jonathan Blandford) - EditClueDetails should be a panel widget (Jonathan Blandford) - Rename EditClues to EditClueDetails (Jonathan Blandford) - Rename files from edit-clues to edit-clue-details (Jonathan Blandford) - Giant refactor of edit-clues (Jonathan Blandford) - Check the write cursor/clue to see if there are changes (Jonathan Blandford) - Get the right callback signature (Jonathan Blandford) - Clean up the template widgets and add an edit-clue (Jonathan Blandford) - Remove the explicit call to set_focused_cell (Jonathan Blandford) - Style the clue-mode slightly differently so I can tell them apart (Jonathan Blandford) - Change edit_mode to an enum (Jonathan Blandford) - Missed a header file to remove (Jonathan Blandford) - Clean up whitespace (Jonathan Blandford) - These files are unused. (Jonathan Blandford) - Move the EditWindowStage over to PuzzleStack (Jonathan Blandford) - Add a background style to the grid (Jonathan Blandford) - Make the static analysis happy (Jonathan Blandford) - Lets use this texture! (Jonathan Blandford) - Try installing libpanel1 directly (Jonathan Blandford) - add libpanel-devel to opensuse container (Jonathan Blandford) - Add libpanel dep to the flatpak json file (Jonathan Blandford) - Get the symmetry right when toggling it with the '.' or '#' key (Jonathan Blandford) - Use calculate_side_toggle() when setting the bars from the widget (Jonathan Blandford) - We leak the state and don't use it (Jonathan Blandford) - guess can be null if it's a space (Jonathan Blandford) - Have the label in the middle of EditBars match the cell (Jonathan Blandford) - Style the bars to make them look more accurate (Jonathan Blandford) - Remove symmetry / bars code (Jonathan Blandford) - Add a bars panel widget (Jonathan Blandford) - Add a dispose function (Jonathan Blandford) - Use the SymmetryWidget instead of the button bar to set the symmetry (Jonathan Blandford) - s/get_grid_position/get_grid_cursor (Jonathan Blandford) - We're not ready for this one yet (Jonathan Blandford) - Move the grid_cursor_changed signal to the puzzle stack (Jonathan Blandford) - add set_grid_posision (Jonathan Blandford) - Add some documentation about the data in the puzzle stack (Jonathan Blandford) - Move the GRID settings into the puzzle stack (Jonathan Blandford) - Change xword arg to self (Jonathan Blandford) - Reorder header (Jonathan Blandford) - remove print statements (Jonathan Blandford) - Directly write the clue to the grid (Jonathan Blandford) - push changes to the undo stack for delete/backspace (Jonathan Blandford) - Centralize push_change code so we can update the cursor (Jonathan Blandford) - Fix an old bug where setting the filter to NULL didn't update the len (Jonathan Blandford) - Forward the new cursor to EditWordList (Jonathan Blandford) - Have EditWordList adjust itself to the new cursor (Jonathan Blandford) - Emit a cursor-changed signal (Jonathan Blandford) - Center the grid in the work area (Jonathan Blandford) - Remove duplicate callback (Jonathan Blandford) - reindent (Jonathan Blandford) - Add a header for the Word List (Jonathan Blandford) - Show the last panel when switching modes (Jonathan Blandford) - Center the xword (Jonathan Blandford) - grid, not edit_grid (Jonathan Blandford) - Change EditXword to EditGrid (Jonathan Blandford) - Move EditXword to EditGrid (Jonathan Blandford) - Continue work on libpanel. (Jonathan Blandford) - New panel widget for symmetry (Jonathan Blandford) - Initial libpanel port (Jonathan Blandford) - Fix subproject fallback (Tristan Partin) - Cleanup some Meson usage (Tristan Partin) - Try to add a dependency on libpanel (Jonathan Blandford) - Two more g_autoptrs need setting to NULL (Jonathan Blandford) - Add a function to advance the cursor when editing (Jonathan Blandford) - Remove redundant return statement (Jonathan Blandford) - Use the block char to set a bar instead of a block for BARRED puzzles (Jonathan Blandford) - Make the static analysis tool happier (Jonathan Blandford) - Bump the container BASE_TAG to rebuild it (Federico Mena Quintero) - Try again, with the package name (Jonathan Blandford) - Add gstreamer-player-1.0-devel to our package list (Jonathan Blandford) - Try again with f38 (Jonathan Blandford) - Remove f37 support as we require gtk-4.10 (Jonathan Blandford) - Require gtk 4.10, now that we use GtkFileDialog (Jonathan Blandford) - Fix g_autoptr() warnings (Jonathan Blandford) - Use gnome-44 (Jonathan Blandford) - Add a reminder to actually implement this functionality (Jonathan Blandford) - Convert to GtkFileDialog (Jonathan Blandford) - Remove GtkStyleContext (Jonathan Blandford) - Remove GtkStyleContext usage (Jonathan Blandford) - Remove the code to draw bg from the fg color (Jonathan Blandford) - Remove GtkStyleContext (Jonathan Blandford) - use GtkFileDialog instead of GtkFileChooser (Jonathan Blandford) - Use AdwMessageDialog instead of GtkDialog (Jonathan Blandford) - convert to adw_message_dialog() (Jonathan Blandford) - Convert dialog to AdwMessageDialog (Jonathan Blandford) - Broke the check for unsaved changes when adding the greeter (Jonathan Blandford) - Port to AdwMessageDialog (Jonathan Blandford) - Migrate to AdwMessageDialog (Jonathan Blandford) - Get a valid cursor/clue pairing after changing the cell (Jonathan Blandford) - Initial set_bars() implementation. (Jonathan Blandford) - Use the new symmetry types in edit-xword (Jonathan Blandford) - Set the kind correctly for the barred thumbnail (Jonathan Blandford) - Fix crosswords after creating them so they have clues, etc (Jonathan Blandford) - Add a small transition animation between colors when changing cells (Jonathan Blandford) - Use CellLayout to propagate editable property (Jonathan Blandford) - Move editable into grid-layout (Jonathan Blandford) - Fix formatting (Jonathan Blandford) - We always have a cursor in STATE_EDIT (Jonathan Blandford) - Remove the last use of calculate clues (Jonathan Blandford) - Use the new correction API to change cell types. (Jonathan Blandford) - Propagate the symmetry to PlayState (Jonathan Blandford) - Update the current symmetry from the toggle group (Jonathan Blandford) - Fix indentation (Jonathan Blandford) - Sync the symmetry to the toggle button (Jonathan Blandford) - Clean up indentation and spacing (Jonathan Blandford) - Set up a listener for the toggles (Jonathan Blandford) - Add symmetry buttons to the same toggle group (Jonathan Blandford) - Set the symmetry from the puzzle (Jonathan Blandford) - Assert that we have a puzzle to work with our new approach (Jonathan Blandford) - No need to set up an initial puzzle stack for EditWindow (Jonathan Blandford) - Add the beginning of a toolbar to the editor (Jonathan Blandford) - Remove the symmetry action from the Edit Window (Jonathan Blandford) - Don't listen to the GSetting for symmetry (Jonathan Blandford) - Post-release bump of libipuz requirement (Jonathan Blandford) - Post-release bump of libipuz requirement (Jonathan Blandford) - Remove newline (Jonathan Blandford) - allocation.height isn't set yet (Jonathan Blandford) - Update the acrostic TODO list to make it a bit more reasonable (Jonathan Blandford) - change gtk_widget_show/hide to gtk_widget_set_visible (Jonathan Blandford) - Update Flatpak Devel packages to GNOME 44 runtime (Philip Goto)