%bcond_without tests Name: crosswords Version: 0.3.5 Release: %autorelease Summary: Solve crossword puzzles License: GPL-3.0-or-later URL: https://gitlab.gnome.org/jrb/crosswords Source: %{url}/-/archive/%{version}/%{name}-%{version}.tar.gz # meson: make libword_list a static library Patch: %{url}/-/commit/38ab5a6de693651d1482c742524e1aac2aeace78.patch # Install each puzzleset in its own subdir Patch: %{url}/-/commit/95dbdeb19d134cc8070e2e44f0109cb9d09d1fe4.patch # Register MIME type Patch: %{url}/-/commit/4fbc75dcf53d5f306ef7f84618aecb6fcc710a06.patch # Put the devel puzzles in a get_optin ('development') guard Patch: %{url}/-/commit/1e163c45e0372a396e009d717be945f55a2ecb98.patch 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 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 Supplements: crosswords %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} Supplements: crosswords %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} = %{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: 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 %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 %{_libexecdir}/ipuz-convertor %changelog %autochangelog