summaryrefslogtreecommitdiff
path: root/gnome-base/gnome-control-center/files/3.24.2-optional-cups.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-base/gnome-control-center/files/3.24.2-optional-cups.patch')
-rw-r--r--gnome-base/gnome-control-center/files/3.24.2-optional-cups.patch196
1 files changed, 196 insertions, 0 deletions
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
+