diff --git a/subprojects/extensions-app/data/meson.build b/subprojects/extensions-app/data/meson.build index 367c56d28..920d57872 100644 --- a/subprojects/extensions-app/data/meson.build +++ b/subprojects/extensions-app/data/meson.build @@ -1,10 +1,18 @@ +subdir('icons') +subdir('metainfo') + gnome.compile_resources( app_id + '.data', configure_file( input: base_id + '.data.gresource.xml.in', output: app_id + '.data.gresource.xml', - configuration: {'profile': '/'.join(profile.split('.')) }, + configuration: { + 'app_id': app_id, + 'profile': '/'.join(profile.split('.')), + }, ), + dependencies: [metainfo], + source_dir: ['.', meson.current_build_dir()], gresource_bundle: true, install: true, install_dir: pkgdatadir @@ -46,7 +54,4 @@ configure_file( install_dir: servicedir, ) -subdir('icons') -subdir('metainfo') - install_data(base_id + '.gschema.xml', install_dir: schemadir) diff --git a/subprojects/extensions-app/data/metainfo/meson.build b/subprojects/extensions-app/data/metainfo/meson.build index a7a823034..98328736f 100644 --- a/subprojects/extensions-app/data/metainfo/meson.build +++ b/subprojects/extensions-app/data/metainfo/meson.build @@ -1,18 +1,17 @@ -metainfo = app_id + '.metainfo.xml' -i18n.merge_file( +metainfo = i18n.merge_file( input: configure_file( input: base_id + '.metainfo.xml.in', output: app_id + '.metainfo.xml.in', configuration: {'app_id': app_id}, ), - output: metainfo, + output: '@BASENAME@', po_dir: po_dir, install: true, install_dir: metainfodir ) if (appstream_util.found()) - test('Validating via appstream_util ' + metainfo, + test('Validating metainfo via appstream_util', appstream_util, args: ['validate', '--nonet', metainfo], workdir: meson.current_build_dir() @@ -21,7 +20,7 @@ endif # Validate Appdata if (appstreamcli.found()) - test('Validating ' + metainfo, + test('Validating metainfo', appstreamcli, args: ['validate', '--no-net', metainfo], workdir: meson.current_build_dir() diff --git a/subprojects/extensions-app/data/org.gnome.Extensions.data.gresource.xml.in b/subprojects/extensions-app/data/org.gnome.Extensions.data.gresource.xml.in index fe9cbad08..448090fd8 100644 --- a/subprojects/extensions-app/data/org.gnome.Extensions.data.gresource.xml.in +++ b/subprojects/extensions-app/data/org.gnome.Extensions.data.gresource.xml.in @@ -13,6 +13,7 @@ dbus-interfaces/org.gnome.Shell.Extensions.xml + metainfo/@app_id@.metainfo.xml ui/extension-row.ui ui/extensions-window.ui diff --git a/subprojects/extensions-app/js/extensionsWindow.js b/subprojects/extensions-app/js/extensionsWindow.js index 25b9910ad..c8086c615 100644 --- a/subprojects/extensions-app/js/extensionsWindow.js +++ b/subprojects/extensions-app/js/extensionsWindow.js @@ -2,7 +2,6 @@ import Adw from 'gi://Adw?version=1'; import GLib from 'gi://GLib'; import Gio from 'gi://Gio'; import GObject from 'gi://GObject'; -import Gtk from 'gi://Gtk?version=4.0'; import Shew from 'gi://Shew'; const Package = imports.package; @@ -141,7 +140,11 @@ export const ExtensionsWindow = GObject.registerClass({ } _showAbout() { - const aboutDialog = new Adw.AboutDialog({ + const [version] = Package.version.split(' '); + const aboutDialog = Adw.AboutDialog.new_from_appdata( + '/org/gnome/Extensions/metainfo.xml', version); + + aboutDialog.set({ developers: [ 'Florian Müllner ', 'Jasper St. Pierre ', @@ -153,13 +156,7 @@ export const ExtensionsWindow = GObject.registerClass({ 'Tobias Bernard ', ], translator_credits: _('translator-credits'), - application_name: _('Extensions'), - license_type: Gtk.License.GPL_2_0, - application_icon: Package.name, version: Package.version, - developer_name: _('The GNOME Project'), - website: 'https://apps.gnome.org/app/org.gnome.Extensions/', - issue_url: 'https://gitlab.gnome.org/GNOME/gnome-shell/issues/new', }); aboutDialog.present(this); }