diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix index 26e96b5a3385..37a7d2578472 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -1,8 +1,8 @@ -{ fetchurl, fetchpatch, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, libcroco, gettext, libsecret +{ fetchurl, fetchpatch, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, gettext, libsecret , python3, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils -, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr +, libpulseaudio, libical, gobject-introspection, wrapGAppsHook, libxslt, gcr , accountsservice, gdk-pixbuf, gdm, upower, ibus, libnma, libgnomekbd, gnome-desktop , gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3 , sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon @@ -15,11 +15,11 @@ let in stdenv.mkDerivation rec { pname = "gnome-shell"; - version = "3.34.4"; + version = "3.36.0"; src = fetchurl { url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0rm32h7lv4vyadi9x32sb6fwxslarwk70yzmvzjxbq872cazp779"; + sha256 = "1phkkkwrrigchz58xs324vf6snd1fm7mxa2iaqwwj526vh5c1s2q"; }; LANG = "en_US.UTF-8"; @@ -31,45 +31,71 @@ in stdenv.mkDerivation rec { buildInputs = [ systemd gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice - libcroco libsecret libsoup polkit gdk-pixbuf librsvg - clutter networkmanager libstartup_notification telepathy-glib + libsecret libsoup polkit gdk-pixbuf librsvg + networkmanager libstartup_notification telepathy-glib libXtst gjs mutter libpulseaudio evolution-data-server - libical gtk3 gstreamer gdm libcanberra-gtk3 geoclue2 + libical gtk3 gdm libcanberra-gtk3 geoclue2 adwaita-icon-theme gnome-bluetooth gnome-clocks # schemas needed at-spi2-core upower ibus gnome-desktop telepathy-logger gnome-settings-daemon - gst_all_1.gst-plugins-good # recording gobject-introspection gnome-autoar + # recording + gst_all_1.gstreamer + gst_all_1.gst-plugins-good + # not declared at build time, but typelib is needed at runtime libgweather libnma ]; patches = [ + # Fix dependencies. + # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1114 (fetchpatch { name = "0001-build-Add-missing-dependency-to-run-js-test.patch"; url = https://bug787864.bugzilla-attachments.gnome.org/attachment.cgi?id=360016; sha256 = "1dmahd8ysbzh33rxglba0fbq127aw9h14cl2a2bw9913vjxhxijm"; }) + + # Hardcode paths to various dependencies so that they can be found at runtime. (substituteAll { src = ./fix-paths.patch; inherit libgnomekbd unzip; gsettings = "${glib.bin}/bin/gsettings"; }) + + # Fix ibus launching regression. + # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1080 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/94f6976ddd6337593203fdcdd2e3644774408dfa.patch"; + sha256 = "PGmFQhqqd3gK+3kp0dlmlYd2G5ZTIQpfE++Q03Ghkx0="; + }) + + # Fix typing regression with ibus. + # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1084 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/b18469427e5c19402111de5fe9888bceec0eaacd.patch"; + sha256 = "1M+3kjt7K61BFgk1Zf9XfK1ziilQGa60PD8xtVjnQec="; + }) + + # Fix theming breakage after Shell restart on X11. + # https://gitlab.gnome.org/GNOME/gnome-shell/issues/2329 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/72c4f148ef88b4bffb2106b99434da5c05c0bb64.patch"; + sha256 = "RBA+JHz4ZvmbJZMnGNieD6D5LONRgFU4iOFIMQQ2kHQ="; + }) ]; postPatch = '' patchShebangs src/data-to-c.pl + chmod +x meson/postinstall.py + patchShebangs meson/postinstall.py substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python" substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python" ''; - postInstall = '' - glib-compile-schemas $out/share/glib-2.0/schemas - ''; - preFixup = '' gappsWrapperArgs+=( # Until glib’s xdgmime is patched