Snap plugin doesn't build in 40.rc
When trying to build gnome-software-40.rc in latest (2021-03-21) Ubuntu Hirsute Hippo (with: libsnapd-glib-dev = 1.58-0ubuntu1), I'm getting:
cc -Iplugins/snap/gs-self-test-snap.p -Iplugins/snap -I../plugins/snap -I. -I.. -Ilib -I../lib -Idata -I/usr/include/appstream -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/goa-1.0 -I/usr/lib/x86_64-linux-gnu/goa-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/json-glib-1.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/snapd-glib -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 -fstack-protector-strong -Waggregate-return -Warray-bounds -Wcast-align -Wclobbered -Wdeclaration-after-statement -Wempty-body -Wextra -Wformat=2 -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wignored-qualifiers -Wimplicit-function-declaration -Werror=implicit-function-declaration -Winit-self -Winline -Wmissing-declarations -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wmissing-parameter-type -Wmissing-prototypes -Wnested-externs -Werror=nested-externs -Wno-discarded-qualifiers -Wno-missing-field-initializers -Wno-strict-aliasing -Wno-suggest-attribute=format -Wno-unused-parameter -Wold-style-definition -Woverride-init -Wpacked -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare -Wstrict-aliasing -Wstrict-prototypes -Wswitch-default -Wtype-limits -Wundef -Wuninitialized -Wunused-but-set-variable -Wwrite-strings -D_XOPEN_SOURCE=700 -D_GNU_SOURCE -DI_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE -DI_KNOW_THE_GNOME_SOFTWARE_API_IS_SUBJECT_TO_CHANGE -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -pthread '-DG_LOG_DOMAIN="GsPluginSnap"' '-DLOCALPLUGINDIR="/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/plugins/snap"' '-DLOCALPLUGINDIR_CORE="/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/plugins/snap/../core"' -MD -MQ plugins/snap/gs-self-test-snap.p/gs-self-test.c.o -MF plugins/snap/gs-self-test-snap.p/gs-self-test.c.o.d -o plugins/snap/gs-self-test-snap.p/gs-self-test.c.o -c ../plugins/snap/gs-self-test.c
../plugins/snap/gs-self-test.c: In function ‘gs_plugins_snap_test_func’:
../plugins/snap/gs-self-test.c:327:73: warning: passing argument 4 of ‘g_loadable_icon_load’ from incompatible pointer type [-Wincompatible-pointer-types]
327 | icon_stream = g_loadable_icon_load (G_LOADABLE_ICON (icon), 128, NULL, &error);
| ^~~~~~
| |
| GError ** {aka struct _GError **}
In file included from /usr/include/glib-2.0/gio/gio.h:103,
from /usr/include/snapd-glib/snapd-glib/snapd-client.h:18,
from /usr/include/snapd-glib/snapd-glib/snapd-glib.h:20,
from ../plugins/snap/gs-self-test.c:9:
/usr/include/glib-2.0/gio/gloadableicon.h:83:31: note: expected ‘GCancellable *’ {aka ‘struct _GCancellable *’} but argument is of type ‘GError **’ {aka ‘struct _GError **’}
83 | GCancellable *cancellable,
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../plugins/snap/gs-self-test.c:327:16: error: too few arguments to function ‘g_loadable_icon_load’
327 | icon_stream = g_loadable_icon_load (G_LOADABLE_ICON (icon), 128, NULL, &error);
| ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/gio/gio.h:103,
from /usr/include/snapd-glib/snapd-glib/snapd-client.h:18,
from /usr/include/snapd-glib/snapd-glib/snapd-glib.h:20,
from ../plugins/snap/gs-self-test.c:9:
/usr/include/glib-2.0/gio/gloadableicon.h:80:15: note: declared here
80 | GInputStream *g_loadable_icon_load (GLoadableIcon *icon,
| ^~~~~~~~~~~~~~~~~~~~
[190/274] cc -Iplugins/snap/libgs_plugin_snap.so.p -Iplugins/snap -I../plugins/snap -I. -I.. -Ilib -I../lib -I/usr/include/appstream -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/goa-1.0 -I/usr/lib/x86_64-linux-gnu/goa-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/json-glib-1.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/snapd-glib -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 -fstack-protector-strong -Waggregate-return -Warray-bounds -Wcast-align -Wclobbered -Wdeclaration-after-statement -Wempty-body -Wextra -Wformat=2 -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wignored-qualifiers -Wimplicit-function-declaration -Werror=implicit-function-declaration -Winit-self -Winline -Wmissing-declarations -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wmissing-parameter-type -Wmissing-prototypes -Wnested-externs -Werror=nested-externs -Wno-discarded-qualifiers -Wno-missing-field-initializers -Wno-strict-aliasing -Wno-suggest-attribute=format -Wno-unused-parameter -Wold-style-definition -Woverride-init -Wpacked -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare -Wstrict-aliasing -Wstrict-prototypes -Wswitch-default -Wtype-limits -Wundef -Wuninitialized -Wunused-but-set-variable -Wwrite-strings -D_XOPEN_SOURCE=700 -D_GNU_SOURCE -DI_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE -DI_KNOW_THE_GNOME_SOFTWARE_API_IS_SUBJECT_TO_CHANGE -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread '-DG_LOG_DOMAIN="GsPluginSnap"' -MD -MQ plugins/snap/libgs_plugin_snap.so.p/gs-plugin-snap.c.o -MF plugins/snap/libgs_plugin_snap.so.p/gs-plugin-snap.c.o.d -o plugins/snap/libgs_plugin_snap.so.p/gs-plugin-snap.c.o -c ../plugins/snap/gs-plugin-snap.c
FAILED: plugins/snap/libgs_plugin_snap.so.p/gs-plugin-snap.c.o
cc -Iplugins/snap/libgs_plugin_snap.so.p -Iplugins/snap -I../plugins/snap -I. -I.. -Ilib -I../lib -I/usr/include/appstream -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/goa-1.0 -I/usr/lib/x86_64-linux-gnu/goa-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/json-glib-1.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/snapd-glib -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 -fstack-protector-strong -Waggregate-return -Warray-bounds -Wcast-align -Wclobbered -Wdeclaration-after-statement -Wempty-body -Wextra -Wformat=2 -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wignored-qualifiers -Wimplicit-function-declaration -Werror=implicit-function-declaration -Winit-self -Winline -Wmissing-declarations -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wmissing-parameter-type -Wmissing-prototypes -Wnested-externs -Werror=nested-externs -Wno-discarded-qualifiers -Wno-missing-field-initializers -Wno-strict-aliasing -Wno-suggest-attribute=format -Wno-unused-parameter -Wold-style-definition -Woverride-init -Wpacked -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare -Wstrict-aliasing -Wstrict-prototypes -Wswitch-default -Wtype-limits -Wundef -Wuninitialized -Wunused-but-set-variable -Wwrite-strings -D_XOPEN_SOURCE=700 -D_GNU_SOURCE -DI_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE -DI_KNOW_THE_GNOME_SOFTWARE_API_IS_SUBJECT_TO_CHANGE -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread '-DG_LOG_DOMAIN="GsPluginSnap"' -MD -MQ plugins/snap/libgs_plugin_snap.so.p/gs-plugin-snap.c.o -MF plugins/snap/libgs_plugin_snap.so.p/gs-plugin-snap.c.o.d -o plugins/snap/libgs_plugin_snap.so.p/gs-plugin-snap.c.o -c ../plugins/snap/gs-plugin-snap.c
../plugins/snap/gs-plugin-snap.c: In function ‘load_snap_icon’:
../plugins/snap/gs-plugin-snap.c:745:2: error: implicit declaration of function ‘gs_app_add_pixbuf’; did you mean ‘gs_app_add_icon’? [-Werror=implicit-function-declaration]
745 | gs_app_add_pixbuf (app, pixbuf);
| ^~~~~~~~~~~~~~~~~
| gs_app_add_icon
../plugins/snap/gs-plugin-snap.c:745:2: error: nested extern declaration of ‘gs_app_add_pixbuf’ [-Werror=nested-externs]
../plugins/snap/gs-plugin-snap.c: In function ‘load_desktop_icon’:
../plugins/snap/gs-plugin-snap.c:817:8: warning: assignment to ‘GIcon_autoptr’ {aka ‘struct _GIcon *’} from incompatible pointer type ‘AsIcon *’ {aka ‘struct _AsIcon *’} [-Wincompatible-pointer-types]
817 | icon = as_icon_new ();
| ^
../plugins/snap/gs-plugin-snap.c: In function ‘refine_screenshots’:
../plugins/snap/gs-plugin-snap.c:901:31: error: ‘AS_SCREENSHOT_KIND_NORMAL’ undeclared (first use in this function); did you mean ‘AS_SCREENSHOT_KIND_EXTRA’?
901 | as_screenshot_set_kind (ss, AS_SCREENSHOT_KIND_NORMAL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| AS_SCREENSHOT_KIND_EXTRA
../plugins/snap/gs-plugin-snap.c:901:31: note: each undeclared identifier is reported only once for each function it appears in
../plugins/snap/gs-plugin-snap.c: In function ‘refine_app_with_client’:
../plugins/snap/gs-plugin-snap.c:1071:54: error: implicit declaration of function ‘gs_app_has_pixbufs’; did you mean ‘gs_app_has_kudo’? [-Werror=implicit-function-declaration]
1071 | if (flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON && !gs_app_has_pixbufs (app))
| ^~~~~~~~~~~~~~~~~~
| gs_app_has_kudo
../plugins/snap/gs-plugin-snap.c:1071:54: error: nested extern declaration of ‘gs_app_has_pixbufs’ [-Werror=nested-externs]
cc1: some warnings being treated as errors
[191/274] /usr/bin/glib-compile-resources ../src/gnome-software.gresource.xml --sourcedir ../src/. --sourcedir ../src --c-name gs --internal --generate --target src/gs-resources.c --dependency-file src/gs-resources.c.d
[192/274] /usr/bin/meson --internal msgfmthelper ../plugins/snap/org.gnome.Software.Plugin.Snap.metainfo.xml.in plugins/snap/org.gnome.Software.Plugin.Snap.metainfo.xml xml /<<PKGBUILDDIR>>/po
ninja: build stopped: subcommand failed.