diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/gnome.scm | 56 | ||||
-rw-r--r-- | gnu/packages/patches/gnome-shell-CVE-2020-17489.patch | 46 | ||||
-rw-r--r-- | gnu/packages/patches/gnome-shell-disable-test.patch | 9 | ||||
-rw-r--r-- | gnu/packages/patches/gnome-shell-theme.patch | 51 |
4 files changed, 23 insertions, 139 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4dfdd5a506..af4181b7b6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8508,34 +8508,21 @@ properties, screen resolution, and other GNOME parameters.") (define-public gnome-shell (package (name "gnome-shell") - (version "3.34.5") + (version "40.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0l3mdn7g2c22mdhrqkxvvc1pk2w0v32f2v4a6n1phvaalwcg75nj")) - (patches (search-patches "gnome-shell-CVE-2020-17489.patch" - "gnome-shell-theme.patch" - "gnome-shell-disable-test.patch")) - (modules '((guix build utils))) - (snippet - #~(begin - ;; Copy images for use on the GDM log-in screen. - (copy-file #$(file-append %artwork-repository - "/slim/0.x/background.png") - "data/theme/guix-background.png") - (copy-file #$(file-append %artwork-repository - "/logo/Guix-horizontal-white.svg") - "data/theme/guix-logo.svg") - #t)))) + "0kph3g4ix23sm3ip2b13rs7hx8sa7fvlvcyy4zdk2iaj56rmadvd")) + (patches (search-patches "gnome-shell-disable-test.patch")) + (modules '((guix build utils))))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t #:disallowed-references ,(list (gexp-input glib "bin") - (gexp-input inkscape) (gexp-input libxslt) (gexp-input ruby-sass)) #:configure-flags @@ -8558,13 +8545,12 @@ properties, screen resolution, and other GNOME parameters.") out "/share/gnome-control-center/keybindings"))) (substitute* "meson.build" (("keysdir =.*") - (string-append "keysdir = '" keysdir "'\n"))) - #t))) - (add-before 'configure 'convert-logo-to-png - (lambda* (#:key inputs #:allow-other-keys) - ;; Convert the logo from SVG to PNG. - (invoke "inkscape" "--export-png=data/theme/guix-logo.png" - "data/theme/guix-logo.svg"))) + (string-append "keysdir = '" keysdir "'\n")))))) + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson/postinstall.py" + (("gtk-update-icon-cache") "true")))) (add-before 'configure 'record-absolute-file-names (lambda* (#:key inputs #:allow-other-keys) (substitute* "js/misc/ibusManager.js" @@ -8574,14 +8560,12 @@ properties, screen resolution, and other GNOME parameters.") (substitute* "js/ui/status/keyboard.js" (("'gkbd-keyboard-display'") (string-append "'" (assoc-ref inputs "libgnomekbd") - "/bin/gkbd-keyboard-display'"))) - #t)) + "/bin/gkbd-keyboard-display'"))))) (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) ;; Tests require a running X server. (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - #t)) + (setenv "DISPLAY" ":1"))) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -8602,23 +8586,22 @@ properties, screen resolution, and other GNOME parameters.") (wrap-program (string-append out "/bin/" prog) `("GUIX_PYTHONPATH" ":" prefix (,python-path)) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) - '("gnome-shell-extension-tool" "gnome-shell-perf-tool")) - #t))) + '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))))) (replace 'glib-or-gtk-wrap (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap))) (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest) - ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS + ;; By default intltool et al. would end up in the XDG_DATA_DIRS ;; settings of the wrappers created by the 'glib-or-gtk-wrap' ;; phase. Fix that since we don't need these. (wrap #:inputs (fold alist-delete inputs - '("inkscape" "intltool" "glib:bin")) + '("intltool" "glib:bin")) #:outputs outputs))))))) (native-inputs `(("asciidoc" ,asciidoc) ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("gobject-introspection" ,gobject-introspection) - ("inkscape" ,inkscape) + ("hicolor-icon-theme" ,hicolor-icon-theme) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("python" ,python) @@ -8636,10 +8619,12 @@ properties, screen resolution, and other GNOME parameters.") ("gdm" ,gdm) ("gdk-pixbuf" ,gdk-pixbuf+svg) ("gjs" ,gjs) + ("gtk" ,gtk) ("gnome-autoar" ,gnome-autoar) ("gnome-bluetooth" ,gnome-bluetooth) ("gnome-desktop" ,gnome-desktop) ("gnome-settings-daemon" ,gnome-settings-daemon) + ("graphene" ,graphene) ("gst-plugins-base" ,gst-plugins-base) ("ibus" ,ibus) ("libcanberra" ,libcanberra) @@ -8661,9 +8646,6 @@ properties, screen resolution, and other GNOME parameters.") ;; Missing propagation? See also: <https://bugs.gnu.org/27264> ("librsvg" ,librsvg) ("geoclue" ,geoclue))) - ;; CVE-2019-3820 was fixed before GNOME 3.34 was released, in upstream - ;; commit f0a7395b3006360905ccdc642982f9fc67378927. - (properties '((lint-hidden-cve . ("CVE-2019-3820")))) (synopsis "Desktop shell for GNOME") (home-page "https://wiki.gnome.org/Projects/GnomeShell") (description diff --git a/gnu/packages/patches/gnome-shell-CVE-2020-17489.patch b/gnu/packages/patches/gnome-shell-CVE-2020-17489.patch deleted file mode 100644 index 4b7748950e..0000000000 --- a/gnu/packages/patches/gnome-shell-CVE-2020-17489.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 05b7aec747282f62212b605249d518280ff80059 Mon Sep 17 00:00:00 2001 -From: Ray Strode <rstrode@redhat.com> -Date: Mon, 27 Jul 2020 10:58:22 -0400 -Subject: [PATCH] loginDialog: Reset auth prompt on vt switch before fade in - -At the moment, if a user switches to the login screen vt, -the login screen fades in whatever was on screen prior, and -then does a reset. - -It makes more sense to reset first, so we fade in what the -user is going to interact with instead of what they interacted -with before. - -Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2997 ---- - js/gdm/loginDialog.js | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js -index c3f90dc58..6b35ebb16 100644 ---- a/js/gdm/loginDialog.js -+++ b/js/gdm/loginDialog.js -@@ -920,16 +920,15 @@ var LoginDialog = GObject.registerClass({ - if (this.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) - return; - -+ if (this._authPrompt.verificationStatus !== AuthPrompt.AuthPromptStatus.NOT_VERIFYING) -+ this._authPrompt.reset(); -+ - this._bindOpacity(); - this.ease({ - opacity: 255, - duration: _FADE_ANIMATION_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, -- onComplete: () => { -- if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING) -- this._authPrompt.reset(); -- this._unbindOpacity(); -- } -+ onComplete: () => this._unbindOpacity(), - }); - } - --- -2.30.1 - diff --git a/gnu/packages/patches/gnome-shell-disable-test.patch b/gnu/packages/patches/gnome-shell-disable-test.patch index b4c7e73cd7..c61ff4a942 100644 --- a/gnu/packages/patches/gnome-shell-disable-test.patch +++ b/gnu/packages/patches/gnome-shell-disable-test.patch @@ -1,17 +1,16 @@ This test seems to require a D-Bus connection not available in the build environment. -diff -ur /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src/st/meson.build b/src/st/meson.build ---- /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src/st/meson.build 1969-12-31 19:00:00.000000000 -0500 -+++ b/src/st/meson.build 2019-12-23 00:46:14.721198022 -0500 -@@ -132,18 +132,6 @@ +--- a/src/st/meson.build 2021-09-21 19:07:38.673049200 +0000 ++++ b/src/st/meson.build 2021-09-26 18:23:38.461569826 +0000 +@@ -191,18 +191,6 @@ sources: st_enums[1] ) -test_theme = executable('test-theme', - sources: 'test-theme.c', - c_args: st_cflags, -- dependencies: [mutter_dep, gtk_dep], +- dependencies: [mutter_dep, gtk_dep, libxml_dep], - build_rpath: mutter_typelibdir, - link_with: libst -) diff --git a/gnu/packages/patches/gnome-shell-theme.patch b/gnu/packages/patches/gnome-shell-theme.patch deleted file mode 100644 index 3fa0670c43..0000000000 --- a/gnu/packages/patches/gnome-shell-theme.patch +++ /dev/null @@ -1,51 +0,0 @@ -Adjust GNOME-Shell so that it uses a Guix theme by default. - -Patch by Ludovic Courtès <ludo@gnu.org>. - -diff -ur a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml ---- a/data/gnome-shell-theme.gresource.xml 2019-12-11 15:06:31.000000000 -0500 -+++ b/data/gnome-shell-theme.gresource.xml 2019-12-21 00:31:55.895866241 -0500 -@@ -19,6 +19,8 @@ - <file>no-events.svg</file> - <file>no-notifications.svg</file> - <file>noise-texture.png</file> -+ <file>guix-background.png</file> -+ <file>guix-logo.png</file> - <file>pad-osd.css</file> - <file alias="icons/pointer-double-click-symbolic.svg">pointer-double-click-symbolic.svg</file> - <file alias="icons/pointer-drag-symbolic.svg">pointer-drag-symbolic.svg</file> -diff -ur a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss ---- a/data/theme/gnome-shell-sass/_common.scss 2019-12-11 15:06:31.000000000 -0500 -+++ b/data/theme/gnome-shell-sass/_common.scss 2019-12-21 00:33:49.495832135 -0500 -@@ -1994,7 +1994,16 @@ - } - } - -- .login-dialog-logo-bin { padding: 24px 0px; } -+ .login-dialog-logo-bin { -+ /* Make it a bit narrower than .login-dialog-user-list. */ -+ width: 12em; -+ height: 8em; -+ background: url(resource:///org/gnome/shell/theme/guix-logo.png); -+ background-color: transparent; -+ background-repeat: no-repeat; -+ background-size: contain; -+ background-position: center; } -+ - .login-dialog-banner { color: darken($osd_fg_color,10%); } - .login-dialog-button-box { spacing: 5px; } - .login-dialog-message-warning { color: $warning_color; } -@@ -2143,9 +2152,10 @@ - } - - #lockDialogGroup { -- background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png); -- background-repeat: repeat; --} -+ background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/guix-background.png); -+ background-repeat: no-repeat; -+ background-size: cover; -+ background-position: center; } - - #screenShieldNotifications { - StButton#vhandle, StButton#hhandle { |