summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-18 12:33:22 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-18 12:33:22 -0500
commit6edcf688c011acdb85cade2ecdf8a906884b0787 (patch)
treed9052e0641eeb9415a2447d603809408f7638ae7
parent2784ba2fe86197a16d06b74e0109842ce8f6b128 (diff)
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.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnome.scm104
-rw-r--r--gnu/packages/patches/gnome-control-center-libexecdir.patch58
3 files changed, 115 insertions, 48 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index eac8652056..f4efe8e8f4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1185,6 +1185,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-boxes-add-guix-logo.patch \
+ %D%/packages/patches/gnome-control-center-libexecdir.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
%D%/packages/patches/gnome-screenshot-meson-0.60.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
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 <goodoldpaul@autistici.org>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
-;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@@ -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(