From 5ca05e9be81559250308e550827a69578c5cdde6 Mon Sep 17 00:00:00 2001
From: Bruce Cowan <bruce@bcowan.me.uk>
Date: Fri, 11 Oct 2024 20:33:00 +0100
Subject: [PATCH] Make it build

---
 .gitlab-ci.yml                       |  5 ++---
 data/meson.build                     | 26 +++++++++++---------------
 data/uk.me.bcowan.Rugby.desktop      | 11 -----------
 data/uk.me.bcowan.Rugby.metainfo.xml | 17 +++++++++++++++++
 uk.me.bcowan.Rugby.json              |  4 ++--
 5 files changed, 32 insertions(+), 31 deletions(-)
 delete mode 100644 data/uk.me.bcowan.Rugby.desktop

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 189f5d2..2ca4b7a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,9 +14,8 @@ flatpak:
   script:
   - apk update && apk add flatpak-builder appstream-compose
   - flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-  - flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
-  - flatpak install -y gnome-nightly org.gnome.Platform master
-  - flatpak install -y gnome-nightly org.gnome.Sdk master
+  - flatpak install -y flathub org.gnome.Platform 47
+  - flatpak install -y flathub org.gnome.Sdk 47
   - flatpak-builder --stop-at=${FLATPAK_MODULE} app ${MANIFEST_PATH}
   - flatpak build app meson setup --prefix=/app ${MESON_ARGS} _build
   - flatpak build app meson install -C _build
diff --git a/data/meson.build b/data/meson.build
index 4c38ace..c3b9848 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2016-2023 Bruce Cowan <bruce@bcowan.me.uk>
+# SPDX-FileCopyrightText: 2016-2024 Bruce Cowan <bruce@bcowan.me.uk>
 #
 # SPDX-License-Identifier: GPL-3.0-or-later
 
@@ -17,10 +17,6 @@ resources = gnome.compile_resources('gen-resources',
                                     source_dir: 'data',
                                     dependencies: blueprints)
 
-install_data('uk.me.bcowan.Rugby.desktop',
-  install_dir: join_paths(get_option('datadir'), 'applications')
-)
-
 install_data(
   'uk.me.bcowan.Rugby.gschema.xml',
   install_dir: datadir / 'glib-2.0' / 'schemas',
@@ -31,13 +27,13 @@ install_data(
   install_dir: datadir / 'metainfo',
 )
 
-desktop_file_validate = find_program('desktop-file-validate', required: false)
-if desktop_file_validate.found()
-	test(
-		'validate-desktop',
-		desktop_file_validate,
-		args: [
-			'uk.me.bcowan.Rugby.desktop'
-		]
-	)
-endif
+# Create desktop-entry file from metainfo
+metainfo_file = 'uk.me.bcowan.Rugby.metainfo.xml'
+ascli_exe = find_program('appstreamcli')
+custom_target('gen-desktop-entry',
+    input : [metainfo_file],
+    output : ['uk.me.bcowan.Rugby.desktop'],
+    command : [ascli_exe, 'make-desktop-file', '@INPUT@', '@OUTPUT@'],
+    install: true,
+    install_dir: join_paths(get_option('datadir'), 'applications')
+)
diff --git a/data/uk.me.bcowan.Rugby.desktop b/data/uk.me.bcowan.Rugby.desktop
deleted file mode 100644
index db96ee0..0000000
--- a/data/uk.me.bcowan.Rugby.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-FileCopyrightText: 2020-2021 Bruce Cowan <bruce@bcowan.me.uk>
-#
-# SPDX-License-Identifier: CC0-1.0
-
-[Desktop Entry]
-Name=Rugby
-Exec=rugby
-Terminal=false
-Type=Application
-Categories=GNOME;GTK;Sports;Calculator;Utility
-StartupNotify=true
diff --git a/data/uk.me.bcowan.Rugby.metainfo.xml b/data/uk.me.bcowan.Rugby.metainfo.xml
index 991af4d..c8bd75a 100644
--- a/data/uk.me.bcowan.Rugby.metainfo.xml
+++ b/data/uk.me.bcowan.Rugby.metainfo.xml
@@ -16,6 +16,12 @@ SPDX-License-Identifier: CC0-1.0
   <metadata_license>CC0-1.0</metadata_license>
   <project_license>GPL-3.0-or-later</project_license>
 
+  <supports>
+    <control>pointing</control>
+    <control>keyboard</control>
+    <control>touch</control>
+  </supports>
+
   <description>
     <p>
       A program to determine possible combinations of scoring for rugby matches.
@@ -23,4 +29,15 @@ SPDX-License-Identifier: CC0-1.0
   </description>
 
   <launchable type="desktop-id">uk.me.bcowan.Rugby.desktop</launchable>
+
+  <icon type="stock">rugby</icon>
+
+  <categories>
+    <category>Utility</category>
+    <category>GNOME</category>
+  </categories>
+
+  <provides>
+    <binary>rugby</binary>
+  </provides>
 </component>
diff --git a/uk.me.bcowan.Rugby.json b/uk.me.bcowan.Rugby.json
index 0df75ca..e047a52 100644
--- a/uk.me.bcowan.Rugby.json
+++ b/uk.me.bcowan.Rugby.json
@@ -1,7 +1,7 @@
 {
     "app-id": "uk.me.bcowan.Rugby",
     "runtime": "org.gnome.Platform",
-    "runtime-version": "master",
+    "runtime-version": "47",
     "sdk": "org.gnome.Sdk",
     "command": "rugby",
     "finish-args": [
@@ -32,7 +32,7 @@
                     "path": "."
                 }
             ],
-            "config_opts": [
+            "config-opts": [
                 "-Dprofile=development"
             ]
         }
-- 
GitLab