Summary
Hi, I’m running Asahi Fedora Remix and I’m trying to patch GNOME to enable better notch compatibility, as instructed on this post. I cloned the Mutter repo, and I’m trying to build it by running meson settup builddir && cd builddir
. However, meson wants me to install gnome-desktop-4
as a dependency.
Things I did until now
Meson would fail to find a package, so I’d install the devel
version of it. I ended up following this tutorial on how to install dependencies, and ended up with the following code:
dep_list=$(dnf deplist mutter-devel | grep provider | sort -u | awk '{print $2}')
for package in $dep_list
do
echo "Installing package $package"
sudo dnf -y install $package
done
for package in $dep_list; do dnf list installed $package; done
The script worked, and I’d try to run the meson command, and I’d get meson.build:178:22: ERROR: Dependency "gnome-desktop-4" not found, tried pkgconfig and cmake
, which is weird. I tried to install gnome-desktop-4-devel
and gnome-desktop-4
anyway and wouldn’t get a match.
Requested solution
I’d like a surefire way to install Mutter’s source code and dependencies, and for meson to detect gnome-desktop-4
.
I doubt this is an issue specifically related to Asahi, hence why I’m posting on the main forum, but I can post there as well if need be.
Appendix, logs
Meson output
❯ meson setup builddir && cd builddir
The Meson build system
Version: 1.3.2
Source dir: /home/name/Documents/mutter
Build dir: /home/name/Documents/mutter/builddir
Build type: native build
Project name: mutter
Project version: 46.0
C compiler for the host machine: cc (gcc 13.2.1 "cc (GCC) 13.2.1 20240316 (Red Hat 13.2.1-7)")
C linker for the host machine: cc ld.bfd 2.40-14
Host machine cpu family: aarch64
Host machine cpu: aarch64
Compiler for C supports link arguments -Wl,--disable-new-dtags: YES
Library m found: YES
Found pkg-config: YES (/usr/bin/pkg-config) 1.9.5
Run-time dependency graphene-gobject-1.0 found: YES 1.10.6
Run-time dependency gdk-pixbuf-2.0 found: YES 2.42.10
Run-time dependency pango found: YES 1.51.0
Run-time dependency cairo found: YES 1.18.0
Run-time dependency pangocairo found: YES 1.51.0
Run-time dependency pixman-1 found: YES 0.42.2
Run-time dependency fribidi found: YES 1.0.13
Run-time dependency gsettings-desktop-schemas found: YES 45.0
Run-time dependency glib-2.0 found: YES 2.78.3
Run-time dependency gio-unix-2.0 found: YES 2.78.3
Dependency gio-unix-2.0 found: YES 2.78.3 (cached)
Run-time dependency gobject-2.0 found: YES 2.78.3
Dependency gobject-2.0 found: YES 2.78.3 (cached)
Run-time dependency gmodule-no-export-2.0 found: YES 2.78.3
Run-time dependency gnome-settings-daemon found: YES 45.1
Run-time dependency xkbcommon found: YES 1.6.0
Run-time dependency ice found: YES 1.0.10
Run-time dependency atk found: YES 2.50.2
Run-time dependency dbus-1 found: YES 1.14.10
Run-time dependency colord found: YES 1.4.6
Run-time dependency lcms2 found: YES 2.15
Run-time dependency harfbuzz found: YES 8.2.1
Run-time dependency libeis-1.0 found: YES 1.2.1
Run-time dependency libei-1.0 found: YES 1.2.1
Run-time dependency gtk4 found: YES 4.12.5
Run-time dependency x11 found: YES 1.8.7
Run-time dependency xcomposite found: YES 0.4.5
Run-time dependency xcursor found: YES 1.2.1
Run-time dependency xdamage found: YES 1.1.5
Run-time dependency xext found: YES 1.3.5
Run-time dependency xfixes found: YES 6.0.0
Run-time dependency xi found: YES 1.8.1
Run-time dependency xtst found: YES 1.2.4
Run-time dependency xkbfile found: YES 1.1.1
Run-time dependency xkeyboard-config found: YES 2.40
Run-time dependency xkbcommon-x11 found: YES 1.6.0
Run-time dependency xrender found: YES 0.9.11
Run-time dependency x11-xcb found: YES 1.8.7
Run-time dependency xrandr found: YES 1.5.4
Run-time dependency xcb-randr found: YES 1.13.1
Run-time dependency xcb-res found: YES 1.13.1
Run-time dependency xinerama found: YES 1.1.5
Run-time dependency xau found: YES 1.0.11
Run-time dependency libdisplay-info found: YES 0.1.1
Found CMake: /usr/bin/cmake (3.27.7)
Run-time dependency gnome-desktop-4 found: NO (tried pkgconfig and cmake)
meson.build:178:22: ERROR: Dependency "gnome-desktop-4" not found, tried pkgconfig and cmake
Meson log output for gnome-desktop-4, in case that's needed
Called: `/usr/bin/pkg-config --modversion gnome-desktop-4` -> 1
stderr:
Package gnome-desktop-4 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-desktop-4.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gnome-desktop-4', required by 'virtual:world', not found
-----------
CMake binary for host machine is not cached
CMake binary missing from cross or native file, or env var undefined.
Trying a default CMake fallback at cmake
Found CMake: /usr/bin/cmake (3.27.7)
Extracting basic cmake information
CMake Toolchain: Calling CMake once to generate the compiler state
Calling CMake (['/usr/bin/cmake']) in /home/name/Documents/mutter/builddir/meson-private/__CMake_compiler_info__ with:
- "--trace-expand"
- "--trace-format=json-v1"
- "--no-warn-unused-cli"
- "--trace-redirect=cmake_trace.txt"
- "-G"
- "Ninja"
- "-DCMAKE_TOOLCHAIN_FILE=/home/name/Documents/mutter/builddir/meson-private/__CMake_compiler_info__/CMakeMesonTempToolchainFile.cmake"
- "."
Try CMake generator: auto
Calling CMake (['/usr/bin/cmake']) in /home/name/Documents/mutter/builddir/meson-private/cmake_gnome-desktop-4 with:
- "--trace-expand"
- "--trace-format=json-v1"
- "--no-warn-unused-cli"
- "--trace-redirect=cmake_trace.txt"
- "-DCMAKE_TOOLCHAIN_FILE=/home/name/Documents/mutter/builddir/meson-private/cmake_gnome-desktop-4/CMakeMesonToolchainFile.cmake"
- "."
-- Module search paths: ['/', '/opt', '/usr', '/usr/local']
-- CMake root: /usr/share/cmake
-- CMake architectures: []
-- CMake lib search paths: ['lib', 'lib32', 'lib64', 'libx32', 'share', '']
Preliminary CMake check failed. Aborting.
Run-time dependency gnome-desktop-4 found: NO (tried pkgconfig and cmake)
meson.build:178:22: ERROR: Dependency "gnome-desktop-4" not found, tried pkgconfig and cmake