Repository: mesonbuild/meson

Issue:
Installed components (gtk4, desktop-file-utils) not detected by Meson
**Describe the bug**
Installed components (gtk4, desktop-file-utils) not detected by Meson
```
$ dnf -q --installed list gtk4 desktop-file-utils | sed 1d
desktop-file-utils.x86_64                0.26-5.fc35                 @System
gtk4.x86_64                              4.4.2-1.fc35                @System
```

**To Reproduce**
```
$ meson --reconfigure builddir
The Meson build system
Version: 0.61.3
Source dir: /home/user/Downloads/Flatseal
Build dir: /home/user/Downloads/Flatseal/builddir
Build type: native build
Project name: flatseal
Project version: 1.7.5
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program gjs found: YES (/usr/bin/gjs)
Configuring com.github.tchx84.Flatseal using configuration
Program jasmine found: NO
Dependency gio-2.0 found: YES 2.70.4 (cached)
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Found CMake: /usr/bin/cmake (3.22.2)
Build-time dependency gtk4 found: NO (tried pkgconfig and cmake)
Program gtk4-update-icon-cache found: YES (/usr/bin/gtk4-update-icon-cache)
Build-time dependency desktop-file-utils found: NO (tried pkgconfig and cmake)
Program update-desktop-database found: YES (/usr/bin/update-desktop-database)
Build targets in project: 22

Found ninja-1.10.2 at /usr/bin/ninja
```

**Expected behavior**
Installed components to be detected by Meson

**system parameters**
cross build: ?; plain native build: ?
(in plain English) build via 
```
$ git clone https://github.com/mesonbuild/meson.git`
$ meson builddir
```
**OS:** Fedora
```
$ pip3 -V
pip 21.2.3 from /usr/lib/python3.10/site-packages/pip (python 3.10)
```


Discussion:

Resolving patch:
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -368,17 +368,17 @@ def post_install(self, state: 'ModuleState', args: T.List['TYPE_var'], kwargs: '
                 rv.append(script)
         if kwargs['gtk_update_icon_cache'] and not self.install_gtk_update_icon_cache:
             self.install_gtk_update_icon_cache = True
-            prog = self._get_native_binary(state, 'gtk4-update-icon-cache', 'gtk4', 'gtk4_update_icon_cache', required=False)
+            prog = state.find_program('gtk4-update-icon-cache', required=False)
             found = isinstance(prog, build.Executable) or prog.found()
             if not found:
-                prog = self._get_native_binary(state, 'gtk-update-icon-cache', 'gtk+-3.0', 'gtk_update_icon_cache')
+                prog = state.find_program('gtk4-update-icon-cache')
             icondir = os.path.join(datadir_abs, 'icons', 'hicolor')
             script = state.backend.get_executable_serialisation([prog, '-q', '-t', '-f', icondir])
             script.skip_if_destdir = True
             rv.append(script)
         if kwargs['update_desktop_database'] and not self.install_update_desktop_database:
             self.install_update_desktop_database = True
-            prog = self._get_native_binary(state, 'update-desktop-database', 'desktop-file-utils', 'update_desktop_database')
+            prog = state.find_program('update-desktop-database')
             appdir = os.path.join(datadir_abs, 'applications')
             script = state.backend.get_executable_serialisation([prog, '-q', appdir])
             script.skip_if_destdir = True


Test patch: