diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /gnome-base/gnome-control-center/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'gnome-base/gnome-control-center/files')
13 files changed, 1929 insertions, 0 deletions
diff --git a/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch b/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch new file mode 100644 index 000000000000..0895a743a715 --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch @@ -0,0 +1,35 @@ +From 4825881b129bdde0eaa5419ece6198ebda420825 Mon Sep 17 00:00:00 2001 +From: Ting-Wei Lan <lantw@src.gnome.org> +Date: Thu, 10 Nov 2016 22:27:11 +0800 +Subject: [PATCH 1/2] info: Fix build when Wayland is disabled + +https://bugzilla.gnome.org/show_bug.cgi?id=774324 +--- + panels/info/cc-info-panel.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/panels/info/cc-info-panel.c b/panels/info/cc-info-panel.c +index 4584766..1d596a3 100644 +--- a/panels/info/cc-info-panel.c ++++ b/panels/info/cc-info-panel.c +@@ -351,8 +351,15 @@ get_graphics_data (void) + display = gdk_display_get_default (); + + #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WAYLAND) +- if (GDK_IS_X11_DISPLAY (display) || +- GDK_IS_WAYLAND_DISPLAY (display)) ++ gboolean x11_or_wayland = FALSE; ++#ifdef GDK_WINDOWING_X11 ++ x11_or_wayland = GDK_IS_X11_DISPLAY (display); ++#endif ++#ifdef GDK_WINDOWING_WAYLAND ++ x11_or_wayland = x11_or_wayland || GDK_IS_WAYLAND_DISPLAY (display); ++#endif ++ ++ if (x11_or_wayland) + { + char *discrete_renderer = NULL; + char *renderer; +-- +2.10.1 + diff --git a/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch b/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch new file mode 100644 index 000000000000..a390477a4247 --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch @@ -0,0 +1,32 @@ +From 97e4d87ae8a123d5b1711ddbaba6bc0d3a0a39a8 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy <oholy@redhat.com> +Date: Mon, 5 Dec 2016 10:15:12 +0100 +Subject: [PATCH 2/2] info: Do not crash if Renderer is not set by + SessionManager + +This regression has been introduced by commit 52da4da. The +info panel crashes if prettify_info() returns NULL. This happens +if Renderer property from SessionManager is empty. + +https://bugzilla.gnome.org/show_bug.cgi?id=774240 +--- + panels/info/info-cleanup.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/panels/info/info-cleanup.c b/panels/info/info-cleanup.c +index 20243ec..bb47493 100644 +--- a/panels/info/info-cleanup.c ++++ b/panels/info/info-cleanup.c +@@ -99,6 +99,9 @@ remove_duplicate_whitespace (const char *old) + GRegex *re; + GError *error; + ++ if (old == NULL) ++ return NULL; ++ + error = NULL; + re = g_regex_new ("[ \t\n\r]+", G_REGEX_MULTILINE, 0, &error); + if (re == NULL) +-- +2.10.1 + diff --git a/gnome-base/gnome-control-center/files/3.24.2-fix-without-gdkwayland.patch b/gnome-base/gnome-control-center/files/3.24.2-fix-without-gdkwayland.patch new file mode 100644 index 000000000000..0d41cca4704d --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.24.2-fix-without-gdkwayland.patch @@ -0,0 +1,47 @@ +From 13437b364fe56ffaaa421b8396ba761a2e0cc13d Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +Date: Sat, 15 Jul 2017 06:22:16 +0300 +Subject: [PATCH] common: Add missing GDK_WINDOWING_WAYLAND guards for + gsd_udev_device_manager_lookup_device + +commit 8f9259ac06db added a gdkwayland specific lookup_device implementation, guard it +with compile-time GDK_WINDOWING_WAYLAND as other places are. + +https://bugzilla.gnome.org/show_bug.cgi?id=780544 +--- + panels/common/gsd-device-manager-udev.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/panels/common/gsd-device-manager-udev.c b/panels/common/gsd-device-manager-udev.c +index fdda02a..5dc4447 100644 +--- a/panels/common/gsd-device-manager-udev.c ++++ b/panels/common/gsd-device-manager-udev.c +@@ -24,7 +24,9 @@ + #include <string.h> + #include <gudev/gudev.h> + ++#ifdef GDK_WINDOWING_WAYLAND + #include <gdk/gdkwayland.h> ++#endif + #include "gsd-device-manager-udev.h" + + struct _GsdUdevDeviceManager +@@ -227,6 +229,7 @@ static GsdDevice * + gsd_udev_device_manager_lookup_device (GsdDeviceManager *manager, + GdkDevice *gdk_device) + { ++#ifdef GDK_WINDOWING_WAYLAND + const gchar *node_path; + GHashTableIter iter; + GsdDevice *device; +@@ -243,6 +246,7 @@ gsd_udev_device_manager_lookup_device (GsdDeviceManager *manager, + return device; + } + } ++#endif + + return NULL; + } +-- +2.10.2 + diff --git a/gnome-base/gnome-control-center/files/3.24.2-gentoo-paths.patch b/gnome-base/gnome-control-center/files/3.24.2-gentoo-paths.patch new file mode 100644 index 000000000000..1c7f92783780 --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.24.2-gentoo-paths.patch @@ -0,0 +1,107 @@ +From 522dcaf9de0378394c4558961da99ddf0b8b87e7 Mon Sep 17 00:00:00 2001 +From: Timo Tambet <ttambet@gmail.com> +Date: Sun, 26 Feb 2017 01:04:05 +0200 +Subject: [PATCH 4/5] Fix some absolute paths to be appropriate for Gentoo + +Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org> +Signed-off-by: Alexandre Rostovtsev <tetromino@gentoo.org> +[Updated for 3.23.90; printer panel /usr/share path went away with print testpage button] +Signed-off-by: Timo Tambet <ttambet@gmail.com> +--- + panels/datetime/Makefile.am | 1 + + panels/datetime/test-endianess.c | 4 ++-- + panels/datetime/test-timezone.c | 2 +- + panels/datetime/tz.h | 4 ++-- + panels/printers/Makefile.am | 3 +++ + panels/printers/pp-host.c | 2 +- + 6 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/panels/datetime/Makefile.am b/panels/datetime/Makefile.am +index a003f0b..c43062e 100644 +--- a/panels/datetime/Makefile.am ++++ b/panels/datetime/Makefile.am +@@ -23,6 +23,7 @@ AM_CPPFLAGS = \ + $(DATETIME_PANEL_CFLAGS) \ + -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \ + -DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \ ++ -DREALDATADIR="\"$(datadir)\"" \ + $(NULL) + + # test-timezone is still too noisy +diff --git a/panels/datetime/test-endianess.c b/panels/datetime/test-endianess.c +index 06b2613..eb52bb6 100644 +--- a/panels/datetime/test-endianess.c ++++ b/panels/datetime/test-endianess.c +@@ -26,11 +26,11 @@ test_endianess (void) + GDir *dir; + const char *name; + +- dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL); ++ dir = g_dir_open (REALDATADIR "/i18n/locales/", 0, NULL); + if (dir == NULL) { + /* Try with /usr/share/locale/ + * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */ +- dir = g_dir_open ("/usr/share/locale/", 0, NULL); ++ dir = g_dir_open (REALDATADIR "/locale/", 0, NULL); + if (dir == NULL) { + g_assert_not_reached (); + } +diff --git a/panels/datetime/test-timezone.c b/panels/datetime/test-timezone.c +index db5c030..7ef5cef 100644 +--- a/panels/datetime/test-timezone.c ++++ b/panels/datetime/test-timezone.c +@@ -2,7 +2,7 @@ + #include <gtk/gtk.h> + #include "cc-timezone-map.h" + +-#define TZ_DIR "/usr/share/zoneinfo/" ++#define TZ_DIR REALDATADIR "/zoneinfo/" + + static GList * + get_timezone_list (GList *tzs, +diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h +index 93905b3..1ba918c 100644 +--- a/panels/datetime/tz.h ++++ b/panels/datetime/tz.h +@@ -28,9 +28,9 @@ + #include <glib.h> + + #ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" ++# define TZ_DATA_FILE REALDATADIR "/zoneinfo/zone.tab" + #else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" ++# define TZ_DATA_FILE REALDATADIR "/lib/zoneinfo/tab/zone_sun.tab" + #endif + + typedef struct _TzDB TzDB; +diff --git a/panels/printers/Makefile.am b/panels/printers/Makefile.am +index 575cda3..d5da0bf 100644 +--- a/panels/printers/Makefile.am ++++ b/panels/printers/Makefile.am +@@ -9,6 +9,9 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/shell/ \ + -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \ + -DTEST_SRCDIR=\""$(srcdir)/"\" \ ++ -DREALDATADIR="\"$(datadir)\"" \ ++ -DPREFIX="\"$(prefix)\"" \ ++ -DLIBEXECDIR="\"$(libexecdir)\"" \ + $(NULL) + + noinst_LTLIBRARIES = libprinters.la +diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c +index 8af77e9..bb6df78 100644 +--- a/panels/printers/pp-host.c ++++ b/panels/printers/pp-host.c +@@ -267,7 +267,7 @@ _pp_host_get_snmp_devices_thread (GSimpleAsyncResult *res, + data->devices->devices = NULL; + + argv = g_new0 (gchar *, 3); +- argv[0] = g_strdup ("/usr/lib/cups/backend/snmp"); ++ argv[0] = g_strdup (LIBEXECDIR "/cups/backend/snmp"); + argv[1] = g_strdup (priv->hostname); + + /* Use SNMP to get printer's informations */ +-- +2.10.2 + diff --git a/gnome-base/gnome-control-center/files/3.24.2-optional-cups.patch b/gnome-base/gnome-control-center/files/3.24.2-optional-cups.patch new file mode 100644 index 000000000000..c634d77a53cb --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.24.2-optional-cups.patch @@ -0,0 +1,196 @@ +From f76cc5a97dfa94b03abb878767c8dc15b4461685 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +Date: Fri, 14 Jul 2017 05:07:42 +0300 +Subject: [PATCH 5/5] Make printers panel optional + +--- + configure.ac | 96 ++++++++++++++++++++++++++++++------------------- + panels/Makefile.am | 7 ++-- + shell/Makefile.am | 7 ++-- + shell/cc-panel-loader.c | 4 +++ + 4 files changed, 73 insertions(+), 41 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4af24d0..7629621 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -189,9 +189,59 @@ AS_IF([test "$enable_color" != "no"], + ]) + AM_CONDITIONAL(BUILD_COLOR, test "$build_color" = "yes") + +-PKG_CHECK_MODULES(PRINTERS_PANEL, $COMMON_MODULES +- polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION +- smbclient) ++# Check for CUPS 1.4 or newer ++build_printers=no ++AC_PROG_SED ++ ++AC_ARG_ENABLE([cups], ++ AS_HELP_STRING([--disable-cups], [disable printer management panel]), ++ [], ++ enable_cups=yes ++) ++ ++AS_IF([test "x$enable_cups" != "xno"], ++ [ ++ PKG_CHECK_MODULES(PRINTERS_PANEL, $COMMON_MODULES ++ polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION ++ smbclient) ++ ++ AC_PATH_PROG(CUPS_CONFIG, cups-config) ++ ++ if test x$CUPS_CONFIG = x; then ++ AC_MSG_ERROR([cups-config not found]) ++ fi ++ ++ CUPS_API_VERSION=`$CUPS_CONFIG --api-version` ++ CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | cut -d . -f 1` ++ CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | cut -d . -f 2` ++ ++ AC_CHECK_HEADERS([cups/cups.h cups/http.h cups/ipp.h cups/ppd.h],, ++ AC_MSG_ERROR([CUPS headers not found])) ++ ++ if ! test $CUPS_API_MAJOR -gt 1 -o \ ++ $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 4 ; then ++ AC_MSG_ERROR([CUPS 1.4 or newer not found]) ++ fi ++ ++ # https://bugzilla.gnome.org/show_bug.cgi?id=696766 ++ CUPS_CPPFLAGS="" ++ if test $CUPS_API_MAJOR -gt 1 -o \ ++ $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 6 ; then ++ CUPS_CPPFLAGS=-D_PPD_DEPRECATED="" ++ fi ++ ++ CUPS_CFLAGS=`$CUPS_CONFIG --cflags | $SED -e 's/-O\w*//g' -e 's/-m\w*//g'` ++ CUPS_LIBS=`$CUPS_CONFIG --libs` ++ ++ AC_SUBST(CUPS_CPPFLAGS) ++ AC_SUBST(CUPS_CFLAGS) ++ AC_SUBST(CUPS_LIBS) ++ build_printers=yes ++ AC_DEFINE(BUILD_PRINTERS, 1, [Define to 1 to build the Printers panel]) ++ ] ++) ++AM_CONDITIONAL(BUILD_PRINTERS, test "x$build_printers" = "xyes") ++ + PKG_CHECK_MODULES(PRIVACY_PANEL, $COMMON_MODULES) + PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES + polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION +@@ -334,40 +384,6 @@ AS_IF([test "$enable_bluetooth" = "yes"], + ]) + AM_CONDITIONAL(BUILD_BLUETOOTH, [test "$have_bluetooth" = "yes"]) + +-# Check for CUPS 1.4 or newer +-AC_PROG_SED +- +-AC_PATH_PROG(CUPS_CONFIG, cups-config) +- +-if test x$CUPS_CONFIG = x; then +- AC_MSG_ERROR([cups-config not found]) +-fi +- +-CUPS_API_VERSION=`$CUPS_CONFIG --api-version` +-CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | cut -d . -f 1` +-CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | cut -d . -f 2` +- +-AC_CHECK_HEADERS([cups/cups.h cups/http.h cups/ipp.h cups/ppd.h],, +- AC_MSG_ERROR([CUPS headers not found])) +- +-if ! test $CUPS_API_MAJOR -gt 1 -o \ +- $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 4 ; then +- AC_MSG_ERROR([CUPS 1.4 or newer not found]) +-fi +- +-# https://bugzilla.gnome.org/show_bug.cgi?id=696766 +-CUPS_CPPFLAGS="" +-if test $CUPS_API_MAJOR -gt 1 -o \ +- $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 6 ; then +- CUPS_CPPFLAGS=-D_PPD_DEPRECATED="" +-fi +- +-CUPS_CFLAGS=`$CUPS_CONFIG --cflags | $SED -e 's/-O\w*//g' -e 's/-m\w*//g'` +-CUPS_LIBS=`$CUPS_CONFIG --libs` +-AC_SUBST(CUPS_CPPFLAGS) +-AC_SUBST(CUPS_CFLAGS) +-AC_SUBST(CUPS_LIBS) +- + # Optional dependency for the user accounts panel + AC_ARG_WITH([cheese], + AS_HELP_STRING([--with-cheese], [enable cheese webcam support]),, +@@ -671,6 +687,12 @@ else + AC_MSG_NOTICE([ Color panel disabled]) + fi + ++if test "x$build_printers" = "xyes"; then ++ AC_MSG_NOTICE([** CUPS (Printers panel)]) ++else ++ AC_MSG_NOTICE([ Printers panel disabled]) ++fi ++ + + if test "x$have_cheese" = "xyes"; then + AC_MSG_NOTICE([** Cheese (Users panel webcam support)]) +diff --git a/panels/Makefile.am b/panels/Makefile.am +index 2806c45..b68561e 100644 +--- a/panels/Makefile.am ++++ b/panels/Makefile.am +@@ -14,8 +14,11 @@ SUBDIRS= \ + datetime \ + search \ + privacy \ +- sharing \ +- printers ++ sharing ++ ++if BUILD_PRINTERS ++SUBDIRS += printers ++endif + + if BUILD_COLOR + SUBDIRS += color +diff --git a/shell/Makefile.am b/shell/Makefile.am +index f3e49c7..af782ea 100644 +--- a/shell/Makefile.am ++++ b/shell/Makefile.am +@@ -91,8 +91,11 @@ gnome_control_center_LDADD = \ + $(top_builddir)/panels/sharing/libsharing.la \ + $(top_builddir)/panels/sound/libsound.la \ + $(top_builddir)/panels/universal-access/libuniversal-access.la \ +- $(top_builddir)/panels/user-accounts/libuser-accounts.la \ +- $(top_builddir)/panels/printers/libprinters.la ++ $(top_builddir)/panels/user-accounts/libuser-accounts.la ++ ++if BUILD_PRINTERS ++gnome_control_center_LDADD += $(top_builddir)/panels/printers/libprinters.la ++endif + + if BUILD_WACOM + gnome_control_center_LDADD += $(top_builddir)/panels/wacom/libwacom-properties.la +diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c +index 9104b45..a713079 100644 +--- a/shell/cc-panel-loader.c ++++ b/shell/cc-panel-loader.c +@@ -49,7 +49,9 @@ extern GType cc_notifications_panel_get_type (void); + extern GType cc_goa_panel_get_type (void); + #endif /* BUILD_ONLINE_ACCOUNTS */ + extern GType cc_power_panel_get_type (void); ++#ifdef BUILD_PRINTERS + extern GType cc_printers_panel_get_type (void); ++#endif /* BUILD_PRINTERS */ + extern GType cc_privacy_panel_get_type (void); + extern GType cc_region_panel_get_type (void); + extern GType cc_search_panel_get_type (void); +@@ -95,7 +97,9 @@ static struct { + PANEL_TYPE("online-accounts", cc_goa_panel_get_type ), + #endif + PANEL_TYPE("power", cc_power_panel_get_type ), ++#ifdef BUILD_PRINTERS + PANEL_TYPE("printers", cc_printers_panel_get_type ), ++#endif + PANEL_TYPE("privacy", cc_privacy_panel_get_type ), + PANEL_TYPE("region", cc_region_panel_get_type ), + PANEL_TYPE("search", cc_search_panel_get_type ), +-- +2.10.2 + diff --git a/gnome-base/gnome-control-center/files/3.24.2-optional-networkmanager.patch b/gnome-base/gnome-control-center/files/3.24.2-optional-networkmanager.patch new file mode 100644 index 000000000000..e4efa1c7c1cc --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.24.2-optional-networkmanager.patch @@ -0,0 +1,69 @@ +From c19cbe68d5a4a1363b320debfc6b3e93dbb7e8ac Mon Sep 17 00:00:00 2001 +From: Timo Tambet <ttambet@gmail.com> +Date: Sun, 26 Feb 2017 00:37:06 +0200 +Subject: [PATCH 3/5] Make network panel optional + +Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org> +[Updated for 3.23.90] +Signed-off-by: Timo Tambet <ttambet@gmail.com> +--- + configure.ac | 43 +++++++++++++++++++++++++------------------ + 1 file changed, 25 insertions(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b47dbc8..4af24d0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -275,24 +275,31 @@ linux_usb_error_or_warn() + esac + } + +-PKG_CHECK_MODULES(NETWORK_MANAGER, +- libnm >= $NETWORK_MANAGER_REQUIRED_VERSION +- libnma >= $NETWORK_MANAGER_APPLET_REQUIRED_VERSION +- mm-glib >= $MODEM_MANAGER_REQUIRED_VERSION, +- [have_networkmanager=yes], have_networkmanager=no) +-if test "x$have_networkmanager" = xno ; then +- linux_error_or_warn "*** Network panel will not be built (NetworkManager or ModemManager not found) ***" +-else +- AC_DEFINE(BUILD_NETWORK, 1, [Define to 1 to build the Network panel]) +-fi +-AM_CONDITIONAL(BUILD_NETWORK, [test x$have_networkmanager = xyes]) +-if test x${have_networkmanager} = xyes; then +- AC_DEFINE(HAVE_NETWORK_MANAGER, 1, [Define to 1 if NetworkManager is available]) +- NM_VPN_CONFIG_DIR=`$PKG_CONFIG --variable configdir NetworkManager`/VPN +- NM_VPN_MODULE_DIR=`$PKG_CONFIG --variable plugindir NetworkManager` +- AC_SUBST(NM_VPN_CONFIG_DIR) +- AC_SUBST(NM_VPN_MODULE_DIR) +-fi ++AC_ARG_ENABLE([networkmanager], ++ AS_HELP_STRING([--disable-networkmanager], [Disable network panel]), ++ [], ++ [enable_networkmanager=auto]) ++AS_IF([test "$enable_networkmanager" != "no"], ++ [ ++ PKG_CHECK_MODULES(NETWORK_MANAGER, ++ libnm >= $NETWORK_MANAGER_REQUIRED_VERSION ++ libnma >= $NETWORK_MANAGER_APPLET_REQUIRED_VERSION ++ mm-glib >= $MODEM_MANAGER_REQUIRED_VERSION, ++ [have_networkmanager=yes], [have_networkmanager=no]) ++ ++ AS_IF([test "$have_networkmanager" = "no"], ++ [ ++ AC_MSG_WARN([*** Network panel will not be built (NetworkManager or ModemManager not found) ***]) ++ ], [ ++ AC_DEFINE(BUILD_NETWORK, 1, [Define to 1 to build the Network panel]) ++ AC_DEFINE(HAVE_NETWORK_MANAGER, 1, [Define to 1 if NetworkManager is available]) ++ NM_VPN_CONFIG_DIR=`$PKG_CONFIG --variable configdir NetworkManager`/VPN ++ NM_VPN_MODULE_DIR=`$PKG_CONFIG --variable plugindir NetworkManager` ++ AC_SUBST([NM_VPN_CONFIG_DIR]) ++ AC_SUBST([NM_VPN_MODULE_DIR]) ++ ]) ++ ]) ++AM_CONDITIONAL(BUILD_NETWORK, [test "$have_networkmanager" = "yes"]) + + # Check for power panel + if test x${have_networkmanager} = xyes; then +-- +2.10.2 + diff --git a/gnome-base/gnome-control-center/files/3.24.2-optional-wayland.patch b/gnome-base/gnome-control-center/files/3.24.2-optional-wayland.patch new file mode 100644 index 000000000000..21d4a45b8f16 --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.24.2-optional-wayland.patch @@ -0,0 +1,46 @@ +From e18ff93353a432867e373e549206928d3ced04cc Mon Sep 17 00:00:00 2001 +From: Ole Reifschneider <tranquility@gentoo.org> +Date: Sat, 25 Apr 2015 22:22:09 +0200 +Subject: [PATCH 2/5] Make wayland support optional + +Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org> +Signed-off-by: Mart Raudsepp <leio@gentoo.org> +--- + configure.ac | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9566fb7..b47dbc8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -227,12 +227,21 @@ if test "x$have_udev" = xyes ; then + fi + AM_CONDITIONAL(HAVE_UDEV, [test "x$have_udev" = "xyes"]) + +-PKG_CHECK_MODULES(WAYLAND, gdk-wayland-3.0, have_wayland=yes, have_wayland=no) +-if test "x$have_wayland" = xyes ; then +- if test "x$have_udev" != xyes ; then +- AC_MSG_ERROR([udev is required for Wayland support]) +- fi +-fi ++AC_ARG_ENABLE( ++ [wayland], ++ AS_HELP_STRING([--disable-wayland], [disable wayland support]), ++ [], ++ enable_wayland=auto ++) ++ ++AS_IF([test "$enable_wayland" != "no"], ++ [ ++ AS_IF([test "x$have_udev" = xno], ++ [AC_MSG_ERROR([udev is required for Wayland support])], ++ [AC_DEFINE(HAVE_UDEV, 1, [System has udev])]) ++ ++ PKG_CHECK_MODULES(WAYLAND, gdk-wayland-3.0) ++]) + + # Panels that must be built on Linux systems + linux_error_or_warn() +-- +2.10.2 + diff --git a/gnome-base/gnome-control-center/files/3.24.2-optional.patch b/gnome-base/gnome-control-center/files/3.24.2-optional.patch new file mode 100644 index 000000000000..54e3f65f568e --- /dev/null +++ b/gnome-base/gnome-control-center/files/3.24.2-optional.patch @@ -0,0 +1,556 @@ +From c3b0d1123cae5a895452d2a8d75e663e76cbf5bd 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/5] Make bluetooth/colord/goa/kerberos/wacom optional + +Upstream is not interested in any part of this patch: + +https://bugzilla.gnome.org/686840 +https://bugzilla.gnome.org/697478 +https://bugzilla.gnome.org/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 11fc9fc..9566fb7 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 507cd2f..2806c45 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 ccb8017..bde4cdf 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 a33cee7..408359c 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 db4e69a..7677b58 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 2639148..977dab1 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 6af3199..f3e49c7 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 20ebb85..9104b45 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.10.2 + diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-gentoo-paths.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-gentoo-paths.patch new file mode 100644 index 000000000000..5d5af0d9717d --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-gentoo-paths.patch @@ -0,0 +1,120 @@ +From c093ce404bf9868980fe7b83d6aa2ab3ec7831e2 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Sun, 8 Dec 2013 23:44:56 +0100 +Subject: [PATCH 5/5] Fix some absolute paths to be appropriate for Gentoo + +Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org> +--- + panels/datetime/Makefile.am | 1 + + panels/datetime/test-endianess.c | 4 ++-- + panels/datetime/test-timezone.c | 2 +- + panels/datetime/tz.h | 4 ++-- + panels/printers/Makefile.am | 3 +++ + panels/printers/cc-printers-panel.c | 4 ++-- + panels/printers/pp-host.c | 2 +- + 7 files changed, 12 insertions(+), 8 deletions(-) + +diff --git a/panels/datetime/Makefile.am b/panels/datetime/Makefile.am +index 43523a6..d8d677d 100644 +--- a/panels/datetime/Makefile.am ++++ b/panels/datetime/Makefile.am +@@ -23,6 +23,7 @@ AM_CPPFLAGS = \ + $(DATETIME_PANEL_CFLAGS) \ + -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \ + -DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \ ++ -DREALDATADIR="\"$(datadir)\"" \ + $(NULL) + + # test-timezone is still too noisy +diff --git a/panels/datetime/test-endianess.c b/panels/datetime/test-endianess.c +index 06b2613..eb52bb6 100644 +--- a/panels/datetime/test-endianess.c ++++ b/panels/datetime/test-endianess.c +@@ -26,11 +26,11 @@ test_endianess (void) + GDir *dir; + const char *name; + +- dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL); ++ dir = g_dir_open (REALDATADIR "/i18n/locales/", 0, NULL); + if (dir == NULL) { + /* Try with /usr/share/locale/ + * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */ +- dir = g_dir_open ("/usr/share/locale/", 0, NULL); ++ dir = g_dir_open (REALDATADIR "/locale/", 0, NULL); + if (dir == NULL) { + g_assert_not_reached (); + } +diff --git a/panels/datetime/test-timezone.c b/panels/datetime/test-timezone.c +index db5c030..7ef5cef 100644 +--- a/panels/datetime/test-timezone.c ++++ b/panels/datetime/test-timezone.c +@@ -2,7 +2,7 @@ + #include <gtk/gtk.h> + #include "cc-timezone-map.h" + +-#define TZ_DIR "/usr/share/zoneinfo/" ++#define TZ_DIR REALDATADIR "/zoneinfo/" + + static GList * + get_timezone_list (GList *tzs, +diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h +index 93905b3..1ba918c 100644 +--- a/panels/datetime/tz.h ++++ b/panels/datetime/tz.h +@@ -28,9 +28,9 @@ + #include <glib.h> + + #ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" ++# define TZ_DATA_FILE REALDATADIR "/zoneinfo/zone.tab" + #else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" ++# define TZ_DATA_FILE REALDATADIR "/lib/zoneinfo/tab/zone_sun.tab" + #endif + + typedef struct _TzDB TzDB; +diff --git a/panels/printers/Makefile.am b/panels/printers/Makefile.am +index 512cda5..87726dd 100644 +--- a/panels/printers/Makefile.am ++++ b/panels/printers/Makefile.am +@@ -10,6 +10,9 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/shell/ \ + -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \ + -DTEST_SRCDIR=\""$(srcdir)/"\" \ ++ -DREALDATADIR="\"$(datadir)\"" \ ++ -DPREFIX="\"$(prefix)\"" \ ++ -DLIBEXECDIR="\"$(libexecdir)\"" \ + $(NULL) + + noinst_LTLIBRARIES = libprinters.la +diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c +index fb55608..a6dfb90 100644 +--- a/panels/printers/cc-printers-panel.c ++++ b/panels/printers/cc-printers-panel.c +@@ -2590,8 +2590,8 @@ test_page_cb (GtkButton *button, + + if (printer_name) + { +- const gchar *const dirs[] = { "/usr/share/cups", +- "/usr/local/share/cups", ++ const gchar *const dirs[] = { REALDATADIR "/cups", ++ PREFIX "/local/share/cups", + NULL }; + const gchar *datadir = NULL; + http_t *http = NULL; +diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c +index fbfb434..bd00518 100644 +--- a/panels/printers/pp-host.c ++++ b/panels/printers/pp-host.c +@@ -254,7 +254,7 @@ _pp_host_get_snmp_devices_thread (GSimpleAsyncResult *res, + data->devices->devices = NULL; + + argv = g_new0 (gchar *, 3); +- argv[0] = g_strdup ("/usr/lib/cups/backend/snmp"); ++ argv[0] = g_strdup (LIBEXECDIR "/cups/backend/snmp"); + argv[1] = g_strdup (priv->hostname); + + /* Use SNMP to get printer's informations */ +-- +2.10.1 + diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-keep-panels-optional.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-keep-panels-optional.patch new file mode 100644 index 000000000000..2bd4e0e0abe4 --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-keep-panels-optional.patch @@ -0,0 +1,40 @@ +From 0ee5e7191e62e6df9067fa5b0886d09952d4e315 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Mon, 11 May 2015 23:59:03 +0200 +Subject: [PATCH 3/5] Optional gotta be optional + +Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org> +--- + configure.ac | 16 ---------------- + 1 file changed, 16 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 140459c..fe947d7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -512,22 +512,6 @@ else + AC_MSG_RESULT(no) + fi + +-case $host_os in +- linux*) +- if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then +- # Nothing +- echo "USB-related panels disabled on S390" +- else +- if test "x$have_networkmanager" != "xyes" -o \ +- "x$have_bluetooth" != "xyes" -o \ +- "x$enable_cups" != "xyes" -o \ +- "x$have_wacom" != "xyes"; then +- AC_MSG_ERROR([The Network, Bluetooth, Printers and Wacom panels are not optional on Linux systems]) +- fi +- fi +- ;; +-esac +- + AC_CONFIG_FILES([ + Makefile + panels/Makefile +-- +2.10.1 + diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-make-networkmanager-optional.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-make-networkmanager-optional.patch new file mode 100644 index 000000000000..f4a7d3b8ea7f --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-make-networkmanager-optional.patch @@ -0,0 +1,67 @@ +From 1ad9510963dc634cb1805ca9e4726004130fc7e3 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Tue, 12 May 2015 00:32:11 +0200 +Subject: [PATCH 4/5] Make network panel optional + +Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org> +--- + configure.ac | 43 +++++++++++++++++++++++++------------------ + 1 file changed, 25 insertions(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fe947d7..6ecda91 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -241,24 +241,31 @@ AS_IF([test "$enable_wayland" != "no"], + PKG_CHECK_MODULES(WAYLAND, gdk-wayland-3.0) + ]) + +-PKG_CHECK_MODULES(NETWORK_MANAGER, +- libnm >= $NETWORK_MANAGER_REQUIRED_VERSION +- libnma >= $NETWORK_MANAGER_APPLET_REQUIRED_VERSION +- mm-glib >= $MODEM_MANAGER_REQUIRED_VERSION, +- [have_networkmanager=yes], have_networkmanager=no) +-if test "x$have_networkmanager" = xno ; then +- AC_MSG_WARN(*** Network panel will not be built (NetworkManager or ModemManager not found) ***) +-else +- AC_DEFINE(BUILD_NETWORK, 1, [Define to 1 to build the Network panel]) +-fi +-AM_CONDITIONAL(BUILD_NETWORK, [test x$have_networkmanager = xyes]) +-if test x${have_networkmanager} = xyes; then +- AC_DEFINE(HAVE_NETWORK_MANAGER, 1, [Define to 1 if NetworkManager is available]) +- NM_VPN_CONFIG_DIR=`$PKG_CONFIG --variable configdir NetworkManager`/VPN +- NM_VPN_MODULE_DIR=`$PKG_CONFIG --variable plugindir NetworkManager` +- AC_SUBST(NM_VPN_CONFIG_DIR) +- AC_SUBST(NM_VPN_MODULE_DIR) +-fi ++AC_ARG_ENABLE([networkmanager], ++ AS_HELP_STRING([--disable-networkmanager], [Disable network panel]), ++ [], ++ [enable_networkmanager=auto]) ++AS_IF([test "$enable_networkmanager" != "no"], ++ [ ++ PKG_CHECK_MODULES(NETWORK_MANAGER, ++ libnm >= $NETWORK_MANAGER_REQUIRED_VERSION ++ libnma >= $NETWORK_MANAGER_APPLET_REQUIRED_VERSION ++ mm-glib >= $MODEM_MANAGER_REQUIRED_VERSION, ++ [have_networkmanager=yes], [have_networkmanager=no]) ++ ++ AS_IF([test "$have_networkmanager" = "no"], ++ [ ++ AC_MSG_WARN([*** Network panel will not be built (NetworkManager or ModemManager not found) ***]) ++ ], [ ++ AC_DEFINE(BUILD_NETWORK, 1, [Define to 1 to build the Network panel]) ++ AC_DEFINE(HAVE_NETWORK_MANAGER, 1, [Define to 1 if NetworkManager is available]) ++ NM_VPN_CONFIG_DIR=`$PKG_CONFIG --variable configdir NetworkManager`/VPN ++ NM_VPN_MODULE_DIR=`$PKG_CONFIG --variable plugindir NetworkManager` ++ AC_SUBST([NM_VPN_CONFIG_DIR]) ++ AC_SUBST([NM_VPN_MODULE_DIR]) ++ ]) ++ ]) ++AM_CONDITIONAL(BUILD_NETWORK, [test "$have_networkmanager" = "yes"]) + + # Check for power panel + if test x${have_networkmanager} = xyes; then +-- +2.10.1 + diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-make-wayland-optional.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-make-wayland-optional.patch new file mode 100644 index 000000000000..2c06408d1a33 --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-make-wayland-optional.patch @@ -0,0 +1,45 @@ +From 09d1f1a057268a6acdfb42e7dcb2843c0066f542 Mon Sep 17 00:00:00 2001 +From: Ole Reifschneider <tranquility@gentoo.org> +Date: Sat, 25 Apr 2015 22:22:09 +0200 +Subject: [PATCH 2/5] Make wayland support optional + +Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org> +--- + configure.ac | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 19096f5..140459c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -225,12 +225,21 @@ if test "x$have_udev" = xyes ; then + fi + AM_CONDITIONAL(HAVE_UDEV, [test "x$have_udev" = "xyes"]) + +-PKG_CHECK_MODULES(WAYLAND, gdk-wayland-3.0, have_wayland=yes, have_wayland=no) +-if test "x$have_wayland" = xyes ; then +- if test "x$have_udev" != xyes ; then +- AC_MSG_ERROR([udev is required for Wayland support]) +- fi +-fi ++AC_ARG_ENABLE( ++ [wayland], ++ AS_HELP_STRING([--disable-wayland], [disable wayland support]), ++ [], ++ enable_wayland=auto ++) ++ ++AS_IF([test "$enable_wayland" != "no"], ++ [ ++ AS_IF([test "x$have_udev" = xno], ++ [AC_MSG_ERROR([udev is required for Wayland support])], ++ [AC_DEFINE(HAVE_UDEV, 1, [System has udev])]) ++ ++ PKG_CHECK_MODULES(WAYLAND, gdk-wayland-3.0) ++]) + + PKG_CHECK_MODULES(NETWORK_MANAGER, + libnm >= $NETWORK_MANAGER_REQUIRED_VERSION +-- +2.10.1 + diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-optional.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-optional.patch new file mode 100644 index 000000000000..02516ced7c94 --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.22.0-optional.patch @@ -0,0 +1,569 @@ +From 108d79460d42d5e8167ad52747628f9dfd21058d Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Wed, 2 Nov 2016 23:40:52 +0100 +Subject: [PATCH 1/5] 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> +--- + configure.ac | 185 +++++++++++++++++++++++--------- + 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, 196 insertions(+), 56 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1e07acd..19096f5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -119,10 +119,6 @@ LIBGD_INIT([_view-common notification 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 +@@ -140,12 +136,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) + PKG_CHECK_MODULES(PRIVACY_PANEL, $COMMON_MODULES) +@@ -220,15 +262,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]) +-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 smbclient + PKG_CHECK_MODULES(SMBCLIENT, smbclient, [have_smbclient=yes], [have_smbclient=no]) +@@ -301,38 +355,61 @@ fi + AM_CONDITIONAL(BUILD_CHEESE, test x${have_cheese} = xyes) + + # wacom is disabled for s390/s390x and non Linux platforms (needs udev) +-case $host_os in +- linux*) +- if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then +- have_wacom=no +- else +- 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]) +- fi +- ;; +- *) +- have_wacom=no +- ;; +-esac +-AM_CONDITIONAL(BUILD_WACOM, [test x${have_wacom} = xyes]) ++have_wacom=no ++AS_CASE([$host_os], ++ [linux*], ++ [AS_IF([test "$host_cpu" = "s390" -o "$host_cpu" = "s390x"], ++ [have_wacom=no], ++ [ ++ AC_ARG_ENABLE([wacom], ++ AS_HELP_STRING([--disable-wacom], ++ [disable wacom management panel]), ++ [], ++ [enable_wacom=yes]) ++ AS_IF([test "$enable_wacom" = "yes"], ++ [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 ++ AS_IF([test "$enable_wacom" = "yes"], ++ [AC_MSG_ERROR([wacom support requested but not found])]) ++ ]) ++ ]) ++ ]) ++ ], ++ [have_wacom=no]) ++AM_CONDITIONAL(BUILD_WACOM, [test "$have_wacom" = "yes"]) + + # 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) +@@ -569,6 +646,11 @@ 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$enable_cups" = "xyes"; then + AC_MSG_NOTICE([** CUPS (Printers panel)]) + else +@@ -579,6 +661,11 @@ if test "x$have_cheese" = "xyes"; then + 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 9961c25..0c54622 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 \ +@@ -18,6 +16,10 @@ SUBDIRS= \ + privacy \ + sharing + ++if BUILD_COLOR ++SUBDIRS += color ++endif ++ + if BUILD_WACOM + SUBDIRS += wacom + endif +@@ -34,4 +36,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 ccb8017..bde4cdf 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 a33cee7..408359c 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 db4e69a..7677b58 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 8a0a0e6..22c6b94 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 45f6363..b76f343 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 \ +@@ -111,6 +109,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 03dbfb1..a713079 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); + #ifdef BUILD_PRINTERS + extern GType cc_printers_panel_get_type (void); +@@ -77,7 +81,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 ), +@@ -87,7 +93,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 ), + #ifdef BUILD_PRINTERS + PANEL_TYPE("printers", cc_printers_panel_get_type ), +-- +2.10.1 + |