diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix index 97a72e379a5..3a489aea223 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -22,8 +22,7 @@ , librsvg , geoclue2 , perl -, docbook_xml_dtd_42 -, docbook_xml_dtd_43 +, docbook_xml_dtd_45 , desktop-file-utils , libpulseaudio , libical @@ -46,6 +45,7 @@ , mutter , evolution-data-server , gtk3 +, gtk4 , sassc , systemd , pipewire @@ -66,13 +66,13 @@ let in stdenv.mkDerivation rec { pname = "gnome-shell"; - version = "3.38.3"; + version = "40.0"; outputs = [ "out" "devdoc" ]; src = fetchurl { - url = "mirror://gnome/sources/gnome-shell/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-U0W0GMsSqXKVXOXM6u1mYkgAJzNrXFHa6lcwV1tiHO0="; + url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-vOcfQC36qcXiab9lv0iiI0PYlubPmiw0ZpOS1/v2hHg="; }; patches = [ @@ -97,6 +97,18 @@ stdenv.mkDerivation rec { revert = true; sha256 = "14h7ahlxgly0n3sskzq9dhxzbyb04fn80pv74vz1526396676dzl"; }) + + # Fix copying technical details when extension crashes. + # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1795 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/1b5d71130e3a48d8f636542f979346add7829544.patch"; + sha256 = "WXRG/+u/N7KTTG1HutcMvw5HU2XWUmqFExmOXrOkeeA="; + }) + # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1796 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/53dd291aba24e9eab3994b0ffeadec05e0150470.patch"; + sha256 = "xD0iIjlUGDLM5tTNDNtx6ZgxL25EKYgaBEH4JOZh8AM="; + }) ]; nativeBuildInputs = [ @@ -105,9 +117,7 @@ stdenv.mkDerivation rec { pkg-config gettext docbook-xsl-nons - # Switch to 4.5 in the 40. - docbook_xml_dtd_42 - docbook_xml_dtd_43 + docbook_xml_dtd_45 gtk-doc perl wrapGAppsHook @@ -137,6 +147,7 @@ stdenv.mkDerivation rec { evolution-data-server libical gtk3 + gtk4 gdm geoclue2 adwaita-icon-theme @@ -189,7 +200,7 @@ stdenv.mkDerivation rec { postFixup = '' # The services need typelibs. - for svc in org.gnome.Shell.Extensions org.gnome.Shell.Notifications org.gnome.Shell.Screencast; do + 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 ''; diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch b/pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch index 2d7bdf30315..6d888725b5d 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch +++ b/pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch @@ -3,7 +3,7 @@ @@ -13,7 +13,7 @@ shew_sources = [ libshew = library(full_name, sources: shew_sources, - dependencies: [gtk_dep], + dependencies: [gtk_dep, x11_dep], - install_dir: pkglibdir, + install_dir: get_option('prefix') / pkglibdir, install: true,