diff options
Diffstat (limited to 'pkgs/desktops/gnome-3/core/mutter/default.nix')
-rw-r--r-- | pkgs/desktops/gnome-3/core/mutter/default.nix | 116 |
1 files changed, 89 insertions, 27 deletions
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix index c8b1ac7e466..61024788f15 100644 --- a/pkgs/desktops/gnome-3/core/mutter/default.nix +++ b/pkgs/desktops/gnome-3/core/mutter/default.nix @@ -1,61 +1,123 @@ -{ fetchurl, fetchpatch, substituteAll, stdenv, pkgconfig, gnome3, gettext, gobject-introspection, upower, cairo -, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3 -, ninja, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput -, gsettings-desktop-schemas, glib, gtk3, gnome-desktop -, geocode-glib, pipewire, libgudev, libwacom, xwayland, meson +{ fetchurl +, fetchpatch +, substituteAll +, stdenv +, pkgconfig +, gnome3 +, gettext +, gobject-introspection +, upower +, cairo +, pango +, cogl +, json-glib +, libstartup_notification +, zenity +, libcanberra-gtk3 +, ninja +, xkeyboard_config +, libxkbfile +, libxkbcommon +, libXtst +, libinput +, gsettings-desktop-schemas +, glib +, gtk3 +, gnome-desktop +, geocode-glib +, pipewire +, libgudev +, libwacom +, xwayland +, meson , gnome-settings-daemon , xorgserver , python3 , wrapGAppsHook , sysprof , desktop-file-utils +, libcap_ng +, egl-wayland }: stdenv.mkDerivation rec { pname = "mutter"; - version = "3.34.1"; + version = "3.34.2"; outputs = [ "out" "dev" "man" ]; src = fetchurl { url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "13kmmgg2zizr0522clwc2zn3bkwbir503b1wjiiixf5xi37jc65s"; + sha256 = "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"; }; mesonFlags = [ - "-Dxwayland-path=${xwayland}/bin/Xwayland" + "-Degl_device=true" "-Dinstalled_tests=false" # TODO: enable these + "-Dwayland_eglstream=true" + "-Dxwayland-path=${xwayland}/bin/Xwayland" ]; propagatedBuildInputs = [ # required for pkgconfig to detect mutter-clutter + json-glib libXtst + libcap_ng ]; nativeBuildInputs = [ - meson - pkgconfig + desktop-file-utils gettext + meson ninja + pkgconfig python3 - # for cvt command - xorgserver wrapGAppsHook - desktop-file-utils + xorgserver # for cvt command ]; buildInputs = [ - glib gobject-introspection gtk3 gsettings-desktop-schemas upower - gnome-desktop cairo pango cogl clutter zenity libstartup_notification - geocode-glib libinput libgudev libwacom - libcanberra-gtk3 zenity xkeyboard_config libxkbfile - libxkbcommon pipewire xwayland - gnome-settings-daemon sysprof + cairo + cogl + egl-wayland + geocode-glib + glib + gnome-desktop + gnome-settings-daemon + gobject-introspection + gsettings-desktop-schemas + gtk3 + libcanberra-gtk3 + libgudev + libinput + libstartup_notification + libwacom + libxkbcommon + libxkbfile + pango + pipewire + sysprof + upower + xkeyboard_config + xwayland + zenity + zenity ]; patches = [ - # TODO: submit upstream - ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch + # Fix build with libglvnd provided headers + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch"; + sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd"; + }) + + # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking + # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381 + ./drop-inheritable.patch + + # TODO: submit upstream + ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch + (substituteAll { src = ./fix-paths.patch; inherit zenity; @@ -70,18 +132,18 @@ stdenv.mkDerivation rec { ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" ''; - enableParallelBuilding = true; - passthru = { updateScript = gnome3.updateScript { - packageName = "mutter"; - attrPath = "gnome3.mutter"; + packageName = pname; + attrPath = "gnome3.${pname}"; }; }; meta = with stdenv.lib; { - platforms = platforms.linux; - maintainers = gnome3.maintainers; + description = "A window manager for GNOME"; + homepage = "https://gitlab.gnome.org/GNOME/mutter"; license = licenses.gpl2; + maintainers = gnome3.maintainers; + platforms = platforms.linux; }; } |