* gnu/packages/gnome.scm (gnome-control-center): Update to 44.3.
[#:phases]<patch-paths>: Upstream already uses
/run/setuid-programs/passwd. Querying the GNOME version is done through dbus
now. Set up the test environment as gnome-shell, and run tests under
dbus-run-session.
[#:phases] <skip-gtk-update-icon-cache>: The icon cache update should be disabled
differently.
[#:phases] <check>: Override the check phase to run under dbus.
[native-inputs]: Add setxkbmap.
* gnu/packages/patches/gnome-control-center-firmware-security.patch: Disable
the firmware security panel.
* gnu/packages/gnome.scm (gnome-control-center): Apply the patch to disable
the firmware security panel.
* gnu/local.mk (dist_patch_DATA): Distribute the patch to disable
the firmware security panel.
---
gnu/local.mk | 1 +
gnu/packages/gnome.scm | 43 +++++++++++++------
...ome-control-center-firmware-security.patch | 33 ++++++++++++++
3 files changed, 64 insertions(+), 13 deletions(-)
create mode 100644 gnu/packages/patches/gnome-control-center-firmware-security.patch
Toggle diff (131 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index db21feb507..96560d72e7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1309,6 +1309,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-2048-fix-positional-argument.patch \
+ %D%/packages/patches/gnome-control-center-firmware-security.patch \
%D%/packages/patches/gnome-control-center-libexecdir.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2077478ff2..ff36967194 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9016,7 +9016,7 @@ (define-public gnome-bluetooth
(define-public gnome-control-center
(package
(name "gnome-control-center")
- (version "42.4")
+ (version "44.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -9024,7 +9024,10 @@ (define-public gnome-control-center
name "-" version ".tar.xz"))
(sha256
(base32
- "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs"))))
+ "0yhcm0c0ghkfqswqlkwcln3jpaz6jzvqaph2c3lgmv635w2nash6"))
+ (patches
+ (search-patches
+ "gnome-control-center-firmware-security.patch"))))
(build-system meson-build-system)
(arguments
(list
@@ -9048,19 +9051,32 @@ (define-public gnome-control-center
"panels/network/connection-editor/net-connection-editor.c")
(("\"nm-connection-editor")
(string-append "\"" (search-input-file
- inputs "bin/nm-connection-editor"))))
- (substitute* "panels/user-accounts/run-passwd.c"
- (("/usr/bin/passwd")
- "/run/setuid-programs/passwd"))
- (substitute* "panels/info-overview/cc-info-overview-panel.c"
- (("DATADIR \"/gnome/gnome-version.xml\"")
- (format #f "~s" (search-input-file
- inputs "share/gnome/gnome-version.xml"))))))
+ inputs "bin/nm-connection-editor"))))))
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
+ (substitute* "meson.build"
+ (("gtk_update_icon_cache: true")
+ "gtk_update_icon_cache: false"))))
+ (replace 'check
+ (lambda* (#:key parallel-tests? tests? #:allow-other-keys)
+ (when tests?
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /var/lib/dbus/machine-id
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (setenv "NO_AT_BRIDGE" "1")
+ (setenv "HOME" "/tmp")
+ (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir"))
+ (mkdir (getenv "XDG_RUNTIME_DIR"))
+ (chmod (getenv "XDG_RUNTIME_DIR") #o700)
+ (setenv "MESON_TESTTHREADS"
+ (if parallel-tests?
+ (number->string (parallel-job-count))
+ "1"))
+ (invoke "dbus-run-session" "--"
+ "meson" "test" "-t" "0")))))))
(native-inputs
(list docbook-xsl
gettext-minimal
@@ -9069,7 +9085,8 @@ (define-public gnome-control-center
pkg-config
python
python-dbusmock
- xorg-server-for-tests))
+ xorg-server-for-tests
+ setxkbmap))
(inputs
(list accountsservice
colord-gtk
diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch
new file mode 100644
index 0000000000..fd9d7b8ff4
--- /dev/null
+++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch
@@ -0,0 +1,33 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Mon, 22 Aug 2022 08:31:15 -0400
+Subject: firmware-security: Disable
+
+Not yet useful enough to justify its inclusion by default here
+
+You can get the same info by running
+fwupdmgr security
+
+If you drop this patch, add a Depends: fwupd [linux-any]
+
+https://launchpad.net/bugs/1987162
+
+https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938
+
+[Stolen from the debian package]
+---
+ shell/cc-panel-loader.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
+index 17f9601..1b819a5 100644
+--- a/shell/cc-panel-loader.c
++++ b/shell/cc-panel-loader.c
+@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] =
+ PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
+ PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL),
+ PANEL_TYPE("location", cc_location_panel_get_type, NULL),
+- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
+ PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL),
+ PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL),
+ PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL),
--
2.41.0