about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/gnome/core/mutter/43/default.nix202
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix215
-rw-r--r--pkgs/desktops/gnome/default.nix7
-rw-r--r--pkgs/desktops/pantheon/default.nix2
4 files changed, 3 insertions, 423 deletions
diff --git a/pkgs/desktops/gnome/core/mutter/43/default.nix b/pkgs/desktops/gnome/core/mutter/43/default.nix
deleted file mode 100644
index 9ea4503952637..0000000000000
--- a/pkgs/desktops/gnome/core/mutter/43/default.nix
+++ /dev/null
@@ -1,202 +0,0 @@
-{
-  fetchurl,
-  runCommand,
-  lib,
-  fetchpatch,
-  stdenv,
-  pkg-config,
-  gnome,
-  gettext,
-  gobject-introspection,
-  cairo,
-  colord,
-  lcms2,
-  pango,
-  json-glib,
-  libstartup_notification,
-  libcanberra,
-  ninja,
-  xvfb-run,
-  xkeyboard_config,
-  libxcvt,
-  libxkbfile,
-  libXdamage,
-  libxkbcommon,
-  libXtst,
-  libinput,
-  libdrm,
-  gsettings-desktop-schemas,
-  glib,
-  gtk3,
-  gnome-desktop,
-  pipewire,
-  libgudev,
-  libwacom,
-  xwayland,
-  mesa,
-  meson,
-  gnome-settings-daemon,
-  xorgserver,
-  python3,
-  wayland-scanner,
-  wrapGAppsHook3,
-  gi-docgen,
-  sysprof,
-  libsysprof-capture,
-  desktop-file-utils,
-  libcap_ng,
-  egl-wayland,
-  graphene,
-  wayland,
-  wayland-protocols,
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "mutter";
-  version = "43.8";
-
-  outputs = [
-    "out"
-    "dev"
-    "man"
-    "devdoc"
-  ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
-    sha256 = "TjTh8XWTS9hJqEvZX6Nb8G6EEuAt8loDbC8RNdUz8oE=";
-  };
-
-  patches = [
-    # Fix build with separate sysprof.
-    # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2572
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/285a5a4d54ca83b136b787ce5ebf1d774f9499d5.patch";
-      sha256 = "/npUE3idMSTVlFptsDpZmGWjZ/d2gqruVlJKq4eF4xU=";
-    })
-
-    # Remove support for window shading.
-    # The corresponding key was removed in gsettings-desktop-schemas 45.alpha.
-    # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2884
-    #
-    # Fetch the patch from magpie as they share same code base and this feature
-    # is never supported on wayland (note that magpie 0.9.x won't support wayland).
-    # https://github.com/BuddiesOfBudgie/magpie/issues/9
-    (fetchpatch {
-      url = "https://github.com/BuddiesOfBudgie/magpie/commit/4177c466375462ca8ed8fdb60913df4422f19144.patch";
-      sha256 = "NVx40WDnlUL050D529KVohvNBdVrheXxmJ73U3+KSeQ=";
-    })
-  ];
-
-  mesonFlags = [
-    "-Degl_device=true"
-    "-Dinstalled_tests=false" # TODO: enable these
-    "-Dwayland_eglstream=true"
-    "-Dprofiler=true"
-    "-Dxwayland_path=${lib.getExe xwayland}"
-    # This should be auto detected, but it looks like it manages a false
-    # positive.
-    "-Dxwayland_initfd=disabled"
-    "-Ddocs=true"
-  ];
-
-  propagatedBuildInputs = [
-    # required for pkg-config to detect mutter-clutter
-    json-glib
-    libXtst
-    libcap_ng
-    graphene
-  ];
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    libxcvt
-    mesa # needed for gbm
-    meson
-    ninja
-    xvfb-run
-    pkg-config
-    python3
-    wayland-scanner
-    wrapGAppsHook3
-    gi-docgen
-    xorgserver
-    gobject-introspection
-  ];
-
-  buildInputs = [
-    cairo
-    egl-wayland
-    glib
-    gnome-desktop
-    gnome-settings-daemon
-    gsettings-desktop-schemas
-    gtk3
-    libcanberra
-    libdrm
-    libgudev
-    libinput
-    libstartup_notification
-    libwacom
-    libxkbcommon
-    libxkbfile
-    libXdamage
-    colord
-    lcms2
-    pango
-    pipewire
-    sysprof # for D-Bus interfaces
-    libsysprof-capture
-    xkeyboard_config
-    xwayland
-    wayland
-    wayland-protocols
-  ];
-
-  postPatch = ''
-    patchShebangs src/backends/native/gen-default-modes.py
-
-    # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3187
-    substituteInPlace meson.build \
-      --replace "dependency('sysprof-4')" "dependency('sysprof-6')"
-  '';
-
-  postInstall = ''
-    ${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 = "${finalAttrs.finalPackage}/lib/mutter-11";
-
-    tests = {
-      libdirExists = runCommand "mutter-libdir-exists" { } ''
-        if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then
-          echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one."
-          exit 1
-        fi
-        touch $out
-      '';
-    };
-  };
-
-  meta = with lib; {
-    description = "Window manager for GNOME";
-    mainProgram = "mutter";
-    homepage = "https://gitlab.gnome.org/GNOME/mutter";
-    license = licenses.gpl2Plus;
-    maintainers = teams.pantheon.members;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
deleted file mode 100644
index 54687cbb0f946..0000000000000
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ /dev/null
@@ -1,215 +0,0 @@
-{
-  fetchurl,
-  runCommand,
-  lib,
-  stdenv,
-  pkg-config,
-  gnome,
-  gettext,
-  gobject-introspection,
-  cairo,
-  colord,
-  lcms2,
-  pango,
-  libstartup_notification,
-  libcanberra,
-  ninja,
-  xvfb-run,
-  libxcvt,
-  libICE,
-  libX11,
-  libXcomposite,
-  libXcursor,
-  libXdamage,
-  libXext,
-  libXfixes,
-  libXi,
-  libXtst,
-  libxkbfile,
-  xkeyboard_config,
-  libxkbcommon,
-  libXrender,
-  libxcb,
-  libXrandr,
-  libXinerama,
-  libXau,
-  libinput,
-  libdrm,
-  libei,
-  libdisplay-info,
-  gsettings-desktop-schemas,
-  glib,
-  atk,
-  gtk4,
-  fribidi,
-  harfbuzz,
-  gnome-desktop,
-  pipewire,
-  libgudev,
-  libwacom,
-  libSM,
-  xwayland,
-  mesa,
-  meson,
-  gnome-settings-daemon,
-  xorgserver,
-  python3,
-  wayland-scanner,
-  wrapGAppsHook4,
-  gi-docgen,
-  sysprof,
-  libsysprof-capture,
-  desktop-file-utils,
-  egl-wayland,
-  graphene,
-  wayland,
-  wayland-protocols,
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "mutter";
-  version = "46.4";
-
-  outputs = [
-    "out"
-    "dev"
-    "man"
-    "devdoc"
-  ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
-    hash = "sha256-YRvZz5gq21ZZfOKzQiQnL9phm7O7kSpoTXXG8sN1AuQ=";
-  };
-
-  mesonFlags = [
-    "-Degl_device=true"
-    "-Dinstalled_tests=false" # TODO: enable these
-    "-Dtests=false"
-    "-Dwayland_eglstream=true"
-    "-Dprofiler=true"
-    "-Dxwayland_path=${lib.getExe xwayland}"
-    # This should be auto detected, but it looks like it manages a false
-    # positive.
-    "-Dxwayland_initfd=disabled"
-    "-Ddocs=true"
-  ];
-
-  propagatedBuildInputs = [
-    # required for pkg-config to detect mutter-mtk
-    graphene
-  ];
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    libxcvt
-    mesa # needed for gbm
-    meson
-    ninja
-    xvfb-run
-    pkg-config
-    python3
-    wayland-scanner
-    wrapGAppsHook4
-    gi-docgen
-    xorgserver
-    gobject-introspection
-  ];
-
-  buildInputs = [
-    cairo
-    egl-wayland
-    glib
-    gnome-desktop
-    gnome-settings-daemon
-    gsettings-desktop-schemas
-    atk
-    fribidi
-    harfbuzz
-    libcanberra
-    libdrm
-    libei
-    libdisplay-info
-    libgudev
-    libinput
-    libstartup_notification
-    libwacom
-    libSM
-    colord
-    lcms2
-    pango
-    pipewire
-    sysprof # for D-Bus interfaces
-    libsysprof-capture
-    xwayland
-    wayland
-    wayland-protocols
-    # X11 client
-    gtk4
-    libICE
-    libX11
-    libXcomposite
-    libXcursor
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXtst
-    libxkbfile
-    xkeyboard_config
-    libxkbcommon
-    libXrender
-    libxcb
-    libXrandr
-    libXinerama
-    libXau
-  ];
-
-  postPatch = ''
-    patchShebangs src/backends/native/gen-default-modes.py
-  '';
-
-  postInstall = ''
-    ${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-14/doc" "$devdoc"
-  '';
-
-  # Install udev files into our own tree.
-  PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
-
-  separateDebugInfo = true;
-
-  passthru = {
-    libdir = "${finalAttrs.finalPackage}/lib/mutter-14";
-
-    tests = {
-      libdirExists = runCommand "mutter-libdir-exists" { } ''
-        if [[ ! -d ${finalAttrs.finalPackage.libdir} ]]; then
-          echo "passthru.libdir should contain a directory, “${finalAttrs.finalPackage.libdir}” is not one."
-          exit 1
-        fi
-        touch $out
-      '';
-    };
-
-    updateScript = gnome.updateScript {
-      packageName = "mutter";
-      attrPath = "gnome.mutter";
-    };
-  };
-
-  meta = with lib; {
-    description = "Window manager for GNOME";
-    mainProgram = "mutter";
-    homepage = "https://gitlab.gnome.org/GNOME/mutter";
-    license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 401d6bbdd73c9..769585c7fcad4 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -25,11 +25,6 @@ in
 
   gvfs = pkgs.gvfs.override { gnomeSupport = true; };
 
-  mutter = callPackage ./core/mutter { };
-
-  # Needed for elementary's gala, wingpanel and greeter until support for higher versions is provided
-  mutter43 = callPackage ./core/mutter/43 { };
-
   networkmanager-openvpn = pkgs.networkmanager-openvpn.override {
     withGnome = true;
   };
@@ -150,6 +145,8 @@ in
   iagno = lib.warn "The ‘gnome.iagno’ was moved to top-level. Please use ‘pkgs.iagno’ directly." pkgs.iagno; # Added on 2024-08-11.
   lightsoff = lib.warn "The ‘gnome.lightsoff’ was moved to top-level. Please use ‘pkgs.lightsoff’ directly." pkgs.lightsoff; # Added on 2024-08-11.
   metacity = lib.warn "The ‘gnome.metacity’ was moved to top-level. Please use ‘pkgs.metacity’ directly." pkgs.metacity; # Added on 2024-08-11.
+  mutter = lib.warn "The ‘gnome.mutter’ was moved to top-level. Please use ‘pkgs.mutter’ directly." pkgs.mutter; # Added on 2024-08-28.
+  mutter43 = lib.warn "The ‘gnome.mutter43’ was moved to top-level. Please use ‘pkgs.mutter43’ directly." pkgs.mutter43; # Added on 2024-08-28.
   nautilus = lib.warn "The ‘gnome.nautilus’ was moved to top-level. Please use ‘pkgs.nautilus’ directly." pkgs.nautilus; # Added on 2024-06-13.
   nautilus-python = lib.warn "The ‘gnome.nautilus-python’ was moved to top-level. Please use ‘pkgs.nautilus-python’ directly." pkgs.nautilus-python; # Added on 2024-06-13.
   polari = lib.warn "The ‘gnome.polari’ was moved to top-level. Please use ‘pkgs.polari’ directly." pkgs.polari; # Added on 2024-08-11.
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index d0febb9513e93..ae524b4b48889 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -38,7 +38,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   maintainers = lib.teams.pantheon.members;
 
-  mutter = pkgs.gnome.mutter43;
+  mutter = pkgs.mutter43;
 
   # Using 43 to match Mutter used in Pantheon
   gnome-settings-daemon = pkgs.gnome-settings-daemon43;