diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2024-08-28 23:56:04 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2024-09-01 14:16:31 +0200 |
commit | 7f387d6bf915b8fd7d7131edd3e5107f4a98cc9d (patch) | |
tree | b6e2d1289d64e59793487d6a8276402eb9ce0662 /pkgs/desktops | |
parent | d2da9a19c4ebbd9995c5228f05b4cd7aa9fce82d (diff) |
mutter{,43}: Move from gnome scope to top-level
Diffstat (limited to 'pkgs/desktops')
-rw-r--r-- | pkgs/desktops/gnome/core/mutter/43/default.nix | 202 | ||||
-rw-r--r-- | pkgs/desktops/gnome/core/mutter/default.nix | 215 | ||||
-rw-r--r-- | pkgs/desktops/gnome/default.nix | 7 | ||||
-rw-r--r-- | pkgs/desktops/pantheon/default.nix | 2 |
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; |