14 libstartup_notification,
40 gsettings-desktop-schemas,
54 gnome-settings-daemon,
69 stdenv.mkDerivation (finalAttrs: {
81 url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
82 hash = "sha256-YRvZz5gq21ZZfOKzQiQnL9phm7O7kSpoTXXG8sN1AuQ=";
87 "-Dinstalled_tests=false" # TODO: enable these
89 "-Dwayland_eglstream=true"
91 "-Dxwayland_path=${lib.getExe xwayland}"
92 # This should be auto detected, but it looks like it manages a false
94 "-Dxwayland_initfd=disabled"
98 propagatedBuildInputs = [
99 # required for pkg-config to detect mutter-mtk
103 nativeBuildInputs = [
107 mesa # needed for gbm
117 gobject-introspection
125 gnome-settings-daemon
126 gsettings-desktop-schemas
136 libstartup_notification
143 sysprof # for D-Bus interfaces
170 patchShebangs src/backends/native/gen-default-modes.py
174 ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
178 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
179 # TODO: Move this into a directory devhelp can find.
180 moveToOutput "share/mutter-14/doc" "$devdoc"
183 # Install udev files into our own tree.
184 PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
186 separateDebugInfo = true;
189 libdir = "${finalAttrs.finalPackage}/lib/mutter-14";
192 libdirExists = runCommand "mutter-libdir-exists" { } ''
193 if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then
194 echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one."
201 updateScript = gnome.updateScript {
202 packageName = "mutter";
207 description = "Window manager for GNOME";
208 mainProgram = "mutter";
209 homepage = "https://gitlab.gnome.org/GNOME/mutter";
210 changelog = "https://gitlab.gnome.org/GNOME/mutter/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
211 license = licenses.gpl2Plus;
212 maintainers = teams.gnome.members;
213 platforms = platforms.linux;