From 6edcf688c011acdb85cade2ecdf8a906884b0787 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 18 Jan 2022 12:33:22 -0500 Subject: gnu: gnome-control-center: Update to 41.2. * gnu/packages/patches/gnome-control-center-libexecdir.patch: Add patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gnome.scm (gnome-control-center): Update to 41.2. [source]: Apply patch. [phases]{no-polkit-magic}: New phase. [native-inputs]: Use new style. Add python. [propagated-inputs]: Use new style. Replace gdk-pixbuf by librsvg. --- gnu/packages/gnome.scm | 104 +++++++++++---------- .../patches/gnome-control-center-libexecdir.patch | 58 ++++++++++++ 2 files changed, 114 insertions(+), 48 deletions(-) create mode 100644 gnu/packages/patches/gnome-control-center-libexecdir.patch (limited to 'gnu/packages') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index acad7abcea..a8677ef112 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -39,7 +39,7 @@ ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019 Jelle Licht ;;; Copyright © 2019 Jonathan Frederickson -;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer +;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2019, 2020 Martin Becze ;;; Copyright © 2019 David Wilson ;;; Copyright © 2019, 2020 Raghav Gururajan @@ -8528,7 +8528,7 @@ devices using the GNOME desktop.") (define-public gnome-control-center (package (name "gnome-control-center") - (version "40.1") + (version "41.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8536,7 +8536,9 @@ devices using the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0rr4d5m2a72vrb31jgyx49dp0s2pwgyxsrk4hyw5ym66wq63c3v1")))) + "0j72ixhli621psbrma86qxy0spv6gpjx6k9hg2jih97c6dmzqwc2")) + (patches (search-patches + "gnome-control-center-libexecdir.patch")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8581,53 +8583,59 @@ devices using the GNOME desktop.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "build-aux/meson/meson_post_install.py" - (("gtk-update-icon-cache") (which "true")))))))) + (("gtk-update-icon-cache") (which "true"))))) + (add-before 'install 'no-polkit-magic + ;; Meson ‘magically’ invokes pkexec, which fails (not setuid). + (lambda _ + (setenv "PKEXEC_UID" "something")))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. - ("intltool" ,intltool) - ("pkg-config" ,pkg-config) - ("xsltproc" ,libxslt) - ;; For tests - ("hicolor-icon-theme" ,hicolor-icon-theme) - ("python-dbusmock" ,python-dbusmock) - ("xorg-server" ,xorg-server-for-tests))) + (list `(,glib "bin") ;for glib-mkenums, etc. + intltool + pkg-config + python + libxslt + ;; For tests + hicolor-icon-theme + python-dbusmock + xorg-server-for-tests)) (inputs - `(("accountsservice" ,accountsservice) - ("clutter-gtk" ,clutter-gtk) - ("colord-gtk" ,colord-gtk) - ("cups" ,cups) - ("dconf" ,dconf) - ("docbook-xsl" ,docbook-xsl) - ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files - ("gnome-bluetooth" ,gnome-bluetooth) - ("gnome-desktop" ,gnome-desktop) - ("gnome-online-accounts" ,gnome-online-accounts) - ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") - ("gnome-session" ,gnome-session) - ("gnome-settings-daemon" ,gnome-settings-daemon) - ("grilo" ,grilo) - ("gsound" ,gsound) - ("ibus" ,ibus) - ("libcanberra" ,libcanberra) - ("libgnomekbd" ,libgnomekbd) - ("libgudev" ,libgudev) - ("libgtop" ,libgtop) - ("libnma" ,libnma) - ("libpwquality" ,libpwquality) - ("libsecret" ,libsecret) - ("libsoup" ,libsoup-minimal-2) - ("libxml2" ,libxml2) - ("libwacom" ,libwacom) - ("mesa" ,mesa) - ("mit-krb5" ,mit-krb5) - ("modem-manager" ,modem-manager) - ("network-manager-applet" ,network-manager-applet) - ("polkit" ,polkit) - ("pulseaudio" ,pulseaudio) - ("smbclient" ,samba) - ("tzdata" ,tzdata) - ("udisks" ,udisks) - ("upower" ,upower))) + (list accountsservice + clutter-gtk + colord-gtk + cups + dconf + docbook-xsl + gcr + gnome-bluetooth + gnome-desktop + gnome-online-accounts + `(,gnome-online-accounts "lib") + gnome-session + gnome-settings-daemon + grilo + gsound + ibus + libcanberra + libgnomekbd + libgudev + libgtop + libnma + libpwquality + librsvg ;for loading SVG files + libsecret + libsoup-minimal-2 + libxml2 + libwacom + mesa + mit-krb5 + modem-manager + network-manager-applet + polkit + pulseaudio + samba + tzdata + udisks + upower)) (synopsis "Utilities to configure the GNOME desktop") (home-page "https://www.gnome.org/") (description diff --git a/gnu/packages/patches/gnome-control-center-libexecdir.patch b/gnu/packages/patches/gnome-control-center-libexecdir.patch new file mode 100644 index 0000000000..a5f4988e34 --- /dev/null +++ b/gnu/packages/patches/gnome-control-center-libexecdir.patch @@ -0,0 +1,58 @@ +This reverts commit 2007a5b2, which broke installation of the package. +See: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1579. + +diff --git a/meson.build b/meson.build +index 734810d01..b4a45c60d 100644 +--- a/meson.build ++++ b/meson.build +@@ -259,6 +259,13 @@ config_h.set('HAVE_WACOM', host_is_linux_not_s390, + config_h.set('BUILD_THUNDERBOLT', host_is_linux_not_s390, + description: 'Define to 1 to build the Thunderbolt panel') + ++# Check for info panel ++gnome_session_libexecdir = get_option('gnome_session_libexecdir') ++if gnome_session_libexecdir == '' ++ gnome_session_libexecdir = control_center_libexecdir ++endif ++ ++ + gnome = import('gnome') + i18n = import('i18n') + pkg = import('pkgconfig') +diff --git a/meson_options.txt b/meson_options.txt +index 1b7b54810..910226c56 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,5 +1,6 @@ + option('cheese', type: 'boolean', value: true, description: 'build with cheese webcam support') + option('documentation', type: 'boolean', value: false, description: 'build documentation') ++option('gnome_session_libexecdir', type: 'string', value: '', description: 'Directory for gnome-session\'s libexecdir') + option('ibus', type: 'boolean', value: true, description: 'build with IBus support') + option('privileged_group', type: 'string', value: 'wheel', description: 'name of group that has elevated permissions') + option('snap', type: 'boolean', value: false, description: 'build with Snap support') +diff --git a/panels/info-overview/cc-info-overview-panel.c b/panels/info-overview/cc-info-overview-panel.c +index 6e832eb35..b34030c8c 100644 +--- a/panels/info-overview/cc-info-overview-panel.c ++++ b/panels/info-overview/cc-info-overview-panel.c +@@ -236,7 +236,7 @@ static char * + get_renderer_from_helper (const char **env) + { + int status; +- char *argv[] = { LIBEXECDIR "/gnome-control-center-print-renderer", NULL }; ++ char *argv[] = { GNOME_SESSION_DIR "/gnome-session-check-accelerated", NULL }; + g_auto(GStrv) envp = NULL; + g_autofree char *renderer = NULL; + g_autoptr(GError) error = NULL; +diff --git a/panels/info-overview/meson.build b/panels/info-overview/meson.build +index 2fe10b32c..506b7274e 100644 +--- a/panels/info-overview/meson.build ++++ b/panels/info-overview/meson.build +@@ -19,7 +19,7 @@ i18n.merge_file( + + cflags += [ + '-DDATADIR="@0@"'.format(control_center_datadir), +- '-DLIBEXECDIR="@0@"'.format(control_center_libexecdir), ++ '-DGNOME_SESSION_DIR="@0@"'.format(gnome_session_libexecdir) + ] + + sources = files( -- cgit v1.2.3