## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %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.11 Release: %autorelease 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: %{url}/-/archive/%{version}/%{name}-%{version}.tar.gz # docs: fix build with sphinx 7.1.2 Patch: %{url}/-/merge_requests/132.patch 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 # 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 %{_metainfodir}/org.gnome.Crosswords.Editor.metainfo.xml %files -n ipuz-convertor %license COPYING %{_datadir}/%{name}/ipuz-convertor %{_libexecdir}/ipuz-convertor %changelog * Tue Sep 05 2023 Davide Cavalca - 0.3.11-1 - Update to 0.3.11; Fixes; RHBZ#2236035 * Wed Jul 19 2023 Fedora Release Engineering - 0.3.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat May 20 2023 Davide Cavalca - 0.3.8-2 - Add libpanel BR and drop f36 support * Sun Apr 02 2023 Davide Cavalca - 0.3.8-1 - Update to 0.3.8; Fixes: RHBZ#2183694 * Fri Jan 27 2023 Davide Cavalca - 0.3.7.2-1 - Update to 0.3.7.2; Fixes: RHBZ#2165097 * Sun Jan 22 2023 Davide Cavalca - 0.3.7.1-3 - Build documentation * Sun Jan 22 2023 Davide Cavalca - 0.3.7.1-2 - Drop unsupported call on older gtk for f36 * Sun Jan 22 2023 Davide Cavalca - 0.3.7.1-1 - Update to 0.3.7.1; Fixes: RHBZ#2162929 * Thu Jan 19 2023 Fedora Release Engineering - 0.3.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Mon Jan 09 2023 Davide Cavalca - 0.3.6-4 - Add BR for pkgconfig(iso-codes) and reorder * Fri Jan 06 2023 Davide Cavalca - 0.3.6-3 - Rename crosswords-puzzle-sets-uri to crosswords-puzzle-sets-internal * Mon Nov 07 2022 Davide Cavalca - 0.3.6-2 - Relax gtk4 dependency on f36 * Sun Nov 06 2022 Davide Cavalca - 0.3.6-1 - Update to 0.3.6; Fixes: RHBZ#2140452 * Wed Nov 02 2022 Davide Cavalca - 0.3.5-3 - Use hard requires for the default puzzle sets * Tue Nov 01 2022 Davide Cavalca - 0.3.5-2 - Temporarily gate out tests on s390x * Tue Nov 01 2022 Davide Cavalca - 0.3.5-1 - Initial import; Fixes: RHBZ#2137749