diff --git a/pkgs/desktops/gnome/core/mutter/42/fix-paths.patch b/pkgs/desktops/gnome/core/mutter/42/fix-paths.patch deleted file mode 100644 index 6ac0a431f61f..000000000000 --- a/pkgs/desktops/gnome/core/mutter/42/fix-paths.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/core/util.c b/src/core/util.c -index 57b73747d..f424cc81c 100644 ---- a/src/core/util.c -+++ b/src/core/util.c -@@ -636,7 +636,7 @@ meta_show_dialog (const char *type, - - args = g_ptr_array_new (); - -- append_argument (args, "zenity"); -+ append_argument (args, "@zenity@/bin/zenity"); - append_argument (args, type); - - if (display) diff --git a/pkgs/desktops/gnome/core/mutter/42/default.nix b/pkgs/desktops/gnome/core/mutter/43/default.nix similarity index 78% rename from pkgs/desktops/gnome/core/mutter/42/default.nix rename to pkgs/desktops/gnome/core/mutter/43/default.nix index 3ee9f155df4f..f3d18b67c459 100644 --- a/pkgs/desktops/gnome/core/mutter/42/default.nix +++ b/pkgs/desktops/gnome/core/mutter/43/default.nix @@ -1,18 +1,18 @@ { fetchurl -, fetchpatch -, substituteAll , runCommand , lib +, fetchpatch , stdenv , pkg-config , gnome , gettext , gobject-introspection , cairo +, colord +, lcms2 , pango , json-glib , libstartup_notification -, zenity , libcanberra , ninja , xvfb-run @@ -38,6 +38,7 @@ , xorgserver , python3 , wrapGAppsHook +, gi-docgen , sysprof , libsysprof-capture , desktop-file-utils @@ -47,15 +48,15 @@ , wayland-protocols }: -let self = stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "mutter"; - version = "42.7"; + version = "43.4"; - outputs = [ "out" "dev" "man" ]; + outputs = [ "out" "dev" "man" "devdoc" ]; src = fetchurl { - url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "OwmmsHDRMHwD2EMorIS0+m1jmfk4MEo4wpTxso3yipM="; + url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz"; + sha256 = "FiU2cxEaLsyW/I0tFfrdobVU0B3CioMEE11J1rqHsUA="; }; patches = [ @@ -65,11 +66,6 @@ let self = stdenv.mkDerivation rec { url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/285a5a4d54ca83b136b787ce5ebf1d774f9499d5.patch"; sha256 = "/npUE3idMSTVlFptsDpZmGWjZ/d2gqruVlJKq4eF4xU="; }) - - (substituteAll { - src = ./fix-paths.patch; - inherit zenity; - }) ]; mesonFlags = [ @@ -81,6 +77,7 @@ let self = stdenv.mkDerivation rec { # This should be auto detected, but it looks like it manages a false # positive. "-Dxwayland_initfd=disabled" + "-Ddocs=true" ]; propagatedBuildInputs = [ @@ -102,6 +99,7 @@ let self = stdenv.mkDerivation rec { pkg-config python3 wrapGAppsHook + gi-docgen xorgserver ]; @@ -123,6 +121,8 @@ let self = stdenv.mkDerivation rec { libxkbcommon libxkbfile libXdamage + colord + lcms2 pango pipewire sysprof # for D-Bus interfaces @@ -140,16 +140,24 @@ let self = stdenv.mkDerivation rec { ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" ''; + postFixup = '' + # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. + # TODO: Move this into a directory devhelp can find. + moveToOutput "share/mutter-11/doc" "$devdoc" + ''; + # Install udev files into our own tree. PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; + separateDebugInfo = true; + passthru = { - libdir = "${self}/lib/mutter-10"; + libdir = "${finalAttrs.finalPackage}/lib/mutter-11"; tests = { libdirExists = runCommand "mutter-libdir-exists" {} '' - if [[ ! -d ${self.libdir} ]]; then - echo "passthru.libdir should contain a directory, “${self.libdir}” is not one." + if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then + echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one." exit 1 fi touch $out @@ -164,5 +172,4 @@ let self = stdenv.mkDerivation rec { maintainers = teams.pantheon.members; platforms = platforms.linux; }; -}; -in self +}) diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 155d8413ee2a..cfd47ddda45c 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -97,7 +97,7 @@ lib.makeScope pkgs.newScope (self: with self; { mutter = callPackage ./core/mutter { }; # Needed for elementary's gala, wingpanel and greeter until support for higher versions is provided - mutter42 = callPackage ./core/mutter/42 { }; + mutter43 = callPackage ./core/mutter/43 { }; nautilus = callPackage ./core/nautilus { }; @@ -272,5 +272,6 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-devel-docs = throw "The ‘gnome.gnome-devel-docs’ package was removed as it is outdated and no longer relevant."; # added 2022-10-26 mutter338 = throw "The ‘gnome.mutter338’ package was removed as it is no longer needed by Pantheon."; # added 2023-02-22 + mutter42 = throw "The ‘gnome.mutter42’ package was removed as it is no longer needed by Pantheon."; # added 2023-03-23 gnome-settings-daemon338 = throw "The ‘gnome.gnome-settings-daemon338’ package was removed as it is no longer needed by Pantheon."; # added 2023-02-22 } diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index a96cce755c97..b5ce60985bd7 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -40,7 +40,7 @@ lib.makeScope pkgs.newScope (self: with self; { maintainers = lib.teams.pantheon.members; - mutter = pkgs.gnome.mutter42; + mutter = pkgs.gnome.mutter43; # Using 42 to match Mutter used in Pantheon gnome-settings-daemon = pkgs.gnome.gnome-settings-daemon42;