summaryrefslogtreecommitdiff
path: root/gnome-base/gnome-settings-daemon
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /gnome-base/gnome-settings-daemon
reinit the tree, so we can have metadata
Diffstat (limited to 'gnome-base/gnome-settings-daemon')
-rw-r--r--gnome-base/gnome-settings-daemon/Manifest15
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.22.2-udevrulesdir-configure.patch48
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.24.2-optional.patch145
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.24.2-reduce-memory-usage.patch177
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.24.2-remove-unneeded-gtk-init.patch77
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.24.2-udevrulesdir-configure.patch48
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.24.3-fix-wayland-build.patch53
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.24.3-optional.patch169
-rw-r--r--gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.22.0-optional.patch111
-rw-r--r--gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.22.2-r1.ebuild149
-rw-r--r--gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.24.3.ebuild161
-rw-r--r--gnome-base/gnome-settings-daemon/metadata.xml16
12 files changed, 1169 insertions, 0 deletions
diff --git a/gnome-base/gnome-settings-daemon/Manifest b/gnome-base/gnome-settings-daemon/Manifest
new file mode 100644
index 000000000000..9a6145d2639a
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/Manifest
@@ -0,0 +1,15 @@
+AUX 3.22.2-udevrulesdir-configure.patch 1858 SHA256 782b0514b340f8784718a7faa8e0101439df78e450a1538be0a06740930bb85b SHA512 f2435821bedcf8858c7017053ce0a55591d75da741ee00a1ba54ce70ab6839fe34183425d07a0ebf6ceb18051bdc4d21dd3027b893acfb8eecf05d02d826a020 WHIRLPOOL a38928768044da08bc8afda966d588b5a1edb69bc512ef17f88e86424411bcd04afc4600a65f9017c3facdb924d0b853223d89ad2bc7e1b9be51c62ab6492c4d
+AUX 3.24.2-optional.patch 4458 SHA256 f25b04306b261df7b3dad8017762bbf7bf37592f9b16dcb9c872ddcc74d54a8e SHA512 f413f6697dc939fd9c28bd0297cdd04b7642c8cd8c078ecc7b99447d2fe3685e1247f96a318077becbc55db67adf594aef238b11167b19c84412c8e619884eae WHIRLPOOL 47723e658526bda65f5ad07035a094fec71d145186e519b6ed45522566a7fdcb03dcb87564f2f9360fcbfc491598d8af385b6dcce0be48f1a8bbbaa9b1be0410
+AUX 3.24.2-reduce-memory-usage.patch 6121 SHA256 134ad864967d235285ffabfcec8be3da6682b2f8c41865d768c8db39fd9edcf9 SHA512 c6b172e171461d79f2dfc37b26a0f17a44b2bba0ce6392053129a9137b76c35956d9ab88e22e111d2613c0ff6ee2affc87756c8e0c4fd28d928d948feebd2a41 WHIRLPOOL 80bfb12f43c5d0fb3afe24546fe4d4145e0b016aa722f4f97fdd3d3e16b84b9bebe52a1af102abed29fe83e0acd47bbf210ad0926873617a1b1c9776261c7428
+AUX 3.24.2-remove-unneeded-gtk-init.patch 2101 SHA256 d35369d941630890c646a551d9909a492587825797e0a8412f9ade64562ba4b3 SHA512 6da74748bbee31bb2b98ba090927c0e787552cabe2ef028781f3e12ccf9b444bf41480f561a307cc71777efaca23ce2f65e2ebb559a33b6a0d9a4270e9da5016 WHIRLPOOL 6f8fed9f64f2892063f314062c0c4fcecb767dfaf9c951ecb06c3bb8c50dc2bfc82d8ffaeb5a3556777e86ac53f072dec1a5ecbad53f3a59501366bfdaee39df
+AUX 3.24.2-udevrulesdir-configure.patch 1918 SHA256 8806dc4eaad81fb9484bac819d41aeb8ad5cad6bd9d97ee17feda601c28a8c34 SHA512 4d30c85add1c667a4c2fd712c7bf208f358a9313baf29172407eab4236817c86b30d8fca0141541abf8ff0ccd09f51065ceee12a2dbb39827d4facac255c8564 WHIRLPOOL bca5dd46e2a77126814c568f21276c84322ca85d8aa10130c99800dca7dd8f3e5f689b7875834140ea0ac5d2a62639f7a7badab915d7b02ddad5c28d5010868e
+AUX 3.24.3-fix-wayland-build.patch 1836 SHA256 4e7466dbcc105931fb9f080f25a5bcb32b1791c4da72ecd1045d7199512e63e6 SHA512 edf8bcea8fa705cc0a212c1523ebc948751aba61fd2060245439fbf9825b2416bb79c35b1873b49deddb77eff21ee41644e2c6bf311f88607343227ca3526193 WHIRLPOOL f5c97c66ee4f44b2f111e15c041dbc429a609e993f0c2507f21538ce74221e0b1cbfb7f0a499a510eab2e6141862178327e47ea8b13164d02a3055c186879d5a
+AUX 3.24.3-optional.patch 5311 SHA256 1f8c2f03bc9818ae34f0069595954ddf7bf4ac69b1e67ecc8d08e6f31ace1661 SHA512 a466e658f5c02070620aaf6b96f1c2516664d20092ba555f5fa3cd01e5738e79ba4418062380923401c9e8b7b52478b3468335100757babe4326102d55eb4717 WHIRLPOOL 67ee624a8e9426bf0564a459b328cf17c8c817da99a6338780a28e0df1995fe7568d3b6e007ce48a8121fba1b8db3dacf6df36a7951fc49ff6ea6f6d0a9685c6
+AUX gnome-settings-daemon-3.22.0-optional.patch 4101 SHA256 0deeb95d05dd494b75b60299c77ecbc630adee0ef183fa805dd6cfc057d3884c SHA512 0f064dd2ea491f725eca74e2efe9534459719f8bccd8ba03f381a6f4979624c157ef299b805a38fcd11244232eeb66fb7074f57d0803b0781e458b5a47bfe765 WHIRLPOOL 1a3fbd3df9eeeed10f742fe281b32888509d9cb8fbf819e93286cf7e951fb9c97a1783c288d9caf623be3e632fe316256d9223fbb00657cbd3c66d7d73fbaca6
+DIST gnome-settings-daemon-3.22.2.tar.xz 1657132 SHA256 0a1c1f9bce59a86617c45f77bd9cb99c6db38b96678a89d7ad2ab6b7bc6a1a01 SHA512 7bbeb0b50d178bf951f5a8375703f3e2e88b7c5082ec7394df1f277dd08059e616118e003db23dcc175b92d803924b3927326d10a2101b7923dfb0e980d277e3 WHIRLPOOL edae1afc97a314f3d90c7d77d9a456e74e9fe9059353e15a5a9b8318c32d2ebad792e7c9b7acaf54a8f3ea11a5de629f06d7bdb9cb3d5bff4f0621fe6a50683a
+DIST gnome-settings-daemon-3.24.3.tar.xz 1583044 SHA256 68c46038bc32b7cbe933cc24fa9f1eb96127d9900c07627767ab0a802f948593 SHA512 2450c3bb31746fe4883f194094cf79e94207e74d39c992107244d89f36c3ea373a33a2dca4a55af138f03fb4abd8733da4bacb215e2202bbc0976b566f8529a6 WHIRLPOOL 90fa96f9e1c641a63ba4eac2160f6fbc141f31009eaa93be7a4d3737d086553bb5f3fec7a75c32c2e9a364071216a36c578948f60d89867b6e12f8d12948dab4
+EBUILD gnome-settings-daemon-3.22.2-r1.ebuild 4185 SHA256 b4ff8bf3680f50b9b3cd318c1e4a7d7d677e800a36b7980362006a0f6f0325f9 SHA512 676d36c8d9bd465792a1e1cb911ad727d4e6d00458507cb083a266f4e6bb8b2ca7a8c6a92247eeec152d77f78f6af6555a9c89ad8d150d54809e5b8b948c1ac4 WHIRLPOOL 856c33368daab6004a1686c083bb35b65d7e811feb059b040881753d98e11dee3386b0e0d8e966f7c4221a7bfc24aedd78b700d936392f032c801eced14fc31a
+EBUILD gnome-settings-daemon-3.24.3.ebuild 4924 SHA256 97296f6a0a978308e2fe6387975f8d408fa6e2e83efa0dee3be18034df02062d SHA512 3094c9e2b3f2c87d05f50ae3d8bf8a8c2da8cf47f79ee6a5c21f2776f721c220bb0410fa15d6814353857c278b8a38831fda863a3452fda0fa6aa8ccfdc5bb4d WHIRLPOOL a4ce06dbb355e374678c100084e18130d5dfeba08e655ffc5135afaae8e94625c22cf07ff90b664592311e61a4ad09ae6a3500e5329ff038942e7a4dfdbcc462
+MISC ChangeLog 7906 SHA256 fd75c6d961bce9c5b623311df153d57b7c1cbf09287ae45ac922545d11edae63 SHA512 c77e1e9f8b1ebbdd1357ee20360755d1c23f0524a0b28caf9be5f980c63f9283dd044290b41a44ccab907c85ec42592ae49de9de82edd1a3e5b936654bc814a6 WHIRLPOOL f55f257163bbeac19986c04e906ebc1e642b3452b15efda85733b60185644033d93511f969bab8a2317250ef0d2ea78cc48dff5d2f89d0b36c69671730b68889
+MISC ChangeLog-2015 32547 SHA256 800f750df17f8720f31b334e915d3c7a6b1f0c380d58dae080f63fca041df240 SHA512 0f0df6deea852f19bfa168d48960c861a897b2e216a04d17b1afaee0ee4d75b5ebf784b046ecb442be8ef121cbbb44db2ec946264de4f40506deb61202c48867 WHIRLPOOL e83557121b98fad4f5a7a4c4f800eacc053b4d854f8b0b4522ba5815256318c9150f5794ba94cd3196628be386cec373e739f0e324372f31152daade418ef6a8
+MISC metadata.xml 591 SHA256 db444b7a20a1714e29ea75adfc53363e4505555215065b2259ecba9e42abe374 SHA512 8cd323d8cfa69cb2630805fca3cffcf373980ea9da041e5088dc6cef83acf4b001dead2cce394e41f0d57152b4b0f06498918d54324367941049f4cf180be96a WHIRLPOOL 05235372b0d25cb7afdac8914de41c45b9e88375d7ad8723c6d0f3590c0fa4471e2bc1827ae04b161ef3ac9ac1862dab9bb529a6e1d07ea8ff3157fef809f594
diff --git a/gnome-base/gnome-settings-daemon/files/3.22.2-udevrulesdir-configure.patch b/gnome-base/gnome-settings-daemon/files/3.22.2-udevrulesdir-configure.patch
new file mode 100644
index 000000000000..d0436ecdc6e1
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.22.2-udevrulesdir-configure.patch
@@ -0,0 +1,48 @@
+From 19394974869513ab4a98d72593dce18f08105983 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Tue, 21 Mar 2017 01:30:52 +0200
+Subject: [PATCH] build: Get udevrulesdir from pkg-config
+
+Use the standard way to find the udev rules directory via pkg-config by default,
+and support specifying it, should it be necessary.
+This is the same logic as in colord.
+---
+ configure.ac | 9 +++++++++
+ plugins/rfkill/Makefile.am | 1 -
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8d4f5cb..5390404 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -135,6 +135,15 @@ fi
+ AM_CONDITIONAL(HAVE_GUDEV, test x$have_gudev = xyes)
+
+ dnl ---------------------------------------------------------------------------
++dnl - Where to install udev rules
++dnl ---------------------------------------------------------------------------
++AC_ARG_WITH([udevrulesdir],
++ AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules files]),
++ [],
++ [with_udevrulesdir=$($PKG_CONFIG --variable=udevdir udev)/rules.d])
++AC_SUBST([udevrulesdir], [$with_udevrulesdir])
++
++dnl ---------------------------------------------------------------------------
+ dnl - ALSA integration (default enabled)
+ dnl ---------------------------------------------------------------------------
+ ALSA_PKG=""
+diff --git a/plugins/rfkill/Makefile.am b/plugins/rfkill/Makefile.am
+index fed7adc..05f2c78 100644
+--- a/plugins/rfkill/Makefile.am
++++ b/plugins/rfkill/Makefile.am
+@@ -59,7 +59,6 @@ plugin_in_files = rfkill.gnome-settings-plugin.in
+
+ plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
+
+-udevrulesdir = $(prefix)/lib/udev/rules.d
+ udevrules_DATA = 61-gnome-settings-daemon-rfkill.rules
+
+ EXTRA_DIST = $(plugin_in_files) $(udevrules_DATA)
+--
+2.10.1
+
diff --git a/gnome-base/gnome-settings-daemon/files/3.24.2-optional.patch b/gnome-base/gnome-settings-daemon/files/3.24.2-optional.patch
new file mode 100644
index 000000000000..64c47a92e3f0
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.24.2-optional.patch
@@ -0,0 +1,145 @@
+From 22f6a45b665e604f874e82a817d45bb976d8c5ae Mon Sep 17 00:00:00 2001
+From: Timo Tambet <ttambet@gmail.com>
+Date: Sat, 25 Feb 2017 14:48:19 +0200
+Subject: [PATCH 1/1] [PATCH] Make colord and wacom support optional
+
+---
+ configure.ac | 56 +++++++++++++++++++++++++++++++----------------
+ plugins/Makefile.am | 9 ++++++--
+ plugins/dummy/Makefile.am | 5 ++++-
+ 3 files changed, 48 insertions(+), 22 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0d169c8f..792195aa 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -158,13 +158,23 @@ PKG_CHECK_MODULES(CLIPBOARD,
+ gtk+-x11-3.0
+ x11)
+
+-PKG_CHECK_MODULES(COLOR,
+- colord >= 1.0.2
+- gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
+- libcanberra-gtk3
+- libgeoclue-2.0 >= $GEOCLUE_REQUIRED_VERSION
+- lcms2 >= $LCMS_REQUIRED_VERSION
+- libnotify)
++AC_ARG_ENABLE([color],
++ AS_HELP_STRING([--disable-color],
++ [turn off color plugin]),
++ [],
++ [enable_color=yes])
++
++AS_IF([test "$enable_color" = "yes"],
++ [PKG_CHECK_MODULES(COLOR,
++ colord >= 1.0.2
++ gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
++ libcanberra-gtk3
++ libgeoclue-2.0 >= $GEOCLUE_REQUIRED_VERSION
++ lcms2 >= $LCMS_REQUIRED_VERSION
++ libnotify)
++ AC_DEFINE(HAVE_COLOR, 1, [Define if color plugin is enabled])
++ ])
++AM_CONDITIONAL(BUILD_COLOR, test "x$enable_color" = "xyes")
+
+ PKG_CHECK_MODULES(DATETIME,
+ libnotify >= $LIBNOTIFY_REQUIRED_VERSION
+@@ -268,23 +278,31 @@ case $host_os in
+ if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
+ have_wacom=no
+ else
+- if test x$enable_gudev != xno; then
+- LIBWACOM_PKG="libwacom >= $LIBWACOM_REQUIRED_VERSION"
+- PKG_CHECK_MODULES(LIBWACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION])
+- PKG_CHECK_MODULES(WACOM, [gtk+-3.0 pango >= $PANGO_REQUIRED_VERSION])
+- PKG_CHECK_MODULES(WACOM_OLED, [gudev-1.0])
+- else
++ have_wacom=no
++ AS_IF([test "$enable_gudev" != "no"],
++ [AC_ARG_ENABLE([wacom],
++ AS_HELP_STRING([--disable-wacom],
++ [turn off wacom plugin]),
++ [],
++ [enable_wacom=no]) dnl Default value
++ AS_IF([test "$enable_wacom" = "xyes"],
++ [
++ PKG_CHECK_MODULES(LIBWACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION])
++ PKG_CHECK_MODULES(WACOM, [gtk+-3.0, pango >= $PANGO_REQUIRED_VERSION])
++ PKG_CHECK_MODULES(WACOM_OLED, [gudev-1.0])
++ have_wacom=yes
++ AC_DEFINE_UNQUOTED(HAVE_WACOM, 1, [Define to 1 if wacom support is available])
++ ])
++ ], [
+ AC_MSG_ERROR([GUdev is necessary to compile Wacom support])
+- fi
+- AC_DEFINE_UNQUOTED(HAVE_WACOM, 1, [Define to 1 if wacom support is available])
+- have_wacom=yes
++ ])
+ fi
+ ;;
+ *)
+- have_wacom=no
+- ;;
++ have_wacom=no
++ ;;
+ esac
+-AM_CONDITIONAL(HAVE_WACOM, test x$have_wacom = xyes)
++AM_CONDITIONAL(BUILD_WACOM, test x$have_wacom = xyes)
+
+ dnl ---------------------------------------------------------------------------
+ dnl - common
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 9324b406..ee78d6d0 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -4,7 +4,6 @@ enabled_plugins = \
+ a11y-keyboard \
+ a11y-settings \
+ clipboard \
+- color \
+ datetime \
+ dummy \
+ power \
+@@ -22,13 +21,19 @@ enabled_plugins = \
+
+ disabled_plugins = $(NULL)
+
++if BUILD_COLOR
++enabled_plugins += color
++else
++disabled_plugins += color
++endif
++
+ if SMARTCARD_SUPPORT
+ enabled_plugins += smartcard
+ else
+ disabled_plugins += smartcard
+ endif
+
+-if HAVE_WACOM
++if BUILD_WACOM
+ enabled_plugins += wacom
+ else
+ disabled_plugins += wacom
+diff --git a/plugins/dummy/Makefile.am b/plugins/dummy/Makefile.am
+index cb5856cf..06ac595a 100644
+--- a/plugins/dummy/Makefile.am
++++ b/plugins/dummy/Makefile.am
+@@ -22,10 +22,13 @@ gsd_dummy_LDADD = $(DUMMY_LIBS) $(top_builddir)/gnome-settings-daemon/libgsd.la
+ desktopdir = $(sysconfdir)/xdg/autostart
+
+ desktop_DATA =
++if !BUILD_COLOR
++desktop_DATA += org.gnome.SettingsDaemon.Color.desktop
++endif
+ if !SMARTCARD_SUPPORT
+ desktop_DATA += org.gnome.SettingsDaemon.Smartcard.desktop
+ endif
+-if !HAVE_WACOM
++if !BUILD_WACOM
+ desktop_DATA += org.gnome.SettingsDaemon.Wacom.desktop
+ endif
+ if !BUILD_PRINT_NOTIFICATIONS
+--
+2.11.1
+
diff --git a/gnome-base/gnome-settings-daemon/files/3.24.2-reduce-memory-usage.patch b/gnome-base/gnome-settings-daemon/files/3.24.2-reduce-memory-usage.patch
new file mode 100644
index 000000000000..9e683b06d3ba
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.24.2-reduce-memory-usage.patch
@@ -0,0 +1,177 @@
+From 386f456eda7a027dfc706ebb675602d6f067f5c6 Mon Sep 17 00:00:00 2001
+From: Christian Hergert <chergert@redhat.com>
+Date: Mon, 27 Mar 2017 00:17:59 -0700
+Subject: [PATCH 5/5] common: avoid loading Adwaita CSS theme into memory
+
+The various Gtk programs are not dependent on any specific theme being
+loaded. Therefore, the parsing the Adwaita CSS theme (which is quite a
+detailed theme) is unnecessary and a few MB of overhead to each gsd
+subprocess.
+
+By setting the GTK_THEME environment variable in main() and providing an
+alternate CSS file (which is empty), we can force Gtk to never load the
+default theme, but instead our empty theme. This is important as otherwise
+GtkSettings can force-load Adwaita upon first use, and that fragments the
+heap.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780555
+---
+ configure.ac | 1 +
+ plugins/common/Makefile.am | 10 ++++++++++
+ plugins/common/Makefile.am.gresources | 34 ++++++++++++++++++++++++++++++++++
+ plugins/common/daemon-skeleton-gtk.h | 28 ++++++++++++++++++++++++++++
+ plugins/common/gsd.gresources.xml | 6 ++++++
+ plugins/common/gtk.css | 0
+ 6 files changed, 79 insertions(+)
+ create mode 100644 plugins/common/Makefile.am.gresources
+ create mode 100644 plugins/common/gsd.gresources.xml
+ create mode 100644 plugins/common/gtk.css
+
+diff --git a/configure.ac b/configure.ac
+index 475821d..df86831 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,6 +73,7 @@ AC_SUBST([GSD_PLUGIN_LDFLAGS])
+
+ AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
+ AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
++AC_PATH_PROG([GLIB_COMPILE_RESOURCES], [glib-compile-resources])
+
+ LT_LIB_M
+ AC_SUBST(LIBM)
+diff --git a/plugins/common/Makefile.am b/plugins/common/Makefile.am
+index 239c601..706be12 100644
+--- a/plugins/common/Makefile.am
++++ b/plugins/common/Makefile.am
+@@ -33,6 +33,8 @@ libcommon_la_SOURCES = \
+ gsd-device-mapper.h \
+ gsd-input-helper.c \
+ gsd-input-helper.h \
++ gsd-resources.c \
++ gsd-resources.h \
+ gsd-settings-migrate.c \
+ gsd-settings-migrate.h \
+ gsd-shell-helper.c \
+@@ -68,3 +70,11 @@ EXTRA_DIST = $(scripts_DATA) daemon-skeleton.h daemon-skeleton-gtk.h
+
+ CLEANFILES = \
+ $(GSD_COMMON_ENUM_FILES)
++
++DISTCLEANFILES =
++
++glib_resources_c = gsd-resources.c
++glib_resources_h = gsd-resources.h
++glib_resources_xml = gsd.gresources.xml
++glib_resources_namespace = gsd
++include Makefile.am.gresources
+diff --git a/plugins/common/Makefile.am.gresources b/plugins/common/Makefile.am.gresources
+new file mode 100644
+index 0000000..1441d0e
+--- /dev/null
++++ b/plugins/common/Makefile.am.gresources
+@@ -0,0 +1,34 @@
++resources_xml=$(addprefix $(srcdir)/,$(glib_resources_xml))
++resources_srcdir=$(dir $(resources_xml))
++
++DISTCLEANFILES += $(glib_resources_h) $(glib_resources_c)
++BUILT_SOURCES += $(glib_resources_h) $(glib_resources_c)
++CLEANFILES += stamp-resources $(glib_resources_c) $(glib_resources_h)
++EXTRA_DIST += \
++ $(glib_resources_xml) \
++ $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(resources_srcdir) --generate-dependencies $(resources_xml)) \
++ $(NULL)
++
++stamp-resources: $(glib_resources_c) $(resources_xml)
++ $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) \
++ --target=xgen-gr.h \
++ --sourcedir=$(resources_srcdir) \
++ --generate-header \
++ --c-name $(glib_resources_namespace) \
++ $(resources_xml) \
++ && (cmp -s xgen-gr.h $(glib_resources_h) || cp -f xgen-gr.h $(glib_resources_h)) \
++ && rm -f xgen-gr.h \
++ && echo timestamp > $(@F)
++
++$(glib_resources_h): stamp-resources
++ @true
++
++$(glib_resources_c): $(resources_xml) $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(resources_srcdir) --generate-dependencies $(resources_xml))
++ $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) \
++ --target=xgen-gr.c \
++ --sourcedir=$(resources_srcdir) \
++ --generate-source \
++ --c-name $(glib_resources_namespace) \
++ $(resources_xml) \
++ && (cmp -s xgen-gr.c $(glib_resources_c) || cp -f xgen-gr.c $(glib_resources_c)) \
++ && rm -f xgen-gr.c
+diff --git a/plugins/common/daemon-skeleton-gtk.h b/plugins/common/daemon-skeleton-gtk.h
+index 3bfd618..3ba0422 100644
+--- a/plugins/common/daemon-skeleton-gtk.h
++++ b/plugins/common/daemon-skeleton-gtk.h
+@@ -163,6 +163,30 @@ register_with_gnome_session (void)
+ NULL);
+ }
+
++static void
++set_empty_gtk_theme (gboolean set)
++{
++ static char *old_gtk_theme = NULL;
++
++ if (set) {
++ /* Override GTK_THEME to reduce overhead of CSS engine. By using
++ * GTK_THEME environment variable, GtkSettings is not allowed to
++ * initially parse the Adwaita theme.
++ *
++ * https://bugzilla.gnome.org/show_bug.cgi?id=780555 */
++ old_gtk_theme = g_strdup (g_getenv ("GTK_THEME"));
++ g_setenv ("GTK_THEME", "Disabled", TRUE);
++ } else {
++ /* GtkSettings has loaded, so we can drop GTK_THEME used to initialize
++ * our internal theme. Only the main thread accesses the GTK_THEME
++ * environment variable, so this is safe to release. */
++ if (old_gtk_theme != NULL)
++ g_setenv ("GTK_THEME", old_gtk_theme, TRUE);
++ else
++ g_unsetenv ("GTK_THEME");
++ }
++}
++
+ int
+ main (int argc, char **argv)
+ {
+@@ -172,6 +196,8 @@ main (int argc, char **argv)
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+
++ set_empty_gtk_theme (TRUE);
++
+ /* Work around https://bugzilla.gnome.org/show_bug.cgi?id=674885 */
+ g_type_ensure (G_TYPE_DBUS_CONNECTION);
+ g_type_ensure (G_TYPE_DBUS_PROXY);
+@@ -187,6 +213,8 @@ main (int argc, char **argv)
+ exit (1);
+ }
+
++ set_empty_gtk_theme (FALSE);
++
+ if (verbose)
+ g_setenv ("G_MESSAGES_DEBUG", "all", TRUE);
+
+diff --git a/plugins/common/gsd.gresources.xml b/plugins/common/gsd.gresources.xml
+new file mode 100644
+index 0000000..e4ac1cd
+--- /dev/null
++++ b/plugins/common/gsd.gresources.xml
+@@ -0,0 +1,6 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<gresources>
++ <gresource prefix="/org/gtk/libgtk/theme/Disabled">
++ <file>gtk.css</file>
++ </gresource>
++</gresources>
+diff --git a/plugins/common/gtk.css b/plugins/common/gtk.css
+new file mode 100644
+index 0000000..e69de29
+--
+2.10.2
+
diff --git a/gnome-base/gnome-settings-daemon/files/3.24.2-remove-unneeded-gtk-init.patch b/gnome-base/gnome-settings-daemon/files/3.24.2-remove-unneeded-gtk-init.patch
new file mode 100644
index 000000000000..e47ba34c60dc
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.24.2-remove-unneeded-gtk-init.patch
@@ -0,0 +1,77 @@
+From b567ec92d5b3004ad52fa02fb02990fcafb63373 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Mon, 27 Mar 2017 18:47:54 +0200
+Subject: [PATCH 1/3] housekeeping: Don't init GTK+
+
+We don't use it.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780555
+---
+ plugins/housekeeping/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/housekeeping/main.c b/plugins/housekeeping/main.c
+index 5ccd83d..89c12f7 100644
+--- a/plugins/housekeeping/main.c
++++ b/plugins/housekeeping/main.c
+@@ -4,4 +4,4 @@
+ #define MANAGER GsdHousekeepingManager
+ #include "gsd-housekeeping-manager.h"
+
+-#include "daemon-skeleton-gtk.h"
++#include "daemon-skeleton.h"
+--
+2.10.2
+
+
+From 92d45cd2ce2c4f252db21993f30777433ed84623 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Mon, 27 Mar 2017 18:49:35 +0200
+Subject: [PATCH 2/3] print-notifications: Don't init GTK+
+
+We don't use it.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780555
+---
+ plugins/print-notifications/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/print-notifications/main.c b/plugins/print-notifications/main.c
+index 57155d0..a0dd406 100644
+--- a/plugins/print-notifications/main.c
++++ b/plugins/print-notifications/main.c
+@@ -4,4 +4,4 @@
+ #define MANAGER GsdPrintNotificationsManager
+ #include "gsd-print-notifications-manager.h"
+
+-#include "daemon-skeleton-gtk.h"
++#include "daemon-skeleton.h"
+--
+2.10.2
+
+
+From e7e4b2145efebf132f1398da77790849becd7f6b Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Mon, 27 Mar 2017 18:50:01 +0200
+Subject: [PATCH 3/3] wacom: Don't init GTK+
+
+We don't use it.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=780555
+---
+ plugins/wacom/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/wacom/main.c b/plugins/wacom/main.c
+index a19a71b..ad1367c 100644
+--- a/plugins/wacom/main.c
++++ b/plugins/wacom/main.c
+@@ -4,4 +4,4 @@
+ #define MANAGER GsdWacomManager
+ #include "gsd-wacom-manager.h"
+
+-#include "daemon-skeleton-gtk.h"
++#include "daemon-skeleton.h"
+--
+2.10.2
+
diff --git a/gnome-base/gnome-settings-daemon/files/3.24.2-udevrulesdir-configure.patch b/gnome-base/gnome-settings-daemon/files/3.24.2-udevrulesdir-configure.patch
new file mode 100644
index 000000000000..16988f945d21
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.24.2-udevrulesdir-configure.patch
@@ -0,0 +1,48 @@
+From 04d399edc26bfa44d6053aba929e0776a193cea8 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Mon, 29 May 2017 00:38:57 +0300
+Subject: [PATCH 1/5] build: Get udevrulesdir from pkg-config
+
+Use the standard way to find the udev rules directory via pkg-config by default,
+and support specifying it, should it be necessary.
+This is the same logic as in colord.
+---
+ configure.ac | 9 +++++++++
+ plugins/rfkill/Makefile.am | 1 -
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1107578..475821d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -104,6 +104,15 @@ fi
+ AM_CONDITIONAL(HAVE_GUDEV, test x$have_gudev = xyes)
+
+ dnl ---------------------------------------------------------------------------
++dnl - Where to install udev rules
++dnl ---------------------------------------------------------------------------
++AC_ARG_WITH([udevrulesdir],
++ AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules files]),
++ [],
++ [with_udevrulesdir=$($PKG_CONFIG --variable=udevdir udev)/rules.d])
++AC_SUBST([udevrulesdir], [$with_udevrulesdir])
++
++dnl ---------------------------------------------------------------------------
+ dnl - ALSA integration (default enabled)
+ dnl ---------------------------------------------------------------------------
+ ALSA_PKG=""
+diff --git a/plugins/rfkill/Makefile.am b/plugins/rfkill/Makefile.am
+index 3c5ec47..bfc34c6 100644
+--- a/plugins/rfkill/Makefile.am
++++ b/plugins/rfkill/Makefile.am
+@@ -30,7 +30,6 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+ org.gnome.SettingsDaemon.Rfkill.desktop: $(desktop_in_files) Makefile
+ $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+-udevrulesdir = $(prefix)/lib/udev/rules.d
+ udevrules_DATA = 61-gnome-settings-daemon-rfkill.rules
+
+ EXTRA_DIST = $(udevrules_DATA) $(desktop_in_files)
+--
+2.10.2
+
diff --git a/gnome-base/gnome-settings-daemon/files/3.24.3-fix-wayland-build.patch b/gnome-base/gnome-settings-daemon/files/3.24.3-fix-wayland-build.patch
new file mode 100644
index 000000000000..4a06889aaa23
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.24.3-fix-wayland-build.patch
@@ -0,0 +1,53 @@
+From 58403ad7677d98fbb14b020dc4d15c52a695496e Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Fri, 18 Aug 2017 09:42:56 +0200
+Subject: [PATCH] Fix build issue when gudev is detected in the absence of
+ wayland
+
+See https://bugs.gentoo.org/show_bug.cgi?id=627966
+---
+ configure.ac | 5 +++++
+ plugins/common/Makefile.am | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 908b3a3a..c89d5e2d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -140,15 +140,20 @@ AC_ARG_ENABLE(wayland,
+ AS_HELP_STRING([--disable-wayland],[Disable wayland support (default: auto)]),
+ enable_wayland=$enableval, enable_wayland=auto)
+ if test x$enable_wayland != xno; then
++ AS_IF([test "$have_udev" = no],
++ [AC_MSG_ERROR([udev is required for Wayland support])])
++
+ PKG_CHECK_MODULES(WAYLAND, wayland-client, have_wayland=yes, have_wayland=no)
+ if test x$have_wayland = xyes; then
+ AC_DEFINE(HAVE_WAYLAND, 1, [Define if libwayland-client is available])
++ GUDEV_PKG="$GUDEV_PKG gdk-wayland-3.0"
+ else
+ if test x$enable_wayland = xyes; then
+ AC_MSG_ERROR([Wayland enabled but not found])
+ fi
+ fi
+ fi
++AM_CONDITIONAL(HAVE_WAYLAND, test x$have_wayland = xyes)
+
+ dnl ================================================================
+ dnl Plugins
+diff --git a/plugins/common/Makefile.am b/plugins/common/Makefile.am
+index 107e4d3b..760f3198 100644
+--- a/plugins/common/Makefile.am
++++ b/plugins/common/Makefile.am
+@@ -40,7 +40,7 @@ libcommon_la_SOURCES = \
+ gsd-shell-helper.c \
+ gsd-shell-helper.h
+
+-if HAVE_GUDEV
++if HAVE_WAYLAND
+ libcommon_la_SOURCES += \
+ gsd-device-manager-udev.c \
+ gsd-device-manager-udev.h
+--
+2.14.1
+
diff --git a/gnome-base/gnome-settings-daemon/files/3.24.3-optional.patch b/gnome-base/gnome-settings-daemon/files/3.24.3-optional.patch
new file mode 100644
index 000000000000..608784c43bb4
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.24.3-optional.patch
@@ -0,0 +1,169 @@
+From 9116667b39f7a3ef622b0fd4e09ffa77718fa5c2 Mon Sep 17 00:00:00 2001
+From: Ole Reifschneider <mail@ole-reifschneider.de>
+Date: Tue, 15 Aug 2017 18:51:42 +0200
+Subject: [PATCH 1/6] Make colord and wacom support optional
+
+Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org>
+Signed-off-by: Timo Tambet <ttambet@gmail.com>
+Signed-off-by: Yuh-Horng Chen <yhchens@gmail.com>
+---
+ configure.ac | 54 ++++++++++++++++++++++++++++++----------------
+ plugins/Makefile.am | 9 ++++++--
+ plugins/common/Makefile.am | 7 ++++--
+ plugins/dummy/Makefile.am | 5 ++++-
+ 4 files changed, 52 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 73fe91e6..d8778c93 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -158,13 +158,23 @@ PKG_CHECK_MODULES(CLIPBOARD,
+ gtk+-x11-3.0
+ x11)
+
+-PKG_CHECK_MODULES(COLOR,
+- colord >= 1.0.2
+- gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
+- libcanberra-gtk3
+- libgeoclue-2.0 >= $GEOCLUE_REQUIRED_VERSION
+- lcms2 >= $LCMS_REQUIRED_VERSION
+- libnotify)
++AC_ARG_ENABLE([color],
++ AS_HELP_STRING([--disable-color],
++ [turn off color plugin]),
++ [],
++ [enable_color=yes])
++
++AS_IF([test "$enable_color" = "yes"],
++ [PKG_CHECK_MODULES(COLOR,
++ colord >= 1.0.2
++ gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
++ libcanberra-gtk3
++ libgeoclue-2.0 >= $GEOCLUE_REQUIRED_VERSION
++ lcms2 >= $LCMS_REQUIRED_VERSION
++ libnotify)
++ AC_DEFINE(HAVE_COLOR, 1, [Define if color plugin is enabled])
++ ])
++AM_CONDITIONAL(BUILD_COLOR, test "x$enable_color" = "xyes")
+
+ PKG_CHECK_MODULES(DATETIME,
+ libnotify >= $LIBNOTIFY_REQUIRED_VERSION
+@@ -268,23 +278,31 @@ case $host_os in
+ if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
+ have_wacom=no
+ else
+- if test x$enable_gudev != xno; then
+- LIBWACOM_PKG="libwacom >= $LIBWACOM_REQUIRED_VERSION"
+- PKG_CHECK_MODULES(LIBWACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION])
+- PKG_CHECK_MODULES(WACOM, [gtk+-3.0 pango >= $PANGO_REQUIRED_VERSION])
+- PKG_CHECK_MODULES(WACOM_OLED, [gudev-1.0])
+- else
+- AC_MSG_ERROR([GUdev is necessary to compile Wacom support])
+- fi
+- AC_DEFINE_UNQUOTED(HAVE_WACOM, 1, [Define to 1 if wacom support is available])
+- have_wacom=yes
++ have_wacom=no
++ AS_IF([test "$enable_gudev" != "no"],
++ [AC_ARG_ENABLE([wacom],
++ AS_HELP_STRING([--disable-wacom],
++ [turn off wacom plugin]),
++ [],
++ [enable_wacom=no]) dnl Default value
++ AS_IF([test "$enable_wacom" = "yes"],
++ [
++ PKG_CHECK_MODULES(LIBWACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION])
++ PKG_CHECK_MODULES(WACOM, [gtk+-3.0 pango >= $PANGO_REQUIRED_VERSION])
++ PKG_CHECK_MODULES(WACOM_OLED, [gudev-1.0])
++ have_wacom=yes
++ AC_DEFINE_UNQUOTED(HAVE_WACOM, 1, [Define to 1 if wacom support is available])
++ ])
++ ], [
++ AC_MSG_ERROR([GUdev is necessary to compile Wacom support])
++ ])
+ fi
+ ;;
+ *)
+ have_wacom=no
+ ;;
+ esac
+-AM_CONDITIONAL(HAVE_WACOM, test x$have_wacom = xyes)
++AM_CONDITIONAL(BUILD_WACOM, test x$have_wacom = xyes)
+
+ dnl ---------------------------------------------------------------------------
+ dnl - common
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 9324b406..ee78d6d0 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -4,7 +4,6 @@ enabled_plugins = \
+ a11y-keyboard \
+ a11y-settings \
+ clipboard \
+- color \
+ datetime \
+ dummy \
+ power \
+@@ -22,13 +21,19 @@ enabled_plugins = \
+
+ disabled_plugins = $(NULL)
+
++if BUILD_COLOR
++enabled_plugins += color
++else
++disabled_plugins += color
++endif
++
+ if SMARTCARD_SUPPORT
+ enabled_plugins += smartcard
+ else
+ disabled_plugins += smartcard
+ endif
+
+-if HAVE_WACOM
++if BUILD_WACOM
+ enabled_plugins += wacom
+ else
+ disabled_plugins += wacom
+diff --git a/plugins/common/Makefile.am b/plugins/common/Makefile.am
+index 239c6015..65de4007 100644
+--- a/plugins/common/Makefile.am
++++ b/plugins/common/Makefile.am
+@@ -49,14 +49,17 @@ libcommon_la_CPPFLAGS = \
+ -I$(top_builddir)/gnome-settings-daemon \
+ -I$(top_srcdir)/data/
+
+-libcommon_la_CFLAGS = $(COMMON_CFLAGS)
++libcommon_la_CFLAGS = \
++ $(COMMON_CFLAGS) \
++ $(LIBWACOM_CFLAGS)
+
+ libcommon_la_LDFLAGS = \
+ $(GSD_PLUGIN_LDFLAGS)
+
+ libcommon_la_LIBADD = \
+ $(top_builddir)/gnome-settings-daemon/libgsd.la \
+- $(COMMON_LIBS)
++ $(COMMON_LIBS) \
++ $(LIBWACOM_LIBS)
+
+ libexec_PROGRAMS = gsd-test-input-helper
+
+diff --git a/plugins/dummy/Makefile.am b/plugins/dummy/Makefile.am
+index cb5856cf..d8e8bc4e 100644
+--- a/plugins/dummy/Makefile.am
++++ b/plugins/dummy/Makefile.am
+@@ -25,7 +25,10 @@ desktop_DATA =
+ if !SMARTCARD_SUPPORT
+ desktop_DATA += org.gnome.SettingsDaemon.Smartcard.desktop
+ endif
+-if !HAVE_WACOM
++if !BUILD_COLOR
++desktop_DATA += org.gnome.SettingsDaemon.Color.desktop
++endif
++if !BUILD_WACOM
+ desktop_DATA += org.gnome.SettingsDaemon.Wacom.desktop
+ endif
+ if !BUILD_PRINT_NOTIFICATIONS
+--
+2.14.1
+
diff --git a/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.22.0-optional.patch b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.22.0-optional.patch
new file mode 100644
index 000000000000..9b5369bb3462
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.22.0-optional.patch
@@ -0,0 +1,111 @@
+From 2aa9a92b06418642339cf27a3df5051f63eb8ddb Mon Sep 17 00:00:00 2001
+From: Ole Reifschneider <mail@ole-reifschneider.de>
+Date: Sat, 11 Apr 2015 23:10:21 +0200
+Subject: [PATCH] Make colord and wacom support optional
+
+---
+ configure.ac | 41 ++++++++++++++++++++++++++++++-----------
+ plugins/Makefile.am | 9 +++++++--
+ 2 files changed, 37 insertions(+), 13 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6d9408a..628af0e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -245,7 +245,17 @@ dnl ---------------------------------------------------------------------------
+ dnl - color
+ dnl ---------------------------------------------------------------------------
+
+-PKG_CHECK_MODULES(COLOR, [colord >= 1.0.2 gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION libcanberra-gtk3 lcms2 >= $LCMS_REQUIRED_VERSION])
++AC_ARG_ENABLE([color],
++ AS_HELP_STRING([--disable-color],
++ [turn off color plugin]),
++ [],
++ [enable_color=yes])
++
++AS_IF([test "$enable_color" = "yes"],
++ [PKG_CHECK_MODULES(COLOR, [colord >= 1.0.2 gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION libcanberra-gtk3 lcms2 >= $LCMS_REQUIRED_VERSION])
++ AC_DEFINE(HAVE_COLOR, 1, [Define if color plugin is enabled])
++ ])
++AM_CONDITIONAL(BUILD_COLOR, test "x$enable_color" = "xyes")
+
+ dnl ---------------------------------------------------------------------------
+ dnl - datetime
+@@ -270,22 +280,31 @@ case $host_os in
+ if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
+ have_wacom=no
+ else
+- if test x$enable_gudev != xno; then
+- PKG_CHECK_MODULES(LIBWACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION])
+- PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst gudev-1.0 gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom librsvg-2.0 >= $LIBRSVG_REQUIRED_VERSION libnotify >= $LIBNOTIFY_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION])
+- PKG_CHECK_MODULES(WACOM_OLED, [gudev-1.0])
+- else
+- AC_MSG_ERROR([GUdev is necessary to compile Wacom support])
+- fi
+- AC_DEFINE_UNQUOTED(HAVE_WACOM, 1, [Define to 1 if wacom support is available])
+- have_wacom=yes
++ have_wacom=no
++ AS_IF([test "$enable_gudev" != "no"],
++ [AC_ARG_ENABLE([wacom],
++ AS_HELP_STRING([--disable-wacom],
++ [turn off wacom plugin]),
++ [],
++ [enable_wacom=no]) dnl Default value
++ AS_IF([test "x$enable_wacom" = "xyes"],
++ [
++ PKG_CHECK_MODULES(LIBWACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION])
++ PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst gudev-1.0 gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION xorg-wacom librsvg-2.0 >= $LIBRSVG_REQUIRED_VERSION libnotify >= $LIBNOTIFY_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION])
++ PKG_CHECK_MODULES(WACOM_OLED, [gudev-1.0])
++ have_wacom=yes
++ AC_DEFINE_UNQUOTED(HAVE_WACOM, 1, [Define to 1 if wacom support is available])
++ ])
++ ], [
++ AC_MSG_ERROR([GUdev is necessary to compile Wacom support])
++ ])
+ fi
+ ;;
+ *)
+ have_wacom=no
+ ;;
+ esac
+-AM_CONDITIONAL(HAVE_WACOM, test x$have_wacom = xyes)
++AM_CONDITIONAL(BUILD_WACOM, test x$have_wacom = xyes)
+
+ dnl ==============================================
+ dnl smartcard section
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 9324b40..ee78d6d 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -4,7 +4,6 @@ enabled_plugins = \
+ a11y-keyboard \
+ a11y-settings \
+ clipboard \
+- color \
+ datetime \
+ dummy \
+ power \
+@@ -22,13 +21,19 @@ enabled_plugins = \
+
+ disabled_plugins = $(NULL)
+
++if BUILD_COLOR
++enabled_plugins += color
++else
++disabled_plugins += color
++endif
++
+ if SMARTCARD_SUPPORT
+ enabled_plugins += smartcard
+ else
+ disabled_plugins += smartcard
+ endif
+
+-if HAVE_WACOM
++if BUILD_WACOM
+ enabled_plugins += wacom
+ else
+ disabled_plugins += wacom
+--
+2.10.1
+
diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.22.2-r1.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.22.2-r1.ebuild
new file mode 100644
index 000000000000..76625b33ba7b
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.22.2-r1.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_EAUTORECONF="yes"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit gnome2 python-any-r1 systemd udev virtualx
+
+DESCRIPTION="Gnome Settings Daemon"
+HOMEPAGE="https://git.gnome.org/browse/gnome-settings-daemon"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+colord +cups debug input_devices_wacom -openrc-force networkmanager policykit smartcard test +udev wayland"
+REQUIRED_USE="
+ input_devices_wacom? ( udev )
+ smartcard? ( udev )
+"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.37.7:2[dbus]
+ >=x11-libs/gtk+-3.15.3:3
+ >=gnome-base/gnome-desktop-3.11.1:3=
+ >=gnome-base/gsettings-desktop-schemas-3.20
+ >=gnome-base/librsvg-2.36.2:2
+ media-fonts/cantarell
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/libcanberra[gtk3]
+ >=media-sound/pulseaudio-2
+ >=sys-power/upower-0.99:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/libnotify-0.7.3:=
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ x11-libs/libXi
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXtst
+ x11-libs/libXxf86misc
+ x11-misc/xkeyboard-config
+
+ >=app-misc/geoclue-2.3.1:2.0
+ >=dev-libs/libgweather-3.9.5:2=
+ >=sci-geosciences/geocode-glib-3.10
+ >=sys-auth/polkit-0.103
+
+ colord? (
+ >=media-libs/lcms-2.2:2
+ >=x11-misc/colord-1.0.2:= )
+ cups? ( >=net-print/cups-1.4[dbus] )
+ input_devices_wacom? (
+ >=dev-libs/libwacom-0.7
+ >=x11-libs/pango-1.20
+ x11-drivers/xf86-input-wacom
+ virtual/libgudev:= )
+ networkmanager? ( >=net-misc/networkmanager-1.0 )
+ smartcard? ( >=dev-libs/nss-3.11.2 )
+ udev? ( virtual/libgudev:= )
+ wayland? ( dev-libs/wayland )
+"
+# Themes needed by g-s-d, gnome-shell, gtk+:3 apps to work properly
+# <gnome-color-manager-3.1.1 has file collisions with g-s-d-3.1.x
+# <gnome-power-manager-3.1.3 has file collisions with g-s-d-3.1.x
+# systemd needed for power and session management, bug #464944
+RDEPEND="${COMMON_DEPEND}
+ gnome-base/dconf
+ !openrc-force? ( sys-apps/systemd )
+ !<gnome-base/gnome-control-center-2.22
+ !<gnome-extra/gnome-color-manager-3.1.1
+ !<gnome-extra/gnome-power-manager-3.1.3
+"
+# xproto-7.0.15 needed for power plugin
+# FIXME: tests require dbus-mock
+DEPEND="${COMMON_DEPEND}
+ cups? ( sys-apps/sed )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]')
+ gnome-base/gnome-session )
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ sys-devel/gettext
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+ x11-proto/inputproto
+ x11-proto/xf86miscproto
+ >=x11-proto/xproto-7.0.15
+"
+
+PATCHES=(
+ # Make colord and wacom optional; requires eautoreconf
+ "${FILESDIR}"/${PN}-3.22.0-optional.patch
+ # Allow specifying udevrulesdir via configure, bug 509484; requires eautoreconf
+ "${FILESDIR}"/${PV}-udevrulesdir-configure.patch
+)
+
+python_check_deps() {
+ if use test; then
+ has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]"
+ fi
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ --enable-man \
+ --with-udevrulesdir="$(get_udevdir)"/rules.d \
+ $(use_enable colord color) \
+ $(use_enable cups) \
+ $(use_enable debug) \
+ $(use_enable debug more-warnings) \
+ $(use_enable networkmanager network-manager) \
+ $(use_enable smartcard smartcard-support) \
+ $(use_enable udev gudev) \
+ $(use_enable input_devices_wacom wacom) \
+ $(use_enable wayland)
+}
+
+src_test() {
+ virtx emake check
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ if ! systemd_is_booted; then
+ ewarn "${PN} needs Systemd to be *running* for working"
+ ewarn "properly. Please follow the this guide to migrate:"
+ ewarn "https://wiki.gentoo.org/wiki/Systemd"
+ fi
+
+ if use openrc-force; then
+ ewarn "You are enabling 'openrc-force' USE flag to skip systemd requirement,"
+ ewarn "this can lead to unexpected problems and is not supported neither by"
+ ewarn "upstream neither by Gnome Gentoo maintainers. If you suffer any problem,"
+ ewarn "you will need to disable this USE flag system wide and retest before"
+ ewarn "opening any bug report."
+ fi
+}
diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.24.3.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.24.3.ebuild
new file mode 100644
index 000000000000..3534c5fa68f0
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.24.3.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_EAUTORECONF="yes"
+GNOME2_LA_PUNT="yes"
+#PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) # https://bugzilla.gnome.org/show_bug.cgi?id=783186
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2 python-any-r1 systemd udev virtualx
+
+DESCRIPTION="Gnome Settings Daemon"
+HOMEPAGE="https://git.gnome.org/browse/gnome-settings-daemon"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+colord +cups debug input_devices_wacom -openrc-force networkmanager policykit smartcard test +udev wayland"
+REQUIRED_USE="
+ input_devices_wacom? ( udev )
+ smartcard? ( udev )
+ wayland? ( udev )
+"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.44.0:2[dbus]
+ >=x11-libs/gtk+-3.15.3:3[X,wayland?]
+ >=gnome-base/gnome-desktop-3.11.1:3=
+ >=gnome-base/gsettings-desktop-schemas-3.23.3
+ >=gnome-base/librsvg-2.36.2:2
+ media-fonts/cantarell
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/libcanberra[gtk3]
+ >=media-sound/pulseaudio-2
+ >=sys-power/upower-0.99:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/libnotify-0.7.3:=
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ x11-libs/libXi
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXtst
+ x11-libs/libXxf86misc
+ x11-misc/xkeyboard-config
+
+ >=app-misc/geoclue-2.3.1:2.0
+ >=dev-libs/libgweather-3.9.5:2=
+ >=sci-geosciences/geocode-glib-3.10
+ >=sys-auth/polkit-0.103
+
+ colord? (
+ >=media-libs/lcms-2.2:2
+ >=x11-misc/colord-1.0.2:= )
+ cups? ( >=net-print/cups-1.4[dbus] )
+ input_devices_wacom? (
+ >=dev-libs/libwacom-0.7
+ >=x11-libs/pango-1.20
+ x11-drivers/xf86-input-wacom
+ virtual/libgudev:= )
+ networkmanager? ( >=net-misc/networkmanager-1.0 )
+ smartcard? ( >=dev-libs/nss-3.11.2 )
+ udev? ( virtual/libgudev:= )
+ wayland? ( dev-libs/wayland )
+"
+# Themes needed by g-s-d, gnome-shell, gtk+:3 apps to work properly
+# <gnome-color-manager-3.1.1 has file collisions with g-s-d-3.1.x
+# <gnome-power-manager-3.1.3 has file collisions with g-s-d-3.1.x
+# systemd needed for power and session management, bug #464944
+RDEPEND="${COMMON_DEPEND}
+ gnome-base/dconf
+ !openrc-force? ( sys-apps/systemd )
+ !<gnome-base/gnome-control-center-2.22
+ !<gnome-extra/gnome-color-manager-3.1.1
+ !<gnome-extra/gnome-power-manager-3.1.3
+ !<gnome-base/gnome-session-3.23.2
+"
+# xproto-7.0.15 needed for power plugin
+DEPEND="${COMMON_DEPEND}
+ cups? ( sys-apps/sed )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/dbusmock[${PYTHON_USEDEP}]')
+ gnome-base/gnome-session )
+ dev-libs/libxml2:2
+ sys-devel/gettext
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+ x11-proto/inputproto
+ x11-proto/xf86miscproto
+ x11-proto/kbproto
+ >=x11-proto/xproto-7.0.15
+"
+
+# TypeErrors with python3; weird test errors with python2; all in power component that was made required now
+RESTRICT="test"
+# RESTRICT="!test? ( test )"
+
+PATCHES=(
+ # Make colord and wacom optional; requires eautoreconf
+ "${FILESDIR}"/${PV}-optional.patch
+ # Allow specifying udevrulesdir via configure, bug 509484; requires eautoreconf
+ "${FILESDIR}"/3.24.2-udevrulesdir-configure.patch
+ # Reduce memory usage by not initing GTK+ where not needed
+ "${FILESDIR}"/3.24.2-remove-unneeded-gtk-init.patch
+ # Reduce memory usage by using a fake CSS theme instead of full Adwaita for GTK+ needing plugins; requires eautoreconf
+ "${FILESDIR}"/3.24.2-reduce-memory-usage.patch
+ # Fix build issue when gudev is present but not wayland, bug #627966
+ "${FILESDIR}"/3.24.3-fix-wayland-build.patch
+)
+
+python_check_deps() {
+ if use test; then
+ has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/dbusmock[${PYTHON_USEDEP}]"
+ fi
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ --with-udevrulesdir="$(get_udevdir)"/rules.d \
+ $(use_enable colord color) \
+ $(use_enable cups) \
+ $(use_enable debug) \
+ $(use_enable debug more-warnings) \
+ $(use_enable networkmanager network-manager) \
+ $(use_enable smartcard smartcard-support) \
+ $(use_enable udev gudev) \
+ $(use_enable input_devices_wacom wacom) \
+ $(use_enable wayland)
+}
+
+src_test() {
+ virtx emake check
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ if ! systemd_is_booted; then
+ ewarn "${PN} needs Systemd to be *running* for working"
+ ewarn "properly. Please follow the this guide to migrate:"
+ ewarn "https://wiki.gentoo.org/wiki/Systemd"
+ fi
+
+ if use openrc-force; then
+ ewarn "You are enabling 'openrc-force' USE flag to skip systemd requirement,"
+ ewarn "this can lead to unexpected problems and is not supported neither by"
+ ewarn "upstream neither by Gnome Gentoo maintainers. If you suffer any problem,"
+ ewarn "you will need to disable this USE flag system wide and retest before"
+ ewarn "opening any bug report."
+ fi
+}
diff --git a/gnome-base/gnome-settings-daemon/metadata.xml b/gnome-base/gnome-settings-daemon/metadata.xml
new file mode 100644
index 000000000000..7ddc604ee2fa
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="colord">Support color management using
+ <pkg>x11-misc/colord</pkg></flag>
+ <flag name="openrc-force">Skip systemd dependency (#480336),
+ enabling this flag will become your setup to be fully
+ unsupported by upstream and downstream Gnome team. Do not
+ try to enable it unless completely needed</flag>
+ </use>
+</pkgmetadata>