git: ec5d7c6ef6c0 - main - sysutils/gnome-control-center: Update to 41.4

From: Neel Chauhan <nc_at_FreeBSD.org>
Date: Wed, 23 Mar 2022 03:39:48 UTC
The branch main has been updated by nc:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ec5d7c6ef6c04782a449db83f0ea9284bc114bcf

commit ec5d7c6ef6c04782a449db83f0ea9284bc114bcf
Author:     Neel Chauhan <nc@FreeBSD.org>
AuthorDate: 2022-03-23 03:37:28 +0000
Commit:     Neel Chauhan <nc@FreeBSD.org>
CommitDate: 2022-03-23 03:37:28 +0000

    sysutils/gnome-control-center: Update to 41.4
---
 .../gnome-control-center/files/patch-meson.build   | 22 ++++++
 .../files/patch-panels_common_meson.build          | 25 +++++++
 .../files/patch-panels_display_meson.build         | 13 ++++
 ...h-panels_info-overview_cc-info-overview-panel.c | 70 ++++++++++++++++++
 .../files/patch-panels_info-overview_meson.build   | 13 ++++
 .../files/patch-panels_keyboard_meson.build        | 11 ---
 .../files/patch-panels_meson.build                 | 33 ++++++++-
 .../files/patch-panels_power_cc-power-panel.c      | 26 ++++---
 .../files/patch-panels_printers_pp-host.c          | 12 +++
 .../patch-panels_user-accounts_cc-realm-manager.c  |  5 +-
 .../files/patch-panels_user-accounts_meson.build   | 12 ---
 .../files/patch-panels_user-accounts_run-passwd.c  | 85 ++++++++++++++++++++++
 .../files/patch-shell_cc-panel-loader.c            | 65 +++++++++++++++++
 .../files/patch-shell_meson.build                  | 19 ++++-
 sysutils/gnome-control-center/pkg-plist            | 12 +--
 15 files changed, 371 insertions(+), 52 deletions(-)

diff --git a/sysutils/gnome-control-center/files/patch-meson.build b/sysutils/gnome-control-center/files/patch-meson.build
new file mode 100644
index 000000000000..4d7cb49e45db
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-meson.build
@@ -0,0 +1,22 @@
+No GUdev on OpenBSD (XXX add HAVE_GUDEV to meson_options.txt)
+No colord (needs GUdev) on OpenBSD (XXX add HAVE_COLORD to meson_options.txt)
+
+Index: meson.build
+--- meson.build.orig
++++ meson.build
+@@ -118,7 +118,6 @@ goa_req_version = '>= 3.25.3'
+ pulse_req_version = '>= 2.0'
+ 
+ accounts_dep = dependency('accountsservice', version: '>= 0.6.39')
+-colord_dep = dependency('colord', version: '>= 0.1.34')
+ gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0', version: '>= 2.23.0')
+ gio_dep = dependency('gio-2.0')
+ glib_dep = dependency('glib-2.0', version: '>= 2.68.0')
+@@ -131,7 +130,6 @@ polkit_gobject_dep = dependency('polkit-gobject-1', ve
+ pulse_dep = dependency('libpulse', version: pulse_req_version)
+ pulse_mainloop_dep = dependency('libpulse-mainloop-glib', version: pulse_req_version)
+ upower_glib_dep = dependency('upower-glib', version: '>= 0.99.8')
+-gudev_dep = dependency('gudev-1.0', version: '>= 232')
+ x11_dep = dependency('x11')
+ xi_dep = dependency('xi', version: '>= 1.2')
+ epoxy_dep = dependency('epoxy')
diff --git a/sysutils/gnome-control-center/files/patch-panels_common_meson.build b/sysutils/gnome-control-center/files/patch-panels_common_meson.build
new file mode 100644
index 000000000000..a797b9571d82
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-panels_common_meson.build
@@ -0,0 +1,25 @@
+No GUdev on OpenBSD (XXX add HAVE_GUDEV to meson_options.txt)
+
+Index: panels/common/meson.build
+--- panels/common/meson.build.orig
++++ panels/common/meson.build
+@@ -86,18 +86,16 @@ liblanguage_dep = declare_dependency(
+ )
+ 
+ gsd_headers = [
+-  'gsd-device-manager.h',
+   'gsd-input-helper.h'
+ ]
+ 
+ gsd_sources = [
+-  'gsd-device-manager.c',
+   'gsd-input-helper.c'
+ ]
+ 
+ sources = common_sources + files(gsd_sources)
+ 
+-deps = common_deps + [ gudev_dep ]
++deps = common_deps
+ 
+ libdevice = static_library(
+   'device',
diff --git a/sysutils/gnome-control-center/files/patch-panels_display_meson.build b/sysutils/gnome-control-center/files/patch-panels_display_meson.build
new file mode 100644
index 000000000000..611690598f57
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-panels_display_meson.build
@@ -0,0 +1,13 @@
+No colord (needs GUdev) on OpenBSD (XXX add HAVE_COLORD to meson_options.txt)
+
+Index: panels/display/meson.build
+--- panels/display/meson.build.orig
++++ panels/display/meson.build
+@@ -43,7 +43,6 @@ sources += gnome.compile_resources(
+ )
+ 
+ deps = common_deps + [
+-  colord_dep,
+   gnome_desktop_dep,
+   m_dep,
+   upower_glib_dep
diff --git a/sysutils/gnome-control-center/files/patch-panels_info-overview_cc-info-overview-panel.c b/sysutils/gnome-control-center/files/patch-panels_info-overview_cc-info-overview-panel.c
new file mode 100644
index 000000000000..7d3f113b96b1
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-panels_info-overview_cc-info-overview-panel.c
@@ -0,0 +1,70 @@
+No udisks2 on OpenBSD (XXX add HAVE_UDISKS2 to meson_options.txt)
+
+XXX implement minimal support for get_os_name() on OpenBSD;
+we should port cc_os_release_get_values
+
+Index: panels/info-overview/cc-info-overview-panel.c
+--- panels/info-overview/cc-info-overview-panel.c.orig
++++ panels/info-overview/cc-info-overview-panel.c
+@@ -37,10 +37,16 @@
+ #include <glibtop/mountlist.h>
+ #include <glibtop/mem.h>
+ #include <glibtop/sysinfo.h>
++#ifdef HAVE_UDISKS2
+ #include <udisks/udisks.h>
++#endif
+ 
+ #include <gdk/gdk.h>
+ 
++#ifdef __OpenBSD__
++#include <sys/utsname.h>
++#endif
++
+ #ifdef GDK_WINDOWING_WAYLAND
+ #include <gdk/gdkwayland.h>
+ #endif
+@@ -417,6 +423,7 @@ get_graphics_hardware_string (void)
+ static char *
+ get_os_name (void)
+ {
++#ifndef __OpenBSD__
+   g_autofree gchar *name = NULL;
+   g_autofree gchar *version_id = NULL;
+   g_autofree gchar *pretty_name = NULL;
+@@ -450,6 +457,18 @@ get_os_name (void)
+     }
+ 
+   return result;
++#else
++  gchar *result = NULL;
++  g_autofree gchar *name_version = NULL;
++  struct utsname u;
++
++  if (uname (&u) == -1)
++    return g_strdup (_("Unknown"));
++
++  name_version = g_strdup_printf ("%s %s %s", u.sysname, u.release, u.version);
++  result = g_strdup (name_version);
++  return result;
++#endif
+ }
+ 
+ static char *
+@@ -466,6 +485,7 @@ get_os_type (void)
+ static void
+ get_primary_disc_info (CcInfoOverviewPanel *self)
+ {
++#ifdef HAVE_UDISKS2
+   g_autoptr(UDisksClient) client = NULL;
+   GDBusObjectManager *manager;
+   g_autolist(GDBusObject) objects = NULL;
+@@ -512,6 +532,9 @@ get_primary_disc_info (CcInfoOverviewPanel *self)
+     {
+       cc_list_row_set_secondary_label (self->disk_row,  _("Unknown"));
+     }
++#else
++  cc_list_row_set_secondary_label (self->disk_row,  _("Unknown"));
++#endif
+ }
+ 
+ static void
diff --git a/sysutils/gnome-control-center/files/patch-panels_info-overview_meson.build b/sysutils/gnome-control-center/files/patch-panels_info-overview_meson.build
new file mode 100644
index 000000000000..afa2ecee5dda
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-panels_info-overview_meson.build
@@ -0,0 +1,13 @@
+No udisks2 on OpenBSD (XXX add HAVE_UDISKS2 to meson_options.txt)
+
+Index: panels/info-overview/meson.build
+--- panels/info-overview/meson.build.orig
++++ panels/info-overview/meson.build
+@@ -39,7 +39,6 @@ sources += gnome.compile_resources(
+ )
+ 
+ deps = common_deps + [
+-  dependency('udisks2', version: '>= 2.8.2'),
+   dependency('libgtop-2.0')
+ ]
+ 
diff --git a/sysutils/gnome-control-center/files/patch-panels_keyboard_meson.build b/sysutils/gnome-control-center/files/patch-panels_keyboard_meson.build
deleted file mode 100644
index f9fbd75108b2..000000000000
--- a/sysutils/gnome-control-center/files/patch-panels_keyboard_meson.build
+++ /dev/null
@@ -1,11 +0,0 @@
---- panels/keyboard/meson.build.orig	2020-07-03 05:10:57 UTC
-+++ panels/keyboard/meson.build
-@@ -30,7 +30,7 @@ configure_file(
-   input: pc + '.in',
-   output: pc,
-   install: true,
--  install_dir: join_paths(control_center_datadir, 'pkgconfig'),
-+  install_dir: join_paths(control_center_prefix, 'libdata/pkgconfig'),
-   configuration: pc_conf
- )
- 
diff --git a/sysutils/gnome-control-center/files/patch-panels_meson.build b/sysutils/gnome-control-center/files/patch-panels_meson.build
index 150c11edeff8..2882e99023e7 100644
--- a/sysutils/gnome-control-center/files/patch-panels_meson.build
+++ b/sysutils/gnome-control-center/files/patch-panels_meson.build
@@ -1,6 +1,27 @@
---- panels/meson.build.orig	2021-09-23 00:43:37 UTC
+No GUdev on OpenBSD (XXX add HAVE_GUDEV to meson_options.txt)
+No colord (needs GUdev) on OpenBSD (XXX add HAVE_COLORD to meson_options.txt)
+wwan needs network-manager
+
+Index: panels/meson.build
+--- panels/meson.build.orig
 +++ panels/meson.build
-@@ -28,7 +28,6 @@ panels = [
+@@ -4,7 +4,6 @@ panels = [
+   'applications',
+   'background',
+   'camera',
+-  'color',
+   'datetime',
+   'default-apps',
+   'diagnostics',
+@@ -14,7 +13,6 @@ panels = [
+   'location',
+   'lock',
+   'microphone',
+-  'mouse',
+   'multitasking',
+   'notifications',
+   'online-accounts',
+@@ -28,11 +26,13 @@ panels = [
    'universal-access',
    'usage',
    'user-accounts',
@@ -8,3 +29,11 @@
  ]
  
  if host_is_linux
+-  panels += ['network']
++  panels += [
++    'network',
++    'wwan'
++  ]
+ endif
+ 
+ if host_is_linux_not_s390
diff --git a/sysutils/gnome-control-center/files/patch-panels_power_cc-power-panel.c b/sysutils/gnome-control-center/files/patch-panels_power_cc-power-panel.c
index ccfa622d8ca3..979d99b2782d 100644
--- a/sysutils/gnome-control-center/files/patch-panels_power_cc-power-panel.c
+++ b/sysutils/gnome-control-center/files/patch-panels_power_cc-power-panel.c
@@ -1,12 +1,18 @@
---- panels/power/cc-power-panel.c.orig	2021-10-22 02:27:08 UTC
+login1 -> ConsoleKit
+
+Index: panels/power/cc-power-panel.c
+--- panels/power/cc-power-panel.c.orig
 +++ panels/power/cc-power-panel.c
-@@ -1641,9 +1641,6 @@ cc_power_panel_init (CcPowerPanel *self)
-   setup_power_profiles (self);
- 
-   setup_power_saving (self);
--  g_settings_bind (self->gsd_settings, "power-saver-profile-on-low-battery",
--                   self->power_saver_low_battery_switch, "active",
--                   G_SETTINGS_BIND_DEFAULT);
- 
-   setup_general_section (self);
+@@ -903,9 +903,9 @@ can_suspend_or_hibernate (CcPowerPanel *self,
+     }
  
+   variant = g_dbus_connection_call_sync (connection,
+-                                         "org.freedesktop.login1",
+-                                         "/org/freedesktop/login1",
+-                                         "org.freedesktop.login1.Manager",
++                                         "org.freedesktop.ConsoleKit",
++                                         "/org/freedesktop/ConsoleKit/Manager",
++                                         "org.freedesktop.ConsoleKit.Manager",
+                                          method_name,
+                                          NULL,
+                                          NULL,
diff --git a/sysutils/gnome-control-center/files/patch-panels_printers_pp-host.c b/sysutils/gnome-control-center/files/patch-panels_printers_pp-host.c
new file mode 100644
index 000000000000..1b5c22c77d56
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-panels_printers_pp-host.c
@@ -0,0 +1,12 @@
+Index: panels/printers/pp-host.c
+--- panels/printers/pp-host.c.orig
++++ panels/printers/pp-host.c
+@@ -256,7 +256,7 @@ _pp_host_get_snmp_devices_thread (GTask        *task,
+   devices = g_ptr_array_new_with_free_func (g_object_unref);
+ 
+   argv = g_new0 (gchar *, 3);
+-  argv[0] = g_strdup ("/usr/lib/cups/backend/snmp");
++  argv[0] = g_strdup ("${LOCALBASE}/libexec/cups/backend/snmp");
+   argv[1] = g_strdup (priv->hostname);
+ 
+   /* Use SNMP to get printer's informations */
diff --git a/sysutils/gnome-control-center/files/patch-panels_user-accounts_cc-realm-manager.c b/sysutils/gnome-control-center/files/patch-panels_user-accounts_cc-realm-manager.c
index 4f258c021e91..10c223ceb15f 100644
--- a/sysutils/gnome-control-center/files/patch-panels_user-accounts_cc-realm-manager.c
+++ b/sysutils/gnome-control-center/files/patch-panels_user-accounts_cc-realm-manager.c
@@ -1,6 +1,7 @@
-http://git.pld-linux.org/gitweb.cgi?p=packages/gnome-control-center.git;a=blob;f=krb5.patch;h=260e9aac087453b798dc58b23bbc79705e6172d9;hb=49c1b881b47743e0c76eaf9158a37fd6532c111f
+Fix for Heimdal (versus MIT).
 
---- panels/user-accounts/cc-realm-manager.c.orig	2021-09-17 20:48:56 UTC
+Index: panels/user-accounts/cc-realm-manager.c
+--- panels/user-accounts/cc-realm-manager.c.orig
 +++ panels/user-accounts/cc-realm-manager.c
 @@ -22,7 +22,7 @@
  
diff --git a/sysutils/gnome-control-center/files/patch-panels_user-accounts_meson.build b/sysutils/gnome-control-center/files/patch-panels_user-accounts_meson.build
deleted file mode 100644
index 9d0e9d846e9a..000000000000
--- a/sysutils/gnome-control-center/files/patch-panels_user-accounts_meson.build
+++ /dev/null
@@ -1,12 +0,0 @@
---- panels/user-accounts/meson.build.orig	2021-09-17 20:48:56 UTC
-+++ panels/user-accounts/meson.build
-@@ -170,7 +170,8 @@ sources += gnome.mkenums_simple(
-   sources: files(enum_headers))
- 
- # Kerberos support
--krb_dep = dependency('krb5', required: false)
-+#krb_dep = dependency('krb5', required: false)
-+krb_dep = cc.find_library('krb5')
- assert(krb_dep.found(), 'kerberos libraries not found in your path')
- 
- deps = common_deps + [
diff --git a/sysutils/gnome-control-center/files/patch-panels_user-accounts_run-passwd.c b/sysutils/gnome-control-center/files/patch-panels_user-accounts_run-passwd.c
new file mode 100644
index 000000000000..b143d237b571
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-panels_user-accounts_run-passwd.c
@@ -0,0 +1,85 @@
+Index: panels/user-accounts/run-passwd.c
+--- panels/user-accounts/run-passwd.c.orig
++++ panels/user-accounts/run-passwd.c
+@@ -139,6 +139,9 @@ static void
+ ignore_sigpipe (gpointer data)
+ {
+         signal (SIGPIPE, SIG_IGN);
++#if defined(__OpenBSD__)
++        setsid();
++#endif
+ }
+ 
+ /* Spawn passwd backend
+@@ -366,6 +369,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition cond
+ {
+         static GString *str = NULL;     /* Persistent buffer */
+ 
++        gint            ret;
+         gchar           buf[BUFSIZE];           /* Temporary buffer */
+         gsize           bytes_read;
+         g_autoptr(GError) gio_error = NULL;
+@@ -377,8 +381,8 @@ io_watch_stdout (GIOChannel *source, GIOCondition cond
+                 str = g_string_new ("");
+         }
+ 
+-        if (g_io_channel_read_chars (source, buf, BUFSIZE, &bytes_read, &gio_error)
+-            != G_IO_STATUS_NORMAL) {
++        ret = g_io_channel_read_chars (source, buf, BUFSIZE, &bytes_read, &gio_error);
++        if (ret != G_IO_STATUS_NORMAL && ret != G_IO_STATUS_EOF) {
+                 g_warning ("IO Channel read error: %s", gio_error->message);
+                 return TRUE;
+         }
+@@ -390,11 +394,13 @@ io_watch_stdout (GIOChannel *source, GIOCondition cond
+                 case PASSWD_STATE_AUTH:
+                         /* Passwd is asking for our current password */
+ 
+-                        if (is_string_complete (str->str, "assword: ", "failure", "wrong", "error", NULL)) {
++                        if (is_string_complete (str->str, "assword:","failure", "wrong", "error", "denied", "unchanged", NULL)) {
+ 
+-                                if (strstr (str->str, "assword: ") != NULL &&
++                                if (strstr (str->str, "assword:") != NULL &&
+                                     strstr (str->str, "incorrect") == NULL &&
+-                                    strstr (str->str, "urrent") == NULL) {
++                                    strstr (str->str, "urrent") == NULL &&
++                                    strstr (str->str, "unchanged") == NULL &&
++                                    strstr (str->str, "denied") == NULL) {
+                                         /* Authentication successful */
+ 
+                                         passwd_handler->backend_state = PASSWD_STATE_NEW;
+@@ -432,7 +438,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition cond
+                 case PASSWD_STATE_NEW:
+                         /* Passwd is asking for our new password */
+ 
+-                        if (is_string_complete (str->str, "assword: ", NULL)) {
++                        if (is_string_complete (str->str, "assword:", NULL)) {
+                                 /* Advance to next state */
+                                 passwd_handler->backend_state = PASSWD_STATE_RETYPE;
+ 
+@@ -465,6 +471,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition cond
+                                                 "failure",
+                                                 "DIFFERENT",
+                                                 "BAD PASSWORD",
++                                                "another",
+                                                 NULL)) {
+ 
+                                 if (strstr (str->str, "successfully") != NULL) {
+@@ -481,7 +488,8 @@ io_watch_stdout (GIOChannel *source, GIOCondition cond
+                                         /* Ohnoes! */
+                                         g_autoptr(GError) error = NULL;
+ 
+-                                        if (strstr (str->str, "recovered") != NULL) {
++                                        if (strstr (str->str, "recovered") != NULL ||
++                                            strstr (str->str, "another") != NULL) {
+                                                 /* What does this indicate?
+                                                  * "Authentication information cannot be recovered?" from libpam? */
+                                                 error = g_error_new_literal (PASSWD_ERROR, PASSWD_ERROR_UNKNOWN,
+@@ -548,7 +556,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition cond
+                         break;
+                 case PASSWD_STATE_NONE:
+                         /* Passwd is not asking for anything yet */
+-                        if (is_string_complete (str->str, "assword: ", NULL)) {
++                        if (is_string_complete (str->str, "assword:", NULL)) {
+ 
+                                 /* If the user does not have a password set,
+                                  * passwd will immediately ask for the new password,
diff --git a/sysutils/gnome-control-center/files/patch-shell_cc-panel-loader.c b/sysutils/gnome-control-center/files/patch-shell_cc-panel-loader.c
new file mode 100644
index 000000000000..36d7a242927f
--- /dev/null
+++ b/sysutils/gnome-control-center/files/patch-shell_cc-panel-loader.c
@@ -0,0 +1,65 @@
+No GUdev on OpenBSD (XXX add HAVE_GUDEV to meson_options.txt)
+No colord (needs GUdev) on OpenBSD (XXX add HAVE_COLORD to meson_options.txt)
+
+http://permalink.gmane.org/gmane.comp.gnome.desktop/51950
+https://bugzilla.gnome.org/show_bug.cgi?id=770758#c3
+https://bugzilla.gnome.org/show_bug.cgi?id=766329
+https://bugzilla.gnome.org/show_bug.cgi?id=772736 (systemd --user)
+
+Index: shell/cc-panel-loader.c
+--- shell/cc-panel-loader.c.orig
++++ shell/cc-panel-loader.c
+@@ -36,13 +36,14 @@ extern GType cc_background_panel_get_type (void);
+ #ifdef BUILD_BLUETOOTH
+ extern GType cc_bluetooth_panel_get_type (void);
+ #endif /* BUILD_BLUETOOTH */
+-extern GType cc_color_panel_get_type (void);
+ extern GType cc_date_time_panel_get_type (void);
+ extern GType cc_default_apps_panel_get_type (void);
+ extern GType cc_display_panel_get_type (void);
+ extern GType cc_info_overview_panel_get_type (void);
+ extern GType cc_keyboard_panel_get_type (void);
++#ifdef NOTYET
+ extern GType cc_mouse_panel_get_type (void);
++#endif
+ extern GType cc_multitasking_panel_get_type (void);
+ #ifdef BUILD_NETWORK
+ extern GType cc_network_panel_get_type (void);
+@@ -55,7 +56,9 @@ extern GType cc_printers_panel_get_type (void);
+ extern GType cc_region_panel_get_type (void);
+ extern GType cc_removable_media_panel_get_type (void);
+ extern GType cc_search_panel_get_type (void);
++#ifdef BUILD_SHARING
+ extern GType cc_sharing_panel_get_type (void);
++#endif
+ extern GType cc_sound_panel_get_type (void);
+ #ifdef BUILD_THUNDERBOLT
+ extern GType cc_bolt_panel_get_type (void);
+@@ -103,7 +106,6 @@ static CcPanelLoaderVtable default_panels[] =
+   PANEL_TYPE("bluetooth",        cc_bluetooth_panel_get_type,            NULL),
+ #endif
+   PANEL_TYPE("camera",           cc_camera_panel_get_type,               NULL),
+-  PANEL_TYPE("color",            cc_color_panel_get_type,                NULL),
+   PANEL_TYPE("datetime",         cc_date_time_panel_get_type,            NULL),
+   PANEL_TYPE("default-apps",     cc_default_apps_panel_get_type,         NULL),
+   PANEL_TYPE("diagnostics",      cc_diagnostics_panel_get_type,          cc_diagnostics_panel_static_init_func),
+@@ -113,7 +115,9 @@ static CcPanelLoaderVtable default_panels[] =
+   PANEL_TYPE("location",         cc_location_panel_get_type,             NULL),
+   PANEL_TYPE("lock",             cc_lock_panel_get_type,                 NULL),
+   PANEL_TYPE("microphone",       cc_microphone_panel_get_type,           NULL),
++#ifdef NOTYET
+   PANEL_TYPE("mouse",            cc_mouse_panel_get_type,                NULL),
++#endif
+   PANEL_TYPE("multitasking",     cc_multitasking_panel_get_type,         NULL),
+ #ifdef BUILD_NETWORK
+   PANEL_TYPE("network",          cc_network_panel_get_type,              NULL),
+@@ -126,7 +130,9 @@ static CcPanelLoaderVtable default_panels[] =
+   PANEL_TYPE("region",           cc_region_panel_get_type,               NULL),
+   PANEL_TYPE("removable-media",  cc_removable_media_panel_get_type,      NULL),
+   PANEL_TYPE("search",           cc_search_panel_get_type,               NULL),
++#ifdef BUILD_SHARING
+   PANEL_TYPE("sharing",          cc_sharing_panel_get_type,              NULL),
++#endif
+   PANEL_TYPE("sound",            cc_sound_panel_get_type,                NULL),
+ #ifdef BUILD_THUNDERBOLT
+   PANEL_TYPE("thunderbolt",      cc_bolt_panel_get_type,                 NULL),
diff --git a/sysutils/gnome-control-center/files/patch-shell_meson.build b/sysutils/gnome-control-center/files/patch-shell_meson.build
index 78fbb4c2f492..2a822c4f6292 100644
--- a/sysutils/gnome-control-center/files/patch-shell_meson.build
+++ b/sysutils/gnome-control-center/files/patch-shell_meson.build
@@ -1,14 +1,25 @@
-# find heimal from base, make configurable ?
+No GUdev on OpenBSD (XXX add HAVE_GUDEV to meson_options.txt)
 
---- shell/meson.build.orig	2020-09-27 18:22:48 UTC
+Find libkrb5.so
+
+Index: shell/meson.build
+--- shell/meson.build.orig
 +++ shell/meson.build
-@@ -130,7 +130,8 @@ executable(
+@@ -107,7 +107,6 @@ libshell_dep = declare_dependency(
+ shell_sources = common_sources + files('main.c')
+ 
+ shell_deps = common_deps + [
+-  libdevice_dep,
+   liblanguage_dep,
+   libwidgets_dep,
+   x11_dep,
+@@ -129,7 +128,8 @@ executable(
           dependencies : shell_deps,
                 c_args : cflags,
              link_with : panels_libs,
 -              install : true
 +              install : true,
-+              install_rpath : '/usr/lib'
++        install_rpath : '${LOCALBASE}/heimdal/lib'
  )
  
  
diff --git a/sysutils/gnome-control-center/pkg-plist b/sysutils/gnome-control-center/pkg-plist
index e0ba25953c0a..1394cc45913c 100644
--- a/sysutils/gnome-control-center/pkg-plist
+++ b/sysutils/gnome-control-center/pkg-plist
@@ -1,12 +1,10 @@
 bin/gnome-control-center
-libdata/pkgconfig/gnome-keybindings.pc
 libexec/cc-remote-login-helper
 libexec/gnome-control-center-print-renderer
 libexec/gnome-control-center-search-provider
 share/applications/gnome-applications-panel.desktop
 share/applications/gnome-background-panel.desktop
 share/applications/gnome-camera-panel.desktop
-share/applications/gnome-color-panel.desktop
 share/applications/gnome-control-center.desktop
 share/applications/gnome-datetime-panel.desktop
 share/applications/gnome-default-apps-panel.desktop
@@ -17,7 +15,6 @@ share/applications/gnome-keyboard-panel.desktop
 share/applications/gnome-location-panel.desktop
 share/applications/gnome-lock-panel.desktop
 share/applications/gnome-microphone-panel.desktop
-share/applications/gnome-mouse-panel.desktop
 share/applications/gnome-multitasking-panel.desktop
 share/applications/gnome-notifications-panel.desktop
 share/applications/gnome-online-accounts-panel.desktop
@@ -50,36 +47,28 @@ share/icons/gnome-logo-text-dark.svg
 share/icons/gnome-logo-text.svg
 share/icons/hicolor/16x16/apps/gnome-power-manager.png
 share/icons/hicolor/16x16/apps/goa-panel.png
-share/icons/hicolor/16x16/apps/preferences-color.png
 share/icons/hicolor/16x16/apps/preferences-desktop-display.png
 share/icons/hicolor/16x16/apps/preferences-system-time.png
 share/icons/hicolor/22x22/apps/gnome-power-manager.png
 share/icons/hicolor/22x22/apps/goa-panel.png
-share/icons/hicolor/22x22/apps/preferences-color.png
 share/icons/hicolor/22x22/apps/preferences-desktop-display.png
 share/icons/hicolor/22x22/apps/preferences-system-time.png
 share/icons/hicolor/24x24/apps/gnome-power-manager.png
 share/icons/hicolor/24x24/apps/goa-panel.png
-share/icons/hicolor/24x24/apps/preferences-color.png
 share/icons/hicolor/24x24/apps/preferences-desktop-display.png
 share/icons/hicolor/256x256/apps/gnome-power-manager.png
 share/icons/hicolor/256x256/apps/goa-panel.png
-share/icons/hicolor/256x256/apps/preferences-color.png
 share/icons/hicolor/256x256/apps/preferences-system-time.png
 share/icons/hicolor/32x32/apps/gnome-power-manager.png
 share/icons/hicolor/32x32/apps/goa-panel.png
-share/icons/hicolor/32x32/apps/preferences-color.png
 share/icons/hicolor/32x32/apps/preferences-desktop-display.png
 share/icons/hicolor/32x32/apps/preferences-system-time.png
 share/icons/hicolor/48x48/apps/gnome-power-manager.png
 share/icons/hicolor/48x48/apps/goa-panel.png
-share/icons/hicolor/48x48/apps/preferences-color.png
 share/icons/hicolor/48x48/apps/preferences-system-time.png
-share/icons/hicolor/64x64/apps/preferences-color.png
 share/icons/hicolor/scalable/apps/org.gnome.Settings-multitasking-symbolic.svg
 share/icons/hicolor/scalable/apps/org.gnome.Settings.Devel.svg
 share/icons/hicolor/scalable/apps/org.gnome.Settings.svg
-share/icons/hicolor/scalable/apps/preferences-color.svg
 share/icons/hicolor/scalable/apps/preferences-desktop-display.svg
 share/icons/hicolor/scalable/apps/preferences-system-time.svg
 share/icons/hicolor/scalable/categories/slideshow-symbolic.svg
@@ -324,6 +313,7 @@ share/pixmaps/faces/tennis-ball.png
 share/pixmaps/faces/tomatoes.jpg
 share/pixmaps/faces/tree.jpg
 share/pixmaps/faces/yellow-rose.jpg
+share/pkgconfig/gnome-keybindings.pc
 share/polkit-1/actions/org.gnome.controlcenter.datetime.policy
 share/polkit-1/actions/org.gnome.controlcenter.remote-login-helper.policy
 share/polkit-1/actions/org.gnome.controlcenter.user-accounts.policy