Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gnome-software for openSUSE:Factory 
checked in at 2023-12-17 21:28:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-software (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-software.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-software"

Sun Dec 17 21:28:46 2023 rev:116 rq:1133394 version:45.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-software/gnome-software.changes    
2023-12-02 17:12:22.155580693 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-software.new.25432/gnome-software.changes 
2023-12-17 21:28:46.469848087 +0100
@@ -1,0 +2,6 @@
+Fri Dec 15 09:33:16 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Add gnome-software-support-appstream-1_0.patch to
+  support building with appstream 1.0 (boo#1217047)
+
+-------------------------------------------------------------------

New:
----
  gnome-software-support-appstream-1_0.patch

BETA DEBUG BEGIN:
  New:
- Add gnome-software-support-appstream-1_0.patch to
  support building with appstream 1.0 (boo#1217047)
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-software.spec ++++++
--- /var/tmp/diff_new_pack.HLKT4V/_old  2023-12-17 21:28:48.193910693 +0100
+++ /var/tmp/diff_new_pack.HLKT4V/_new  2023-12-17 21:28:48.197910837 +0100
@@ -35,7 +35,8 @@
 %endif
 # PATCH-FIX-UPSTREAM gnome-software-plugin-opensuse-distro-upgrade.patch 
glgo#GNOME/gnome-software!1557 sck...@suse.com -- plugins: add 
opensuse-distro-upgrade plugin
 Patch2:         gnome-software-plugin-opensuse-distro-upgrade.patch
-
+# PATCH-FIX-UPSTREAM gnome-software-support-appstream-1_0.patch boo#1217047 -- 
Apply upstream changes to support appstream 1.0
+Patch3:         gnome-software-support-appstream-1_0.patch
 BuildRequires:  gtk-doc
 BuildRequires:  meson >= 0.58.0
 BuildRequires:  pkgconfig

++++++ gnome-software-support-appstream-1_0.patch ++++++
Support building with appstream 0.16 and 1.0
Origin: https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/1810
        https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/1830

---
 lib/gs-app.c                             |  4 ++
 lib/gs-appstream.c                       | 63 +++++++++++++++++++-----
 lib/gs-utils.c                           |  8 +--
 meson.build                              | 22 +--------
 plugins/core/gs-plugin-appstream.c       |  8 ---
 plugins/fwupd/gs-fwupd-app.c             |  8 +++
 plugins/fwupd/gs-plugin-fwupd.c          |  4 ++
 src/gs-hardware-support-context-dialog.c |  6 +++
 src/gs-repos-dialog.c                    |  4 ++
 src/gs-screenshot-carousel.c             |  4 +-
 src/gs-screenshot-image.c                | 41 +++++++++++----
 src/gs-screenshot-image.h                |  7 +++
 subprojects/appstream.wrap               |  2 +-
 13 files changed, 122 insertions(+), 59 deletions(-)

diff --git a/lib/gs-app.c b/lib/gs-app.c
index 048a061..e269405 100644
--- a/lib/gs-app.c
+++ b/lib/gs-app.c
@@ -609,7 +609,11 @@ gs_app_to_string_append (GsApp *app, GString *str)
                AsScreenshot *ss = g_ptr_array_index (priv->screenshots, i);
                g_autofree gchar *key = NULL;
                tmp = as_screenshot_get_caption (ss);
+#if AS_CHECK_VERSION(1, 0, 0)
+               im = as_screenshot_get_image (ss, 0, 0, 1);
+#else
                im = as_screenshot_get_image (ss, 0, 0);
+#endif
                if (im == NULL)
                        continue;
                key = g_strdup_printf ("screenshot-%02u", i);
diff --git a/lib/gs-appstream.c b/lib/gs-appstream.c
index deca176..4fd7f53 100644
--- a/lib/gs-appstream.c
+++ b/lib/gs-appstream.c
@@ -587,8 +587,6 @@ gs_appstream_refine_add_provides (GsApp *app, XbNode 
*component, GError **error)
                                        kind = 
AS_PROVIDED_KIND_FIRMWARE_RUNTIME;
                                else if (g_strcmp0 (fw_type, "flashed") == 0)
                                        kind = 
AS_PROVIDED_KIND_FIRMWARE_FLASHED;
-                       } else if (g_strcmp0 (element_name, "python2") == 0) {
-                               kind = AS_PROVIDED_KIND_PYTHON_2;
                        } else if (g_strcmp0 (element_name, "python3") == 0) {
                                kind = AS_PROVIDED_KIND_PYTHON;
                        } else if (g_strcmp0 (element_name, "dbus") == 0) {
@@ -1011,8 +1009,11 @@ gs_appstream_refine_app_relation (GsApp           *app,
                        as_relation_set_item_kind (relation, 
AS_RELATION_ITEM_KIND_CONTROL);
                        as_relation_set_value_control_kind (relation, 
as_control_kind_from_string (xb_node_get_text (child)));
                } else if (g_str_equal (item_kind, "display_length")) {
-                       AsDisplayLengthKind display_length_kind;
                        const gchar *compare;
+                       const gchar *side;
+#if !AS_CHECK_VERSION(1, 0, 0)
+                       AsDisplayLengthKind display_length_kind;
+#endif
 
                        /* 
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations-display_length
 */
                        as_relation_set_item_kind (relation, 
AS_RELATION_ITEM_KIND_DISPLAY_LENGTH);
@@ -1020,15 +1021,21 @@ gs_appstream_refine_app_relation (GsApp           *app,
                        compare = xb_node_get_attr (child, "compare");
                        as_relation_set_compare (relation, (compare != NULL) ? 
as_relation_compare_from_string (compare) : AS_RELATION_COMPARE_GE);
 
+#if AS_CHECK_VERSION(1, 0, 0)
+                       side = xb_node_get_attr (child, "side");
+                       as_relation_set_display_side_kind (relation, (side != 
NULL) ? as_display_side_kind_from_string (side) : 
AS_DISPLAY_SIDE_KIND_SHORTEST);
+                       as_relation_set_value_px (relation, 
xb_node_get_text_as_uint (child));
+#else
                        display_length_kind = 
as_display_length_kind_from_string (xb_node_get_text (child));
                        if (display_length_kind != 
AS_DISPLAY_LENGTH_KIND_UNKNOWN) {
                                /* Ignore the `side` attribute */
                                as_relation_set_value_display_length_kind 
(relation, display_length_kind);
                        } else {
-                               const gchar *side = xb_node_get_attr (child, 
"side");
+                               side = xb_node_get_attr (child, "side");
                                as_relation_set_display_side_kind (relation, 
(side != NULL) ? as_display_side_kind_from_string (side) : 
AS_DISPLAY_SIDE_KIND_SHORTEST);
                                as_relation_set_value_px (relation, 
xb_node_get_text_as_uint (child));
                        }
+#endif
                } else {
                        g_debug ("Relation type ‘%s’ not currently 
supported for %s; ignoring",
                                 item_kind, gs_app_get_id (app));
@@ -1472,7 +1479,7 @@ gs_appstream_refine_app (GsPlugin *plugin,
 }
 
 typedef struct {
-       AsSearchTokenMatch       match_value;
+       guint16                  match_value;
        XbQuery                 *query;
 } GsAppstreamSearchHelper;
 
@@ -1522,7 +1529,7 @@ gs_appstream_silo_search_component (GPtrArray *array, 
XbNode *component, const g
 }
 
 typedef struct {
-       AsSearchTokenMatch      match_value;
+       guint16                 match_value;
        const gchar             *xpath;
 } Query;
 
@@ -1539,6 +1546,11 @@ gs_appstream_do_search (GsPlugin *plugin,
        g_autoptr(GPtrArray) array = g_ptr_array_new_with_free_func 
((GDestroyNotify) gs_appstream_search_helper_free);
        g_autoptr(GPtrArray) components = NULL;
        g_autoptr(GTimer) timer = g_timer_new ();
+#if AS_CHECK_VERSION(1, 0, 0)
+       const guint16 component_id_weight = as_utils_get_tag_search_weight 
("id");
+#else
+       const guint16 component_id_weight = AS_SEARCH_TOKEN_MATCH_ID;
+#endif
 
        g_return_val_if_fail (GS_IS_PLUGIN (plugin), FALSE);
        g_return_val_if_fail (XB_IS_SILO (silo), FALSE);
@@ -1585,7 +1597,7 @@ gs_appstream_do_search (GsPlugin *plugin,
                         * Drop the ID token from it as it’s the highest
                         * numeric value but isn’t visible to the user in the
                         * UI, which leads to confusing results ordering. */
-                       gs_app_set_match_value (app, match_value & 
(~AS_SEARCH_TOKEN_MATCH_ID));
+                       gs_app_set_match_value (app, match_value & 
(~component_id_weight));
                        gs_app_list_add (list, app);
 
                        if (gs_app_get_kind (app) == AS_COMPONENT_KIND_ADDON) {
@@ -1624,18 +1636,32 @@ gs_appstream_search (GsPlugin *plugin,
                     GCancellable *cancellable,
                     GError **error)
 {
+#if AS_CHECK_VERSION(1, 0, 0)
+       guint16 pkgname_weight = as_utils_get_tag_search_weight ("pkgname");
+       guint16 name_weight = as_utils_get_tag_search_weight ("name");
+       guint16 id_weight = as_utils_get_tag_search_weight ("id");
        const Query queries[] = {
-               #ifdef HAVE_AS_SEARCH_TOKEN_MATCH_MEDIATYPE
-               { AS_SEARCH_TOKEN_MATCH_MEDIATYPE,      
"mimetypes/mimetype[text()~=stem(?)]" },
-               #else
-               { AS_SEARCH_TOKEN_MATCH_MIMETYPE,       
"mimetypes/mimetype[text()~=stem(?)]" },
-               #endif
+               { as_utils_get_tag_search_weight ("mediatype"), 
"provides/mediatype[text()~=stem(?)]" },
                /* Search once with a tokenize-and-casefold operator (`~=`) to 
support casefolded
                 * full-text search, then again using substring matching 
(`contains()`), to
                 * support prefix matching. Only do the prefix matches on a few 
fields, and at a
                 * lower priority, otherwise things will get confusing.
-                * 
+                *
                 * See 
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2277 */
+               { pkgname_weight,                               
"pkgname[text()~=stem(?)]" },
+               { pkgname_weight / 2,                           
"pkgname[contains(text(),stem(?))]" },
+               { as_utils_get_tag_search_weight ("summary"),   
"summary[text()~=stem(?)]" },
+               { name_weight,                                  
"name[text()~=stem(?)]" },
+               { name_weight / 2,                              
"name[contains(text(),stem(?))]" },
+               { as_utils_get_tag_search_weight ("keyword"),   
"keywords/keyword[text()~=stem(?)]" },
+               { id_weight,                                    
"id[text()~=stem(?)]" },
+               { id_weight,                                    
"launchable[text()~=stem(?)]" },
+               { as_utils_get_tag_search_weight ("origin"),    
"../components[@origin~=stem(?)]" },
+               { 0,                                            NULL }
+       };
+#else
+       const Query queries[] = {
+               { AS_SEARCH_TOKEN_MATCH_MEDIATYPE,      
"mimetypes/mimetype[text()~=stem(?)]" },
                { AS_SEARCH_TOKEN_MATCH_PKGNAME,        
"pkgname[text()~=stem(?)]" },
                { AS_SEARCH_TOKEN_MATCH_PKGNAME / 2,    
"pkgname[contains(text(),stem(?))]" },
                { AS_SEARCH_TOKEN_MATCH_SUMMARY,        
"summary[text()~=stem(?)]" },
@@ -1647,6 +1673,7 @@ gs_appstream_search (GsPlugin *plugin,
                { AS_SEARCH_TOKEN_MATCH_ORIGIN,         
"../components[@origin~=stem(?)]" },
                { AS_SEARCH_TOKEN_MATCH_NONE,           NULL }
        };
+#endif
 
        return gs_appstream_do_search (plugin, silo, values, queries, list, 
cancellable, error);
 }
@@ -1659,11 +1686,21 @@ gs_appstream_search_developer_apps (GsPlugin *plugin,
                                    GCancellable *cancellable,
                                    GError **error)
 {
+#if AS_CHECK_VERSION(1, 0, 0)
+       const Query queries[] = {
+               { as_utils_get_tag_search_weight ("pkgname"), 
"developer/name[text()~=stem(?)]" },
+               { as_utils_get_tag_search_weight ("summary"), 
"project_group[text()~=stem(?)]" },
+               /* for legacy support */
+               { as_utils_get_tag_search_weight ("pkgname"), 
"developer_name[text()~=stem(?)]" },
+               { 0,                                          NULL }
+       };
+#else
        const Query queries[] = {
                { AS_SEARCH_TOKEN_MATCH_PKGNAME,        
"developer_name[text()~=stem(?)]" },
                { AS_SEARCH_TOKEN_MATCH_SUMMARY,        
"project_group[text()~=stem(?)]" },
                { AS_SEARCH_TOKEN_MATCH_NONE,           NULL }
        };
+#endif
 
        return gs_appstream_do_search (plugin, silo, values, queries, list, 
cancellable, error);
 }
diff --git a/lib/gs-utils.c b/lib/gs-utils.c
index cf90730..19e6ebd 100644
--- a/lib/gs-utils.c
+++ b/lib/gs-utils.c
@@ -1694,9 +1694,9 @@ gs_utils_gstring_replace (GString *str,
                          const gchar *find,
                          const gchar *replace)
 {
-       #ifdef HAVE_AS_GSTRING_REPLACE_WITH_FOUR_ARGS
+#if AS_CHECK_VERSION(1, 0, 0)
        as_gstring_replace (str, find, replace, 0);
-       #else
-       as_gstring_replace (str, find, replace);
-       #endif
+#else
+       as_gstring_replace2 (str, find, replace, 0);
+#endif
 }
diff --git a/meson.build b/meson.build
index da9e7ac..2cab9d6 100644
--- a/meson.build
+++ b/meson.build
@@ -113,7 +113,7 @@ add_project_arguments('-D_GNU_SOURCE', language : 'c')
 conf.set('HAVE_LINUX_UNISTD_H', cc.has_header('linux/unistd.h'))
 
 appstream = dependency('appstream',
-  version : '>= 0.14.0',
+  version : '>= 0.16.4',
   fallback : ['appstream', 'appstream_dep'],
   default_options : [
     'docs=false',
@@ -121,26 +121,6 @@ appstream = dependency('appstream',
     'install-docs=false'
   ]
 )
-if appstream.type_name() == 'internal'
-else
-  if meson.get_compiler('c').has_header_symbol('appstream.h', 
'AS_SEARCH_TOKEN_MATCH_MEDIATYPE', dependencies: appstream)
-    conf.set('HAVE_AS_SEARCH_TOKEN_MATCH_MEDIATYPE', '1')
-  endif
-  if meson.get_compiler('c').has_header_symbol('appstream.h', 
'AS_FORMAT_STYLE_CATALOG', dependencies: appstream)
-    conf.set('HAVE_AS_FORMAT_STYLE_CATALOG', '1')
-  endif
-  if meson.get_compiler('c').has_function('as_metadata_components_to_catalog', 
prefix: '#include <appstream.h>', dependencies: appstream)
-    conf.set('HAVE_AS_METADATA_COMPONENTS_TO_CATALOG', '1')
-  endif
-  if meson.get_compiler('c').links('''#include <appstream.h>
-      int main (void)
-      {
-         as_gstring_replace (NULL, "a", "b", 0);
-         return 0;
-      }''', name: 'as_gstring_replace() has four arguments', dependencies: 
appstream)
-    conf.set('HAVE_AS_GSTRING_REPLACE_WITH_FOUR_ARGS', '1')
-  endif
-endif
 
 gdk_pixbuf = dependency('gdk-pixbuf-2.0', version : '>= 2.32.0')
 libxmlb = dependency('xmlb', version : '>= 0.1.7', fallback : ['libxmlb', 
'libxmlb_dep'])
diff --git a/plugins/core/gs-plugin-appstream.c 
b/plugins/core/gs-plugin-appstream.c
index cf9f302..ef3226a 100644
--- a/plugins/core/gs-plugin-appstream.c
+++ b/plugins/core/gs-plugin-appstream.c
@@ -414,11 +414,7 @@ gs_plugin_appstream_load_dep11_cb (XbBuilderSource *self,
        if (bytes == NULL)
                return NULL;
 
-       #ifdef HAVE_AS_FORMAT_STYLE_CATALOG
        as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_CATALOG);
-       #else
-       as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_COLLECTION);
-       #endif
        as_metadata_parse_bytes (mdata,
                                 bytes,
                                 AS_FORMAT_KIND_YAML,
@@ -428,11 +424,7 @@ gs_plugin_appstream_load_dep11_cb (XbBuilderSource *self,
                return NULL;
        }
 
-       #ifdef HAVE_AS_METADATA_COMPONENTS_TO_CATALOG
        xml = as_metadata_components_to_catalog (mdata, AS_FORMAT_KIND_XML, 
&tmp_error);
-       #else
-       xml = as_metadata_components_to_collection (mdata, AS_FORMAT_KIND_XML, 
&tmp_error);
-       #endif
        if (xml == NULL) {
                // This API currently returns NULL if there is nothing to 
serialize, so we
                // have to test if this is an error or not.
diff --git a/plugins/fwupd/gs-fwupd-app.c b/plugins/fwupd/gs-fwupd-app.c
index 6dcda6e..5d3254d 100644
--- a/plugins/fwupd/gs-fwupd-app.c
+++ b/plugins/fwupd/gs-fwupd-app.c
@@ -164,7 +164,11 @@ gs_fwupd_app_set_from_device (GsApp *app,
                gs_app_set_install_date (app, fwupd_device_get_created (dev));
        if (fwupd_device_get_description (dev) != NULL) {
                g_autofree gchar *tmp = NULL;
+#if AS_CHECK_VERSION(1, 0, 0)
+               tmp = as_markup_convert (fwupd_device_get_description (dev), 
AS_MARKUP_KIND_TEXT, NULL);
+#else
                tmp = as_markup_convert_simple (fwupd_device_get_description 
(dev), NULL);
+#endif
                if (tmp != NULL)
                        gs_app_set_description (app, GS_APP_QUALITY_NORMAL, 
tmp);
        }
@@ -402,7 +406,11 @@ gs_fwupd_app_set_from_release (GsApp *app, FwupdRelease 
*rel)
        }
        if (fwupd_release_get_description (rel) != NULL) {
                g_autofree gchar *tmp = NULL;
+#if AS_CHECK_VERSION(1, 0, 0)
+               tmp = as_markup_convert (fwupd_release_get_description (rel), 
AS_MARKUP_KIND_TEXT, NULL);
+#else
                tmp = as_markup_convert_simple (fwupd_release_get_description 
(rel), NULL);
+#endif
                if (tmp != NULL)
                        gs_app_set_update_details_text (app, tmp);
        }
diff --git a/plugins/fwupd/gs-plugin-fwupd.c b/plugins/fwupd/gs-plugin-fwupd.c
index e931b2b..0747d6e 100644
--- a/plugins/fwupd/gs-plugin-fwupd.c
+++ b/plugins/fwupd/gs-plugin-fwupd.c
@@ -726,7 +726,11 @@ gs_plugin_add_updates (GsPlugin *plugin,
                                g_autofree gchar *desc = NULL;
                                if (fwupd_release_get_description (rel) == NULL)
                                        continue;
+#if AS_CHECK_VERSION(1, 0, 0)
+                               desc = as_markup_convert 
(fwupd_release_get_description (rel), AS_MARKUP_KIND_TEXT, NULL);
+#else
                                desc = as_markup_convert_simple 
(fwupd_release_get_description (rel), NULL);
+#endif
                                if (desc == NULL)
                                        continue;
                                g_string_append_printf (update_desc,
diff --git a/src/gs-hardware-support-context-dialog.c 
b/src/gs-hardware-support-context-dialog.c
index 0e48c8c..1465340 100644
--- a/src/gs-hardware-support-context-dialog.c
+++ b/src/gs-hardware-support-context-dialog.c
@@ -461,6 +461,7 @@ gs_hardware_support_context_dialog_get_display_support 
(GdkMonitor     *monitor,
                        AsRelationCompare comparator = as_relation_get_compare 
(relation);
                        Range current_display_comparand, relation_comparand;
 
+#if !AS_CHECK_VERSION(1, 0, 0)
                        /* From 
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-requires-recommends-display_length
 */
                        Range display_lengths[] = {
                                [AS_DISPLAY_LENGTH_KIND_XSMALL] = { 0, 360 },
@@ -469,6 +470,7 @@ gs_hardware_support_context_dialog_get_display_support 
(GdkMonitor     *monitor,
                                [AS_DISPLAY_LENGTH_KIND_LARGE] = { 1024, 3840 },
                                [AS_DISPLAY_LENGTH_KIND_XLARGE] = { 3840, 
G_MAXUINT },
                        };
+#endif
 
                        any_display_relations_set = TRUE;
 
@@ -485,11 +487,14 @@ gs_hardware_support_context_dialog_get_display_support 
(GdkMonitor     *monitor,
                        case AS_DISPLAY_SIDE_KIND_LAST:
                        default:
                                current_display_comparand.min = 
current_display_comparand.max = MAX (current_screen_size.width, 
current_screen_size.height);
+#if !AS_CHECK_VERSION(1, 0, 0)
                                relation_comparand.min = 
display_lengths[as_relation_get_value_display_length_kind (relation)].min;
                                relation_comparand.max = 
display_lengths[as_relation_get_value_display_length_kind (relation)].max;
+#endif
                                break;
                        }
 
+#if !AS_CHECK_VERSION(1, 0, 0)
                        if (evaluate_display_comparison 
(display_lengths[AS_DISPLAY_LENGTH_KIND_SMALL], comparator, 
relation_comparand)) {
                                *mobile_relation_kind_out = max_relation_kind 
(*mobile_relation_kind_out, as_relation_get_kind (relation));
                                *mobile_match_out = TRUE;
@@ -499,6 +504,7 @@ gs_hardware_support_context_dialog_get_display_support 
(GdkMonitor     *monitor,
                                *desktop_relation_kind_out = max_relation_kind 
(*desktop_relation_kind_out, as_relation_get_kind (relation));
                                *desktop_match_out = TRUE;
                        }
+#endif
 
                        if (evaluate_display_comparison 
(current_display_comparand, comparator, relation_comparand)) {
                                *current_relation_kind_out = max_relation_kind 
(*current_relation_kind_out, as_relation_get_kind (relation));
diff --git a/src/gs-repos-dialog.c b/src/gs-repos-dialog.c
index c41c494..7dac041 100644
--- a/src/gs-repos-dialog.c
+++ b/src/gs-repos-dialog.c
@@ -154,7 +154,11 @@ enable_repo (GsReposDialog *dialog,
                g_autoptr(GError) error = NULL;
 
                /* convert from AppStream markup */
+#if AS_CHECK_VERSION(1, 0, 0)
+               message = as_markup_convert (gs_app_get_agreement (repo), 
AS_MARKUP_KIND_TEXT, &error);
+#else
                message = as_markup_convert_simple (gs_app_get_agreement 
(repo), &error);
+#endif
                if (message == NULL) {
                        /* failed, so just try and show the original markup */
                        message = g_strdup (gs_app_get_agreement (repo));
diff --git a/src/gs-screenshot-carousel.c b/src/gs-screenshot-carousel.c
index 04bbf86..d269af6 100644
--- a/src/gs-screenshot-carousel.c
+++ b/src/gs-screenshot-carousel.c
@@ -141,8 +141,8 @@ gs_screenshot_carousel_load_screenshots 
(GsScreenshotCarousel *self, GsApp *app,
                gtk_widget_set_can_focus (gtk_widget_get_first_child (ssimg), 
FALSE);
                gs_screenshot_image_set_screenshot (GS_SCREENSHOT_IMAGE 
(ssimg), ss);
                gs_screenshot_image_set_size (GS_SCREENSHOT_IMAGE (ssimg),
-                                             AS_IMAGE_NORMAL_WIDTH,
-                                             AS_IMAGE_NORMAL_HEIGHT);
+                                             GS_IMAGE_NORMAL_WIDTH,
+                                             GS_IMAGE_NORMAL_HEIGHT);
                gtk_widget_add_css_class (ssimg, "screenshot-image-main");
                gs_screenshot_image_load_async (GS_SCREENSHOT_IMAGE (ssimg), 
cancellable);
 
diff --git a/src/gs-screenshot-image.c b/src/gs-screenshot-image.c
index c313a25..b24083b 100644
--- a/src/gs-screenshot-image.c
+++ b/src/gs-screenshot-image.c
@@ -284,13 +284,13 @@ gs_screenshot_image_save_downloaded_img 
(GsScreenshotImage *ssimg,
        if (images->len > 1)
                return TRUE;
 
-       if (width == AS_IMAGE_THUMBNAIL_WIDTH &&
-           height == AS_IMAGE_THUMBNAIL_HEIGHT) {
-               width = AS_IMAGE_NORMAL_WIDTH;
-               height = AS_IMAGE_NORMAL_HEIGHT;
+       if (width == GS_IMAGE_THUMBNAIL_WIDTH &&
+           height == GS_IMAGE_THUMBNAIL_HEIGHT) {
+               width = GS_IMAGE_NORMAL_WIDTH;
+               height = GS_IMAGE_NORMAL_HEIGHT;
        } else {
-               width = AS_IMAGE_THUMBNAIL_WIDTH;
-               height = AS_IMAGE_THUMBNAIL_HEIGHT;
+               width = GS_IMAGE_THUMBNAIL_WIDTH;
+               height = GS_IMAGE_THUMBNAIL_HEIGHT;
        }
 
        width *= ssimg->scale;
@@ -582,16 +582,30 @@ gs_screenshot_image_get_url (GsScreenshotImage *ssimg)
        } else if (as_screenshot_get_media_kind (ssimg->screenshot) == 
AS_SCREENSHOT_MEDIA_KIND_IMAGE) {
                AsImage *im;
 
+#if AS_CHECK_VERSION(1, 0, 0)
+               im = as_screenshot_get_image (ssimg->screenshot,
+                                             ssimg->width,
+                                             ssimg->height,
+                                             ssimg->scale);
+#else
                im = as_screenshot_get_image (ssimg->screenshot,
                                              ssimg->width * ssimg->scale,
                                              ssimg->height * ssimg->scale);
+#endif
 
                /* if we've failed to load a HiDPI image, fallback to LoDPI */
                if (im == NULL && ssimg->scale > 1) {
                        ssimg->scale = 1;
+#if AS_CHECK_VERSION(1, 0, 0)
+                       im = as_screenshot_get_image (ssimg->screenshot,
+                                                     ssimg->width,
+                                                     ssimg->height,
+                                                     1);
+#else
                        im = as_screenshot_get_image (ssimg->screenshot,
                                                      ssimg->width,
                                                      ssimg->height);
+#endif
                }
 
                if (im)
@@ -698,15 +712,22 @@ gs_screenshot_image_load_async (GsScreenshotImage *ssimg,
         * smaller version of it straight away */
        if (!ssimg->showing_image &&
            as_screenshot_get_media_kind (ssimg->screenshot) == 
AS_SCREENSHOT_MEDIA_KIND_IMAGE &&
-           ssimg->width > AS_IMAGE_THUMBNAIL_WIDTH &&
-           ssimg->height > AS_IMAGE_THUMBNAIL_HEIGHT) {
+           ssimg->width > GS_IMAGE_THUMBNAIL_WIDTH &&
+           ssimg->height > GS_IMAGE_THUMBNAIL_HEIGHT) {
                const gchar *url_thumb;
                g_autofree gchar *basename_thumb = NULL;
                g_autofree gchar *cache_kind_thumb = NULL;
                AsImage *im;
+#if AS_CHECK_VERSION(1, 0, 0)
                im = as_screenshot_get_image (ssimg->screenshot,
-                                             AS_IMAGE_THUMBNAIL_WIDTH * 
ssimg->scale,
-                                             AS_IMAGE_THUMBNAIL_HEIGHT * 
ssimg->scale);
+                                             GS_IMAGE_THUMBNAIL_WIDTH,
+                                             GS_IMAGE_THUMBNAIL_HEIGHT,
+                                             ssimg->scale);
+#else
+               im = as_screenshot_get_image (ssimg->screenshot,
+                                             GS_IMAGE_THUMBNAIL_WIDTH * 
ssimg->scale,
+                                             GS_IMAGE_THUMBNAIL_HEIGHT * 
ssimg->scale);
+#endif
                url_thumb = as_image_get_url (im);
                basename_thumb = gs_screenshot_get_cachefn_for_url (url_thumb);
                cache_kind_thumb = g_build_filename ("screenshots", "112x63", 
NULL);
diff --git a/src/gs-screenshot-image.h b/src/gs-screenshot-image.h
index 1f6cf81..6e45f5d 100644
--- a/src/gs-screenshot-image.h
+++ b/src/gs-screenshot-image.h
@@ -21,6 +21,13 @@ G_BEGIN_DECLS
 
 G_DECLARE_FINAL_TYPE (GsScreenshotImage, gs_screenshot_image, GS, 
SCREENSHOT_IMAGE, GtkWidget)
 
+#define GS_IMAGE_LARGE_HEIGHT          423
+#define GS_IMAGE_LARGE_WIDTH           752
+#define GS_IMAGE_NORMAL_HEIGHT         351
+#define GS_IMAGE_NORMAL_WIDTH          624
+#define GS_IMAGE_THUMBNAIL_HEIGHT      63
+#define GS_IMAGE_THUMBNAIL_WIDTH       112
+
 GtkWidget      *gs_screenshot_image_new                (SoupSession            
*session);
 
 AsScreenshot   *gs_screenshot_image_get_screenshot     (GsScreenshotImage      
*ssimg);
diff --git a/subprojects/appstream.wrap b/subprojects/appstream.wrap
index 6f0beb0..b9a9c7d 100644
--- a/subprojects/appstream.wrap
+++ b/subprojects/appstream.wrap
@@ -1,5 +1,5 @@
 [wrap-git]
 directory = appstream
 url = https://github.com/ximion/appstream.git
-revision = v0.14.1
+revision = v0.16.4
 depth = 1
-- 
2.43.0

Reply via email to