diff options
Diffstat (limited to 'gnome-base/gnome-settings-daemon')
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> |