summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-09-26 18:40:46 +0000
committerMathieu Othacehe <othacehe@gnu.org>2021-10-02 10:54:39 +0000
commit129875d648b2c263404e09b90911ca4f68eed554 (patch)
tree8285d3bc497591855bd64192db0836fe44fc8b8b
parentac1043abcf8c93307e526ead8733355e51c7620a (diff)
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.
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/gnome.scm56
-rw-r--r--gnu/packages/patches/gnome-shell-CVE-2020-17489.patch46
-rw-r--r--gnu/packages/patches/gnome-shell-disable-test.patch9
-rw-r--r--gnu/packages/patches/gnome-shell-theme.patch51
5 files changed, 23 insertions, 141 deletions
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: <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 {