diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix index 95c79cf96108..64d4ff983e98 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome.nix @@ -408,10 +408,6 @@ in services.avahi.enable = mkDefault true; - xdg.portal.extraPortals = [ - pkgs.gnome.gnome-shell - ]; - services.geoclue2.enable = mkDefault true; services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix index 3a7da1173977..7b2ca73c43da 100644 --- a/pkgs/desktops/gnome/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix @@ -12,8 +12,7 @@ , python3 , polkit , networkmanager -, gtk-doc -, docbook-xsl-nons +, gi-docgen , at-spi2-core , libstartup_notification , unzip @@ -24,7 +23,6 @@ , webp-pixbuf-loader , geoclue2 , perl -, docbook_xml_dtd_45 , desktop-file-utils , libpulseaudio , libical @@ -68,13 +66,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "gnome-shell"; - version = "45.5"; + version = "46.0"; outputs = [ "out" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz"; - sha256 = "sha256-vVw9PQKNRyM+QgUiPwrAKsmpc7aZvCd0OQlNQaeNarA="; + hash = "sha256-a8QTQLbeBXdOl8/iD+uobis8ycgTkRjyS9hKxj6CtT4="; }; patches = [ @@ -101,8 +99,8 @@ stdenv.mkDerivation (finalAttrs: { # Work around failing fingerprint auth (fetchpatch { - url = "https://src.fedoraproject.org/rpms/gnome-shell/raw/9a647c460b651aaec0b8a21f046cc289c1999416/f/0001-gdm-Work-around-failing-fingerprint-auth.patch"; - sha256 = "pFvZli3TilUt6YwdZztpB8Xq7O60XfuWUuPMMVSpqLw="; + url = "https://src.fedoraproject.org/rpms/gnome-shell/raw/dcd112d9708954187e7490564c2229d82ba5326f/f/0001-gdm-Work-around-failing-fingerprint-auth.patch"; + hash = "sha256-mgXty5HhiwUO1UV3/eDgWtauQKM0cRFQ0U7uocST25s="; }) ]; @@ -111,9 +109,7 @@ stdenv.mkDerivation (finalAttrs: { ninja pkg-config gettext - docbook-xsl-nons - docbook_xml_dtd_45 - gtk-doc + gi-docgen perl wrapGAppsHook4 sassc @@ -213,6 +209,9 @@ stdenv.mkDerivation (finalAttrs: { for svc in org.gnome.ScreenSaver org.gnome.Shell.Extensions org.gnome.Shell.Notifications org.gnome.Shell.Screencast; do wrapGApp $out/share/gnome-shell/$svc done + + # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. + moveToOutput "share/doc" "$devdoc" ''; separateDebugInfo = true; diff --git a/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch index e27847378bb2..a87f5129152f 100644 --- a/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch +++ b/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch @@ -56,16 +56,3 @@ index 11fb4b6b7..e00e4807b 100644 NULL); if (!g_subprocess_wait_check (proc, NULL, &error)) -diff --git a/subprojects/extensions-tool/src/command-pack.c b/subprojects/extensions-tool/src/command-pack.c -index f2cfcd51a..2a9a7efdf 100644 ---- a/subprojects/extensions-tool/src/command-pack.c -+++ b/subprojects/extensions-tool/src/command-pack.c -@@ -168,7 +168,7 @@ extension_pack_add_schemas (ExtensionPack *pack, - #else - dstpath = g_file_get_path (dstdir); - proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDERR_SILENCE, error, -- "glib-compile-schemas", "--strict", dstpath, NULL); -+ "@glib_compile_schemas@", "--strict", dstpath, NULL); - - if (!g_subprocess_wait_check (proc, NULL, error)) - return FALSE; diff --git a/pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch b/pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch index e58610ddc2b2..93965a475216 100644 --- a/pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch +++ b/pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch @@ -1,16 +1,16 @@ diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js -index a3e4372b4..36f6c1f47 100644 +index 28db1a9de..805b686bf 100644 --- a/js/gdm/loginDialog.js +++ b/js/gdm/loginDialog.js -@@ -43,6 +43,7 @@ import * as UserWidget from '../ui/userWidget.js'; - const _FADE_ANIMATION_TIME = 250; +@@ -46,6 +46,7 @@ const _FADE_ANIMATION_TIME = 250; const _SCROLL_ANIMATION_TIME = 500; const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0; + const _CONFLICTING_SESSION_DIALOG_TIMEOUT = 60; +const _LOGO_ICON_HEIGHT = 48; export const UserListItem = GObject.registerClass({ Signals: {'activate': {}}, -@@ -839,7 +840,7 @@ export const LoginDialog = GObject.registerClass({ +@@ -908,7 +909,7 @@ export const LoginDialog = GObject.registerClass({ const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; const texture = this._textureCache.load_file_async( this._logoFile,