The package rpms/crosswords.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/crosswords.git/commit/?id=d50702f....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit d50702f50b21d0b0c21f7f2436d935840d3c607c
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Tue Nov 1 14:17:07 2022 -0700
Temporarily gate out tests on s390x
diff --git a/crosswords.spec b/crosswords.spec
index a730c3d..baf69d5 100644
--- a/crosswords.spec
+++ b/crosswords.spec
@@ -1,4 +1,10 @@
+# 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.5
commit 1e4b93daa2c0668d7a762f592b05803703e0df7b
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Tue Nov 1 12:07:46 2022 -0700
Initial import; Fixes: RHBZ#2137749
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3cd3960
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/crosswords-0.3.5.tar.gz
diff --git a/1e163c45e0372a396e009d717be945f55a2ecb98.patch
b/1e163c45e0372a396e009d717be945f55a2ecb98.patch
new file mode 100644
index 0000000..e2ed2d3
--- /dev/null
+++ b/1e163c45e0372a396e009d717be945f55a2ecb98.patch
@@ -0,0 +1,49 @@
+From 1e163c45e0372a396e009d717be945f55a2ecb98 Mon Sep 17 00:00:00 2001
+From: Jonathan Blandford <jrb(a)gnome.org>
+Date: Sun, 30 Oct 2022 11:30:42 -0700
+Subject: [PATCH] Put the devel puzzles in a get_optin ('development') guard
+
+Fixes #113
+---
+ puzzle-sets/meson.build | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/puzzle-sets/meson.build b/puzzle-sets/meson.build
+index 37c4794..7df07de 100644
+--- a/puzzle-sets/meson.build
++++ b/puzzle-sets/meson.build
+@@ -3,7 +3,6 @@ subdir('uri')
+ puzzlesetdir = join_paths(get_option('datadir'), 'crosswords',
'puzzle-sets')
+
+ catsanddogsdir = join_paths(puzzlesetdir, 'cats-and-dogs')
+-develdir = join_paths(puzzlesetdir, 'devel')
+ uridir = join_paths(puzzlesetdir, 'uri')
+
+ gnome.compile_resources ('cats-and-dogs',
'cats-and-dogs.gresource.xml',
+@@ -11,14 +10,18 @@ gnome.compile_resources ('cats-and-dogs',
'cats-and-dogs.gresource.xml',
+ install: true,
+ install_dir: catsanddogsdir)
+
+-gnome.compile_resources ('devel-puzzles',
'devel-puzzles.gresource.xml',
+- gresource_bundle: true,
+- install: true,
+- install_dir: develdir)
+-
+ gnome.compile_resources ('uri', 'uri.gresource.xml',
+ dependencies: [ puzzle_set_uri_config ],
+ gresource_bundle: true,
+ install: true,
+ source_dir: puzzlesetdir,
+ install_dir: uridir)
++
++if get_option('development')
++develdir = join_paths(puzzlesetdir, 'devel')
++gnome.compile_resources ('devel-puzzles',
'devel-puzzles.gresource.xml',
++ gresource_bundle: true,
++ install: true,
++ install_dir: develdir)
++endif
++
+--
+GitLab
+
diff --git a/38ab5a6de693651d1482c742524e1aac2aeace78.patch
b/38ab5a6de693651d1482c742524e1aac2aeace78.patch
new file mode 100644
index 0000000..945f137
--- /dev/null
+++ b/38ab5a6de693651d1482c742524e1aac2aeace78.patch
@@ -0,0 +1,29 @@
+From 38ab5a6de693651d1482c742524e1aac2aeace78 Mon Sep 17 00:00:00 2001
+From: Davide Cavalca <dcavalca(a)fedoraproject.org>
+Date: Wed, 26 Oct 2022 20:24:13 -0700
+Subject: [PATCH] meson: make libword_list a static library
+
+---
+ src/meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 15b7900..3f15368 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -112,10 +112,10 @@ word_list_sources = files(
+ 'word-solver.c',
+ )
+
+-libword_list = library(
++libword_list = static_library(
+ 'word_list',
+ sources: word_list_sources,
+- install: true,
++ install: false,
+ dependencies: [
+ gio_dep,
+ libipuz_dep,
+--
+GitLab
+
diff --git a/4fbc75dcf53d5f306ef7f84618aecb6fcc710a06.patch
b/4fbc75dcf53d5f306ef7f84618aecb6fcc710a06.patch
new file mode 100644
index 0000000..f2cb803
--- /dev/null
+++ b/4fbc75dcf53d5f306ef7f84618aecb6fcc710a06.patch
@@ -0,0 +1,92 @@
+From 4fbc75dcf53d5f306ef7f84618aecb6fcc710a06 Mon Sep 17 00:00:00 2001
+From: Davide Cavalca <dcavalca(a)fedoraproject.org>
+Date: Thu, 27 Oct 2022 21:49:36 -0700
+Subject: [PATCH] Register our MIME type
+
+---
+ data/meson.build | 5 +++++
+ .../org.gnome.Crosswords.Editor.desktop.in.in | 3 ++-
+ data/org.gnome.Crosswords.desktop.in.in | 3 ++-
+ data/org.gnome.Crosswords.mime.xml | 20 +++++++++++++++++++
+ 4 files changed, 29 insertions(+), 2 deletions(-)
+ create mode 100644 data/org.gnome.Crosswords.mime.xml
+
+diff --git a/data/meson.build b/data/meson.build
+index f015a8c..d19a033 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -97,4 +97,9 @@ configure_file(
+ install_dir: join_paths(get_option('datadir'), 'dbus-1',
'services'),
+ )
+
++# MIME package.
++install_data('org.gnome.Crosswords.mime.xml',
++ rename: '@0@.xml'.format(app_id),
++ install_dir: join_paths(get_option('datadir'),
'mime/packages'))
++
+ subdir('icons')
+diff --git a/data/org.gnome.Crosswords.Editor.desktop.in.in
b/data/org.gnome.Crosswords.Editor.desktop.in.in
+index aacbbb3..71e7966 100644
+--- a/data/org.gnome.Crosswords.Editor.desktop.in.in
++++ b/data/org.gnome.Crosswords.Editor.desktop.in.in
+@@ -1,11 +1,12 @@
+ [Desktop Entry]
+ Name=Crossword Editor
+ Comment=Write crossword-puzzles
+-Exec=crossword-editor
++Exec=crossword-editor %F
+ # Translators: Do NOT translate or transliterate this text (this is an icon file name)!
+ Icon=@edit_app_id@
+ Terminal=false
+ Type=Application
++MimeType=application/x-crossword;application/x-ipuz;application/x-jpz
+ Categories=GNOME;GTK;
+ StartupNotify=true
+ # Translators: Search terms to find this application. Do NOT translate or localize the
semicolons! The list MUST also end with a semicolon!
+diff --git a/data/org.gnome.Crosswords.desktop.in.in
b/data/org.gnome.Crosswords.desktop.in.in
+index 339d4c3..fc14b1e 100644
+--- a/data/org.gnome.Crosswords.desktop.in.in
++++ b/data/org.gnome.Crosswords.desktop.in.in
+@@ -1,11 +1,12 @@
+ [Desktop Entry]
+ Name=Crosswords
+ Comment=Solve crossword puzzles
+-Exec=crosswords
++Exec=crosswords %F
+ # Translators: Do NOT translate or transliterate this text (this is an icon file name)!
+ Icon=@app_id@
+ Terminal=false
+ Type=Application
++MimeType=application/x-crossword;application/x-ipuz;application/x-jpz
+ Categories=GNOME;GTK;Game;LogicGame;
+ StartupNotify=true
+ # Translators: Search terms to find this application. Do NOT translate or localize the
semicolons! The list MUST also end with a semicolon!
+diff --git a/data/org.gnome.Crosswords.mime.xml b/data/org.gnome.Crosswords.mime.xml
+new file mode 100644
+index 0000000..76e1834
+--- /dev/null
++++ b/data/org.gnome.Crosswords.mime.xml
+@@ -0,0 +1,20 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<mime-info
xmlns="http://www.freedesktop.org/standards/shared-mime-info">
++ <mime-type type="application/x-crossword">
++ <comment>Crossword puzzle file</comment>
++ <glob pattern="*.puz"/>
++ <magic>
++ <match type="string" offset="2"
value="ACROSS&DOWN"/>
++ </magic>
++ <alias type="application/across"/>
++ </mime-type>
++ <mime-type type="application/x-ipuz">
++ <comment>Puzzle file</comment>
++ <glob pattern="*.ipuz"/>
++ <sub-class-of type="application/json"/>
++ </mime-type>
++ <mime-type type="application/x-jpz">
++ <comment>Puzzle Solver Puzzle file</comment>
++ <glob pattern="*.jpz"/>
++ </mime-type>
++</mime-info>
+--
+GitLab
+
diff --git a/95dbdeb19d134cc8070e2e44f0109cb9d09d1fe4.patch
b/95dbdeb19d134cc8070e2e44f0109cb9d09d1fe4.patch
new file mode 100644
index 0000000..26fc599
--- /dev/null
+++ b/95dbdeb19d134cc8070e2e44f0109cb9d09d1fe4.patch
@@ -0,0 +1,44 @@
+From 95dbdeb19d134cc8070e2e44f0109cb9d09d1fe4 Mon Sep 17 00:00:00 2001
+From: Jonathan Blandford <jrb(a)gnome.org>
+Date: Sat, 29 Oct 2022 22:34:30 -0700
+Subject: [PATCH] Install each puzzleset in its own subdir.
+
+Might fix bug #113
+---
+ puzzle-sets/meson.build | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/puzzle-sets/meson.build b/puzzle-sets/meson.build
+index 899864d..37c4794 100644
+--- a/puzzle-sets/meson.build
++++ b/puzzle-sets/meson.build
+@@ -2,19 +2,23 @@ subdir('uri')
+
+ puzzlesetdir = join_paths(get_option('datadir'), 'crosswords',
'puzzle-sets')
+
++catsanddogsdir = join_paths(puzzlesetdir, 'cats-and-dogs')
++develdir = join_paths(puzzlesetdir, 'devel')
++uridir = join_paths(puzzlesetdir, 'uri')
++
+ gnome.compile_resources ('cats-and-dogs',
'cats-and-dogs.gresource.xml',
+ gresource_bundle: true,
+ install: true,
+- install_dir: puzzlesetdir)
++ install_dir: catsanddogsdir)
+
+ gnome.compile_resources ('devel-puzzles',
'devel-puzzles.gresource.xml',
+ gresource_bundle: true,
+ install: true,
+- install_dir: puzzlesetdir)
++ install_dir: develdir)
+
+ gnome.compile_resources ('uri', 'uri.gresource.xml',
+ dependencies: [ puzzle_set_uri_config ],
+ gresource_bundle: true,
+ install: true,
+ source_dir: puzzlesetdir,
+- install_dir: puzzlesetdir)
++ install_dir: uridir)
+--
+GitLab
+
diff --git a/crosswords.spec b/crosswords.spec
new file mode 100644
index 0000000..a730c3d
--- /dev/null
+++ b/crosswords.spec
@@ -0,0 +1,177 @@
+%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}%{?_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: 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
diff --git a/sources b/sources
new file mode 100644
index 0000000..0ae5b62
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (crosswords-0.3.5.tar.gz) =
436208e565a8dc09b8600685a92ecb6bdbc7a6685dbb05f2e22ace13163c36463b33ee56cfbc80054334ec04a9f37073fabc3984e7770a4e5133a9a1c0cf353e