summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-base/gnome-control-center/files/gnome-control-center-3.23.91-optional.patch')
-rw-r--r--gnome-base/gnome-control-center/files/gnome-control-center-3.23.91-optional.patch556
1 files changed, 556 insertions, 0 deletions
diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.23.91-optional.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.23.91-optional.patch
new file mode 100644
index 000000000000..f4bd22245d9d
--- /dev/null
+++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.23.91-optional.patch
@@ -0,0 +1,556 @@
+From 5ad997775501a1172846bccdf56aad6c9c4bcb1f Mon Sep 17 00:00:00 2001
+From: Timo Tambet <ttambet@gmail.com>
+Date: Sat, 25 Feb 2017 23:29:10 +0200
+Subject: [PATCH 1/4] Make bluetooth/colord/goa/kerberos/wacom optional
+
+Upstream is not interested in any part of this patch:
+
+https://bugzilla.gnome.org/show_bug.cgi?id=686840
+https://bugzilla.gnome.org/show_bug.cgi?id=697478
+https://bugzilla.gnome.org/show_bug.cgi?id=700145
+
+Signed-off-by: Ole Reifschneider <tranquility@gentoo.org>
+Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org>
+Signed-off-by: Alexandre Rostovtsev <tetromino@gentoo.org>
+---
+ configure.ac | 171 ++++++++++++++++++++++++--------
+ panels/Makefile.am | 10 +-
+ panels/background/Makefile.am | 8 +-
+ panels/background/bg-pictures-source.c | 20 ++++
+ panels/power/cc-power-panel.c | 2 +-
+ panels/user-accounts/um-realm-manager.c | 9 ++
+ shell/Makefile.am | 10 +-
+ shell/cc-panel-loader.c | 8 ++
+ 8 files changed, 188 insertions(+), 50 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 12a8adee6..022635d34 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -120,10 +120,6 @@ LIBGD_INIT([_view-common static])
+ PKG_CHECK_MODULES(LIBLANGUAGE, $COMMON_MODULES gnome-desktop-3.0 fontconfig)
+ PKG_CHECK_MODULES(LIBSHORTCUTS, $COMMON_MODULES x11)
+ PKG_CHECK_MODULES(SHELL, $COMMON_MODULES x11 polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION)
+-PKG_CHECK_MODULES(BACKGROUND_PANEL, $COMMON_MODULES cairo-gobject libxml-2.0 gnome-desktop-3.0
+- gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION
+- goa-1.0 >= $GOA_REQUIRED_VERSION
+- grilo-0.3 >= $GRILO_REQUIRED_VERSION)
+ PKG_CHECK_MODULES(DATETIME_PANEL, $COMMON_MODULES
+ gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
+ polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
+@@ -141,12 +137,58 @@ PKG_CHECK_MODULES(MOUSE_PANEL, $COMMON_MODULES xi >= 1.2
+ PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES gmodule-2.0
+ polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION)
+ PKG_CHECK_MODULES(NOTIFICATIONS_PANEL, $COMMON_MODULES)
+-PKG_CHECK_MODULES(ONLINE_ACCOUNTS_PANEL, $COMMON_MODULES goa-1.0 goa-backend-1.0 >= $GOA_REQUIRED_VERSION)
+-PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES
+- colord >= $COLORD_REQUIRED_VERSION
+- colord-gtk >= $COLORD_GTK_REQUIRED_VERSION
+- libsoup-2.4
+- gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION)
++
++build_online_accounts=no
++background_online_accounts=
++AC_ARG_ENABLE([goa],
++ AS_HELP_STRING([--disable-goa],
++ [disable online accounts management panel]),
++ [],
++ [enable_goa=auto])
++
++AS_IF([test "$enable_goa" != "no"],
++ [PKG_CHECK_MODULES([ONLINE_ACCOUNTS_PANEL],
++ [$COMMON_MODULES goa-1.0 goa-backend-1.0 >= $GOA_REQUIRED_VERSION],
++ [
++ AC_DEFINE(BUILD_ONLINE_ACCOUNTS, 1, [Define to 1 to build the Online Accounts panel])
++ build_online_accounts=yes
++ background_goa_dependencies="goa-1.0 >= $GOA_REQUIRED_VERSION grilo-0.3 >= $GRILO_REQUIRED_VERSION"
++ ], [
++ AS_IF([test "$enable_goa" = "yes"],
++ [AC_MSG_ERROR([gnome-online-accounts support requested but not found])])
++ ])
++ ])
++AM_CONDITIONAL(BUILD_ONLINE_ACCOUNTS, test "$build_online_accounts" = "yes")
++
++PKG_CHECK_MODULES(BACKGROUND_PANEL, $COMMON_MODULES cairo-gobject libxml-2.0 gnome-desktop-3.0
++ gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION
++ $background_goa_dependencies)
++
++build_color=no
++AC_ARG_ENABLE([color],
++ AS_HELP_STRING([--disable-color],
++ [disable color management panel]),
++ [],
++ [enable_color=auto])
++
++AS_IF([test "$enable_color" != "no"],
++ [PKG_CHECK_MODULES([COLOR_PANEL],
++ [
++ $COMMON_MODULES
++ colord >= $COLORD_REQUIRED_VERSION
++ colord-gtk >= $COLORD_GTK_REQUIRED_VERSION
++ libsoup-2.4
++ gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
++ ], [
++ AC_DEFINE(BUILD_COLOR, 1, [Define to 1 to build the Color panel])
++ build_color=yes
++ ], [
++ AS_IF([test "$enable_color" = "yes"],
++ [AC_MSG_ERROR([colord support requested but not found])])
++ ])
++ ])
++AM_CONDITIONAL(BUILD_COLOR, test "$build_color" = "yes")
++
+ PKG_CHECK_MODULES(PRINTERS_PANEL, $COMMON_MODULES
+ polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
+ smbclient)
+@@ -254,17 +296,27 @@ else
+ fi
+
+ # Check for gnome-bluetooth
+-PKG_CHECK_MODULES(BLUETOOTH, $COMMON_MODULES gnome-bluetooth-1.0 >= 3.18.2,
+- [have_bluetooth=yes], have_bluetooth=no)
+-if test "x$have_bluetooth" = xyes ; then
+- AC_DEFINE(BUILD_BLUETOOTH, 1, [Define to 1 to build the Bluetooth panel])
+-else
+- linux_usb_error_or_warn "*** Bluetooth panel will not be built"
+-fi
+-AM_CONDITIONAL(BUILD_BLUETOOTH, [test x$have_bluetooth = xyes])
+-if test x${have_bluetooth} = xyes; then
+- AC_DEFINE(HAVE_BLUETOOTH, 1, [Define to 1 if bluetooth support is available])
+-fi
++have_bluetooth=no
++AC_ARG_ENABLE([bluetooth],
++ AS_HELP_STRING([--disable-bluetooth],
++ [disable bluetooth management panel]),
++ [],
++ [enable_bluetooth=auto])
++
++AS_IF([test "$enable_bluetooth" = "yes"],
++ [PKG_CHECK_MODULES([BLUETOOTH],
++ [$COMMON_MODULES gnome-bluetooth-1.0 >= 3.18.2],
++ [
++ AC_DEFINE(BUILD_BLUETOOTH, 1, [Define to 1 to build the Bluetooth panel])
++ have_bluetooth=yes
++ ],
++ [
++ have_bluetooth=no
++ AS_IF([test "$enable_bluetooth" = "yes"],
++ [AC_MSG_ERROR([bluetooth support requested but not found])])
++ ])
++ ])
++AM_CONDITIONAL(BUILD_BLUETOOTH, [test "$have_bluetooth" = "yes"])
+
+ # Check for CUPS 1.4 or newer
+ AC_PROG_SED
+@@ -319,32 +371,52 @@ fi
+ AM_CONDITIONAL(BUILD_CHEESE, test x${have_cheese} = xyes)
+
+ # Wacom
+-PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES
+- gnome-settings-daemon >= $GSD_REQUIRED_VERSION
+- xi >= 1.2 x11 libwacom >= $LIBWACOM_REQUIRED_VERSION
+- gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
+- clutter-gtk-1.0
+- clutter-1.0 >= $CLUTTER_REQUIRED_VERSION,
+- [have_wacom=yes], [have_wacom=no])
++AC_ARG_ENABLE([wacom],
++ AS_HELP_STRING([--disable-wacom],
++ [disable wacom management panel]),
++ [],
++ [enable_wacom=yes])
++AS_IF([test "x$enable_wacom" = "xyes"],
++ [PKG_CHECK_MODULES([WACOM_PANEL],
++ [
++ $COMMON_MODULES
++ gnome-settings-daemon >= $GSD_REQUIRED_VERSION
++ xi >= 1.2 x11 libwacom >= $LIBWACOM_REQUIRED_VERSION
++ gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
++ clutter-gtk-1.0
++ clutter-1.0 >= $CLUTTER_REQUIRED_VERSION
++ ], [
++ have_wacom=yes
++ AC_DEFINE(BUILD_WACOM, 1, [Define to 1 to build the Wacom panel])
++ AC_DEFINE(HAVE_WACOM, 1, [Define to 1 is Wacom is supportted])
++ ], [
++ have_wacom=no
++ AC_MSG_ERROR([wacom support requested but not found])
++ ])
++ ])
+
+-if test "x$have_wacom" = xyes ; then
+- AC_DEFINE(BUILD_WACOM, 1, [Define to 1 to build the Wacom panel])
+- AC_DEFINE(HAVE_WACOM, 1, [Define to 1 is Wacom is supportted])
+-else
+- linux_usb_error_or_warn "*** Wacom panel will not be built"
+-fi
+ AM_CONDITIONAL(BUILD_WACOM, [test x${have_wacom} = xyes])
+
+ # Kerberos kerberos support
+-AC_PATH_PROG(KRB5_CONFIG, krb5-config, no)
+-if test "$KRB5_CONFIG" = "no"; then
+- AC_MSG_ERROR([krb5-config executable not found in your path - should be installed with the kerberos libraries])
+-fi
+-
+-AC_MSG_CHECKING(for krb5 libraries and flags)
+-KRB5_CFLAGS="`$KRB5_CONFIG --cflags`"
+-KRB5_LIBS="`$KRB5_CONFIG --libs`"
+-AC_MSG_RESULT($KRB5_CFLAGS $KRB5_LIBS)
++AC_ARG_ENABLE([kerberos],
++ AS_HELP_STRING([--disable-kerberos],
++ [disable kerberos support (default: enabled)]),
++ [],
++ [enable_kerberos=yes])
++
++AS_IF([test "$enable_kerberos" != "no"],
++ [
++ AC_PATH_PROG(KRB5_CONFIG, krb5-config, no)
++
++ AS_IF([test "$KRB5_CONFIG" = "no"],
++ AC_MSG_ERROR([krb5-config executable not found in your path - should be installed with the kerberos libraries]))
++
++ AC_MSG_CHECKING([for krb5 libraries and flags])
++ KRB5_CFLAGS="`$KRB5_CONFIG --cflags`"
++ KRB5_LIBS="`$KRB5_CONFIG --libs`"
++ AC_MSG_RESULT($KRB5_CFLAGS $KRB5_LIBS)
++ AC_DEFINE(HAVE_KERBEROS, 1, [defined if krb5 is available])
++ ])
+
+ AC_SUBST(KRB5_CFLAGS)
+ AC_SUBST(KRB5_LIBS)
+@@ -576,11 +648,24 @@ if test "x$have_bluetooth" = "xyes"; then
+ else
+ AC_MSG_NOTICE([ Bluetooth panel disabled])
+ fi
++
++if test "x$build_color" = "xyes"; then
++ AC_MSG_NOTICE([** colord (Color panel)])
++else
++ AC_MSG_NOTICE([ Color panel disabled])
++fi
++
++
+ if test "x$have_cheese" = "xyes"; then
+ AC_MSG_NOTICE([** Cheese (Users panel webcam support)])
+ else
+ AC_MSG_NOTICE([ Users panel webcam support disabled])
+ fi
++if test "x$build_online_accounts" = "xyes"; then
++ AC_MSG_NOTICE([** gnome-online-accounts (Online Accounts panel)])
++else
++ AC_MSG_NOTICE([ Online Accounts panel disabled])
++fi
+ if test "x$have_wacom" = "xyes"; then
+ AC_MSG_NOTICE([** wacom (Wacom tablet panel)])
+ else
+diff --git a/panels/Makefile.am b/panels/Makefile.am
+index 507cd2f54..2806c4555 100644
+--- a/panels/Makefile.am
++++ b/panels/Makefile.am
+@@ -2,11 +2,9 @@ SUBDIRS= \
+ common \
+ background \
+ power \
+- color \
+ display \
+ mouse \
+ notifications \
+- online-accounts \
+ region \
+ info \
+ sound \
+@@ -19,6 +17,10 @@ SUBDIRS= \
+ sharing \
+ printers
+
++if BUILD_COLOR
++SUBDIRS += color
++endif
++
+ if BUILD_WACOM
+ SUBDIRS += wacom
+ endif
+@@ -31,4 +33,8 @@ if BUILD_BLUETOOTH
+ SUBDIRS += bluetooth
+ endif
+
++if BUILD_ONLINE_ACCOUNTS
++SUBDIRS += online-accounts
++endif
++
+ -include $(top_srcdir)/git.mk
+diff --git a/panels/background/Makefile.am b/panels/background/Makefile.am
+index ccb80172f..bde4cdf43 100644
+--- a/panels/background/Makefile.am
++++ b/panels/background/Makefile.am
+@@ -27,8 +27,6 @@ libbackground_chooser_la_SOURCES = \
+ $(BUILT_SOURCES) \
+ cc-background-chooser-dialog.c \
+ cc-background-chooser-dialog.h \
+- cc-background-grilo-miner.c \
+- cc-background-grilo-miner.h \
+ cc-background-item.c \
+ cc-background-item.h \
+ cc-background-xml.c \
+@@ -42,6 +40,12 @@ libbackground_chooser_la_SOURCES = \
+ bg-colors-source.c \
+ bg-colors-source.h
+
++if BUILD_ONLINE_ACCOUNTS
++libbackground_chooser_la_SOURCES += \
++ cc-background-grilo-miner.c \
++ cc-background-grilo-miner.h
++endif
++
+ libbackground_chooser_la_LIBADD = $(PANEL_LIBS) $(BACKGROUND_PANEL_LIBS)
+
+ libbackground_la_SOURCES = \
+diff --git a/panels/background/bg-pictures-source.c b/panels/background/bg-pictures-source.c
+index a33cee7f3..408359cba 100644
+--- a/panels/background/bg-pictures-source.c
++++ b/panels/background/bg-pictures-source.c
+@@ -23,13 +23,17 @@
+
+ #include "bg-pictures-source.h"
+
++#ifdef BUILD_ONLINE_ACCOUNTS
+ #include "cc-background-grilo-miner.h"
++#endif
+ #include "cc-background-item.h"
+
+ #include <string.h>
+ #include <cairo-gobject.h>
+ #include <gio/gio.h>
++#ifdef BUILD_ONLINE_ACCOUNTS
+ #include <grilo.h>
++#endif
+ #include <libgnome-desktop/gnome-desktop-thumbnail.h>
+ #include <gdesktop-enums.h>
+
+@@ -46,7 +50,9 @@ struct _BgPicturesSourcePrivate
+ {
+ GCancellable *cancellable;
+
++#ifdef BUILD_ONLINE_ACCOUNTS
+ CcBackgroundGriloMiner *grl_miner;
++#endif
+
+ GnomeDesktopThumbnailFactory *thumb_factory;
+
+@@ -84,7 +90,9 @@ bg_pictures_source_dispose (GObject *object)
+ g_clear_object (&priv->cancellable);
+ }
+
++#ifdef BUILD_ONLINE_ACCOUNTS
+ g_clear_object (&priv->grl_miner);
++#endif
+ g_clear_object (&priv->thumb_factory);
+
+ G_OBJECT_CLASS (bg_pictures_source_parent_class)->dispose (object);
+@@ -414,7 +422,11 @@ add_single_file (BgPicturesSource *bg_source,
+ gboolean needs_download;
+ gboolean retval = FALSE;
+ GFile *pictures_dir, *cache_dir;
++#ifdef BUILD_ONLINE_ACCOUNTS
+ GrlMedia *media;
++#else
++ gpointer media = NULL;
++#endif
+
+ /* find png and jpeg files */
+ if (!content_type)
+@@ -473,7 +485,9 @@ add_single_file (BgPicturesSource *bg_source,
+
+ read_file:
+
++#ifdef BUILD_ONLINE_ACCOUNTS
+ media = g_object_get_data (G_OBJECT (file), "grl-media");
++#endif
+ if (media == NULL)
+ {
+ g_object_set_data_full (G_OBJECT (file), "item", g_object_ref (item), g_object_unref);
+@@ -556,6 +570,7 @@ add_single_file_from_info (BgPicturesSource *bg_source,
+ return add_single_file (bg_source, file, content_type, mtime, ret_row_ref);
+ }
+
++#ifdef BUILD_ONLINE_ACCOUNTS
+ static gboolean
+ add_single_file_from_media (BgPicturesSource *bg_source,
+ GFile *file,
+@@ -580,6 +595,7 @@ add_single_file_from_media (BgPicturesSource *bg_source,
+
+ return add_single_file (bg_source, file, content_type, (guint64) mtime_unix, NULL);
+ }
++#endif /* BUILD_ONLINE_ACCOUNTS */
+
+ gboolean
+ bg_pictures_source_add (BgPicturesSource *bg_source,
+@@ -923,6 +939,7 @@ monitor_path (BgPicturesSource *self,
+ return monitor;
+ }
+
++#ifdef BUILD_ONLINE_ACCOUNTS
+ static void
+ media_found_cb (BgPicturesSource *self, GrlMedia *media)
+ {
+@@ -934,6 +951,7 @@ media_found_cb (BgPicturesSource *self, GrlMedia *media)
+ g_object_set_data_full (G_OBJECT (file), "grl-media", g_object_ref (media), g_object_unref);
+ add_single_file_from_media (self, file, media);
+ }
++#endif /* BUILD_ONLINE_ACCOUNTS */
+
+ static void
+ bg_pictures_source_init (BgPicturesSource *self)
+@@ -961,9 +979,11 @@ bg_pictures_source_init (BgPicturesSource *self)
+ priv->cache_dir_monitor = monitor_path (self, cache_path);
+ g_free (cache_path);
+
++#ifdef BUILD_ONLINE_ACCOUNTS
+ priv->grl_miner = cc_background_grilo_miner_new ();
+ g_signal_connect_swapped (priv->grl_miner, "media-found", G_CALLBACK (media_found_cb), self);
+ cc_background_grilo_miner_start (priv->grl_miner);
++#endif /* BUILD_ONLINE_ACCOUNTS */
+
+ priv->thumb_factory =
+ gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_LARGE);
+diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
+index db4e69a26..7677b58c4 100644
+--- a/panels/power/cc-power-panel.c
++++ b/panels/power/cc-power-panel.c
+@@ -1882,7 +1882,7 @@ add_power_saving_section (CcPowerPanel *self)
+ G_CALLBACK (wifi_switch_changed), self);
+ #endif
+
+-#ifdef HAVE_BLUETOOTH
++#ifdef BUILD_BLUETOOTH
+ priv->bt_rfkill = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+diff --git a/panels/user-accounts/um-realm-manager.c b/panels/user-accounts/um-realm-manager.c
+index 26391486f..977dab1d6 100644
+--- a/panels/user-accounts/um-realm-manager.c
++++ b/panels/user-accounts/um-realm-manager.c
+@@ -22,7 +22,9 @@
+
+ #include "um-realm-manager.h"
+
++#ifdef HAVE_KERBEROS
+ #include <krb5/krb5.h>
++#endif
+
+ #include <glib.h>
+ #include <glib/gi18n.h>
+@@ -698,6 +700,7 @@ login_closure_free (gpointer data)
+ g_slice_free (LoginClosure, login);
+ }
+
++#ifdef HAVE_KERBEROS
+ static krb5_error_code
+ login_perform_kinit (krb5_context k5,
+ const gchar *realm,
+@@ -761,12 +764,14 @@ login_perform_kinit (krb5_context k5,
+
+ return code;
+ }
++#endif /* HAVE_KERBEROS */
+
+ static void
+ kinit_thread_func (GSimpleAsyncResult *async,
+ GObject *object,
+ GCancellable *cancellable)
+ {
++#ifdef HAVE_KERBEROS
+ LoginClosure *login = g_simple_async_result_get_op_res_gpointer (async);
+ krb5_context k5 = NULL;
+ krb5_error_code code;
+@@ -844,6 +849,10 @@ kinit_thread_func (GSimpleAsyncResult *async,
+
+ if (k5)
+ krb5_free_context (k5);
++#else /* HAVE_KERBEROS */
++ g_simple_async_result_set_error (async, UM_REALM_ERROR, UM_REALM_ERROR_GENERIC,
++ _("gnome-control-center was built without kerberos support"));
++#endif
+ }
+
+ void
+diff --git a/shell/Makefile.am b/shell/Makefile.am
+index 6af3199d8..f3e49c7d9 100644
+--- a/shell/Makefile.am
++++ b/shell/Makefile.am
+@@ -78,14 +78,12 @@ gnome_control_center_LDADD = \
+ $(top_builddir)/panels/common/liblanguage.la \
+ $(top_builddir)/panels/common/libdevice.la \
+ $(top_builddir)/panels/background/libbackground.la \
+- $(top_builddir)/panels/color/libcolor.la \
+ $(top_builddir)/panels/datetime/libdate_time.la \
+ $(top_builddir)/panels/display/libdisplay.la \
+ $(top_builddir)/panels/info/libinfo.la \
+ $(top_builddir)/panels/keyboard/libkeyboard.la \
+ $(top_builddir)/panels/mouse/libmouse-properties.la \
+ $(top_builddir)/panels/notifications/libnotifications.la \
+- $(top_builddir)/panels/online-accounts/libonline-accounts.la \
+ $(top_builddir)/panels/power/libpower.la \
+ $(top_builddir)/panels/privacy/libprivacy.la \
+ $(top_builddir)/panels/region/libregion.la \
+@@ -108,6 +106,14 @@ if BUILD_BLUETOOTH
+ gnome_control_center_LDADD += $(top_builddir)/panels/bluetooth/libbluetooth.la
+ endif
+
++if BUILD_COLOR
++gnome_control_center_LDADD += $(top_builddir)/panels/color/libcolor.la
++endif
++
++if BUILD_ONLINE_ACCOUNTS
++gnome_control_center_LDADD += $(top_builddir)/panels/online-accounts/libonline-accounts.la
++endif
++
+ gnome_control_center_alt_LDADD = \
+ $(gnome_control_center_LDADD) \
+ alt/libshell_alt.la
+diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
+index 20ebb85d5..9104b45ba 100644
+--- a/shell/cc-panel-loader.c
++++ b/shell/cc-panel-loader.c
+@@ -33,7 +33,9 @@ extern GType cc_background_panel_get_type (void);
+ #ifdef BUILD_BLUETOOTH
+ extern GType cc_bluetooth_panel_get_type (void);
+ #endif /* BUILD_BLUETOOTH */
++#ifdef BUILD_COLOR
+ extern GType cc_color_panel_get_type (void);
++#endif /* BUILD_COLOR */
+ extern GType cc_date_time_panel_get_type (void);
+ extern GType cc_display_panel_get_type (void);
+ extern GType cc_info_panel_get_type (void);
+@@ -43,7 +45,9 @@ extern GType cc_mouse_panel_get_type (void);
+ extern GType cc_network_panel_get_type (void);
+ #endif /* BUILD_NETWORK */
+ extern GType cc_notifications_panel_get_type (void);
++#ifdef BUILD_ONLINE_ACCOUNTS
+ extern GType cc_goa_panel_get_type (void);
++#endif /* BUILD_ONLINE_ACCOUNTS */
+ extern GType cc_power_panel_get_type (void);
+ extern GType cc_printers_panel_get_type (void);
+ extern GType cc_privacy_panel_get_type (void);
+@@ -75,7 +79,9 @@ static struct {
+ #ifdef BUILD_BLUETOOTH
+ PANEL_TYPE("bluetooth", cc_bluetooth_panel_get_type ),
+ #endif
++#ifdef BUILD_COLOR
+ PANEL_TYPE("color", cc_color_panel_get_type ),
++#endif
+ PANEL_TYPE("datetime", cc_date_time_panel_get_type ),
+ PANEL_TYPE("display", cc_display_panel_get_type ),
+ PANEL_TYPE("info", cc_info_panel_get_type ),
+@@ -85,7 +91,9 @@ static struct {
+ PANEL_TYPE("network", cc_network_panel_get_type ),
+ #endif
+ PANEL_TYPE("notifications", cc_notifications_panel_get_type),
++#ifdef BUILD_ONLINE_ACCOUNTS
+ PANEL_TYPE("online-accounts", cc_goa_panel_get_type ),
++#endif
+ PANEL_TYPE("power", cc_power_panel_get_type ),
+ PANEL_TYPE("printers", cc_printers_panel_get_type ),
+ PANEL_TYPE("privacy", cc_privacy_panel_get_type ),
+--
+2.11.1
+