From 129875d648b2c263404e09b90911ca4f68eed554 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 26 Sep 2021 18:40:46 +0000 Subject: gnu: gnome-shell: Update to 40.5. Remove the theme patch that does not apply anymore because the CSS files have been revamped. * gnu/packages/patches/gnome-shell-CVE-2020-17489.patch: Remove it. * gnu/packages/patches/gnome-shell-theme: Remove it. * gnu/packages/patches/gnome-shell-disable-test.patch: Update it. * gnu/local.mk (DIST_PATCH_DATA): Update it. * gnu/packages/gnome.scm (gnome-shell): Update to 40.5. [source]: Fix the URI. Update the patches. Remote the snippet. [arguments]: Remove trailing #t. <#:phases>: Add a 'skip-gtk-update-icon-cache phase. Remove the 'convert-logo-to-png phase. Remove the inkscape disallowed reference. [native-inputs]: Remove inkscape. Add hicolor-icon-theme. [inputs]: Add gtk and graphene. [properties]: Remove it. --- gnu/local.mk | 2 - gnu/packages/gnome.scm | 56 ++++++++-------------- .../patches/gnome-shell-CVE-2020-17489.patch | 46 ------------------ .../patches/gnome-shell-disable-test.patch | 9 ++-- gnu/packages/patches/gnome-shell-theme.patch | 51 -------------------- 5 files changed, 23 insertions(+), 141 deletions(-) delete mode 100644 gnu/packages/patches/gnome-shell-CVE-2020-17489.patch delete mode 100644 gnu/packages/patches/gnome-shell-theme.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 620ac89548..160e651624 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1159,9 +1159,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnash-fix-giflib-version.patch \ %D%/packages/patches/gnome-online-miners-tracker-3.patch \ - %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-shell-disable-test.patch \ - %D%/packages/patches/gnome-shell-CVE-2020-17489.patch \ %D%/packages/patches/gnome-settings-daemon-gc.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \ 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: ("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 -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 . - -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 @@ - no-events.svg - no-notifications.svg - noise-texture.png -+ guix-background.png -+ guix-logo.png - pad-osd.css - pointer-double-click-symbolic.svg - pointer-drag-symbolic.svg -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 { -- cgit v1.2.3