13 libstartup_notification,
39 gsettings-desktop-schemas,
53 gnome-settings-daemon,
68 stdenv.mkDerivation (finalAttrs: {
80 url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
81 hash = "sha256-+8CDVEr7O4Vn18pobCF/g3sG+UeNbiV0FZ/5ocjhyWI=";
86 "-Dinstalled_tests=false" # TODO: enable these
88 "-Dwayland_eglstream=true"
90 "-Dxwayland_path=${lib.getExe xwayland}"
91 # This should be auto detected, but it looks like it manages a false
93 "-Dxwayland_initfd=disabled"
97 propagatedBuildInputs = [
98 # required for pkg-config to detect mutter-mtk
100 mesa # actually uses eglmesaext
103 nativeBuildInputs = [
116 gobject-introspection
124 gnome-settings-daemon
125 gsettings-desktop-schemas
135 libstartup_notification
142 sysprof # for D-Bus interfaces
169 patchShebangs src/backends/native/gen-default-modes.py
173 ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
177 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
178 # TODO: Move this into a directory devhelp can find.
179 moveToOutput "share/mutter-14/doc" "$devdoc"
182 # Install udev files into our own tree.
183 PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
185 separateDebugInfo = true;
188 libdir = "${finalAttrs.finalPackage}/lib/mutter-14";
191 libdirExists = runCommand "mutter-libdir-exists" { } ''
192 if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then
193 echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one."
202 description = "Window manager for GNOME";
203 mainProgram = "mutter";
204 homepage = "https://gitlab.gnome.org/GNOME/mutter";
205 license = licenses.gpl2Plus;
206 maintainers = teams.pantheon.members;
207 platforms = platforms.linux;