commit:     06947f025a4b40e8b9752df158bad875e72ea97a
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 19 12:21:33 2017 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Mar 19 12:28:40 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06947f02

gnome-base/gnome-control-center: fix build with USE=-wayland, always pull in 
keyboard layout display tool

Gentoo-bug: 539290
Gentoo-bug: 613192

 .../files/3.22.2-fix-build-without-wayland.patch   |  35 +++++
 .../files/3.22.2-fix-dual-gpu-crash.patch          |  32 +++++
 .../gnome-control-center-3.22.2-r1.ebuild          | 160 +++++++++++++++++++++
 3 files changed, 227 insertions(+)

diff --git 
a/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch 
b/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch
new file mode 100644
index 00000000000..0895a743a71
--- /dev/null
+++ 
b/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch
@@ -0,0 +1,35 @@
+From 4825881b129bdde0eaa5419ece6198ebda420825 Mon Sep 17 00:00:00 2001
+From: Ting-Wei Lan <[email protected]>
+Date: Thu, 10 Nov 2016 22:27:11 +0800
+Subject: [PATCH 1/2] info: Fix build when Wayland is disabled
+
+https://bugzilla.gnome.org/show_bug.cgi?id=774324
+---
+ panels/info/cc-info-panel.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/panels/info/cc-info-panel.c b/panels/info/cc-info-panel.c
+index 4584766..1d596a3 100644
+--- a/panels/info/cc-info-panel.c
++++ b/panels/info/cc-info-panel.c
+@@ -351,8 +351,15 @@ get_graphics_data (void)
+   display = gdk_display_get_default ();
+ 
+ #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WAYLAND)
+-  if (GDK_IS_X11_DISPLAY (display) ||
+-      GDK_IS_WAYLAND_DISPLAY (display))
++  gboolean x11_or_wayland = FALSE;
++#ifdef GDK_WINDOWING_X11
++  x11_or_wayland = GDK_IS_X11_DISPLAY (display);
++#endif
++#ifdef GDK_WINDOWING_WAYLAND
++  x11_or_wayland = x11_or_wayland || GDK_IS_WAYLAND_DISPLAY (display);
++#endif
++
++  if (x11_or_wayland)
+     {
+       char *discrete_renderer = NULL;
+       char *renderer;
+-- 
+2.10.1
+

diff --git 
a/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch 
b/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch
new file mode 100644
index 00000000000..a390477a424
--- /dev/null
+++ b/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch
@@ -0,0 +1,32 @@
+From 97e4d87ae8a123d5b1711ddbaba6bc0d3a0a39a8 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <[email protected]>
+Date: Mon, 5 Dec 2016 10:15:12 +0100
+Subject: [PATCH 2/2] info: Do not crash if Renderer is not set by
+ SessionManager
+
+This regression has been introduced by commit 52da4da. The
+info panel crashes if prettify_info() returns NULL. This happens
+if Renderer property from SessionManager is empty.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=774240
+---
+ panels/info/info-cleanup.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/panels/info/info-cleanup.c b/panels/info/info-cleanup.c
+index 20243ec..bb47493 100644
+--- a/panels/info/info-cleanup.c
++++ b/panels/info/info-cleanup.c
+@@ -99,6 +99,9 @@ remove_duplicate_whitespace (const char *old)
+   GRegex *re;
+   GError *error;
+ 
++  if (old == NULL)
++    return NULL;
++
+   error = NULL;
+   re = g_regex_new ("[ \t\n\r]+", G_REGEX_MULTILINE, 0, &error);
+   if (re == NULL)
+-- 
+2.10.1
+

diff --git 
a/gnome-base/gnome-control-center/gnome-control-center-3.22.2-r1.ebuild 
b/gnome-base/gnome-control-center/gnome-control-center-3.22.2-r1.ebuild
new file mode 100644
index 00000000000..8598049d522
--- /dev/null
+++ b/gnome-base/gnome-control-center/gnome-control-center-3.22.2-r1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+GNOME2_EAUTORECONF="yes"
+
+inherit bash-completion-r1 gnome2
+
+DESCRIPTION="GNOME's main interface to configure various aspects of the 
desktop"
+HOMEPAGE="https://git.gnome.org/browse/gnome-control-center/";
+
+LICENSE="GPL-2+"
+SLOT="2"
+IUSE="+bluetooth +colord +cups debug +gnome-online-accounts +ibus 
input_devices_wacom kerberos networkmanager v4l wayland"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86 ~x86-fbsd ~amd64-linux 
~x86-linux ~x86-solaris"
+
+# False positives caused by nested configure scripts
+QA_CONFIGURE_OPTIONS=".*"
+
+# gnome-session-2.91.6-r1 is needed so that 10-user-dirs-update is run at login
+# g-s-d[policykit] needed for bug #403527
+# kerberos unfortunately means mit-krb5; build fails with heimdal
+# udev could be made optional, only conditions gsd-device-panel
+# (mouse, keyboards, touchscreen, etc)
+COMMON_DEPEND="
+       >=dev-libs/glib-2.44.0:2[dbus]
+       >=x11-libs/gdk-pixbuf-2.23.0:2
+       >=x11-libs/gtk+-3.22.0:3[X,wayland?]
+       >=gnome-base/gsettings-desktop-schemas-3.21.4
+       >=gnome-base/gnome-desktop-3.21.2:3=
+       >=gnome-base/gnome-settings-daemon-3.19.1[colord?,policykit]
+
+       >=dev-libs/libpwquality-1.2.2
+       dev-libs/libxml2:2
+       gnome-base/libgtop:2=
+       media-libs/fontconfig
+       >=sys-apps/accountsservice-0.6.39
+
+       >=media-libs/libcanberra-0.13[gtk3]
+       >=media-sound/pulseaudio-2[glib]
+       >=sys-auth/polkit-0.97
+       >=sys-power/upower-0.99:=
+
+       virtual/libgudev
+       x11-apps/xmodmap
+       x11-libs/cairo
+       x11-libs/libX11
+       x11-libs/libXxf86misc
+       >=x11-libs/libXi-1.2
+
+       bluetooth? ( >=net-wireless/gnome-bluetooth-3.18.2:= )
+       colord? (
+               net-libs/libsoup:2.4
+               >=x11-misc/colord-0.1.34:0=
+               >=x11-libs/colord-gtk-0.1.24 )
+       cups? (
+               >=net-print/cups-1.4[dbus]
+               >=net-fs/samba-4.0.0[client]
+       )
+       gnome-online-accounts? (
+               >=media-libs/grilo-0.3.0:0.3=
+               >=net-libs/gnome-online-accounts-3.21.5:= )
+       ibus? ( >=app-i18n/ibus-1.5.2 )
+       kerberos? ( app-crypt/mit-krb5 )
+       networkmanager? (
+               >=gnome-extra/nm-applet-1.2.0
+               >=net-misc/networkmanager-1.2.0:=[modemmanager]
+               >=net-misc/modemmanager-0.7.990 )
+       v4l? (
+               media-libs/clutter-gtk:1.0
+               >=media-video/cheese-3.5.91 )
+       input_devices_wacom? (
+               >=dev-libs/libwacom-0.7
+               >=media-libs/clutter-1.11.3:1.0
+               media-libs/clutter-gtk:1.0
+               >=x11-libs/libXi-1.2 )
+"
+# <gnome-color-manager-3.1.2 has file collisions with g-c-c-3.1.x
+# libgnomekbd needed only for gkbd-keyboard-display tool
+#
+# mouse panel needs a concrete set of X11 drivers at runtime, bug #580474
+# Also we need newer driver versions to allow wacom and libinput drivers to
+# not collide
+RDEPEND="${COMMON_DEPEND}
+       || ( >=sys-apps/systemd-31 ( app-admin/openrc-settingsd 
sys-auth/consolekit ) )
+       x11-themes/adwaita-icon-theme
+       colord? ( >=gnome-extra/gnome-color-manager-3 )
+       cups? (
+               app-admin/system-config-printer
+               net-print/cups-pk-helper )
+       input_devices_wacom? ( 
gnome-base/gnome-settings-daemon[input_devices_wacom] )
+       >=gnome-base/libgnomekbd-3
+       wayland? ( dev-libs/libinput )
+       !wayland? (
+               >=x11-drivers/xf86-input-libinput-0.19.0
+               input_devices_wacom? ( >=x11-drivers/xf86-input-wacom-0.33.0 ) )
+
+       !<gnome-base/gdm-2.91.94
+       !<gnome-extra/gnome-color-manager-3.1.2
+       !gnome-extra/gnome-media[pulseaudio]
+       !<gnome-extra/gnome-media-2.32.0-r300
+       !<net-wireless/gnome-bluetooth-3.3.2
+"
+# PDEPEND to avoid circular dependency
+PDEPEND=">=gnome-base/gnome-session-2.91.6-r1"
+
+DEPEND="${COMMON_DEPEND}
+       x11-proto/xproto
+       x11-proto/xf86miscproto
+       x11-proto/kbproto
+
+       dev-libs/libxml2:2
+       dev-libs/libxslt
+       >=dev-util/intltool-0.40.1
+       >=sys-devel/gettext-0.17
+       virtual/pkgconfig
+
+       gnome-base/gnome-common
+       sys-devel/autoconf-archive
+"
+# Needed for autoreconf
+#      gnome-base/gnome-common
+#      sys-devel/autoconf-archive
+
+PATCHES=(
+       # From gnome-3-22 branch
+       "${FILESDIR}"/${PV}-fix-build-without-wayland.patch # bug 613192
+       "${FILESDIR}"/${PV}-fix-dual-gpu-crash.patch
+       # Make some panels and dependencies optional; requires eautoreconf
+       # https://bugzilla.gnome.org/686840, 697478, 700145
+       "${FILESDIR}"/${PN}-3.22.0-optional.patch
+       "${FILESDIR}"/${PN}-3.22.0-make-wayland-optional.patch
+       "${FILESDIR}"/${PN}-3.22.0-keep-panels-optional.patch
+       "${FILESDIR}"/${PN}-3.22.0-make-networkmanager-optional.patch
+       # Fix some absolute paths to be appropriate for Gentoo
+       "${FILESDIR}"/${PN}-3.22.0-gentoo-paths.patch
+)
+
+src_configure() {
+       gnome2_src_configure \
+               --disable-update-mimedb \
+               --disable-static \
+               --enable-documentation \
+               $(use_enable bluetooth) \
+               $(use_enable colord color) \
+               $(use_enable cups) \
+               $(usex debug --enable-debug=yes ' ') \
+               $(use_enable gnome-online-accounts goa) \
+               $(use_enable ibus) \
+               $(use_enable kerberos) \
+               $(use_enable networkmanager) \
+               $(use_with v4l cheese) \
+               $(use_enable input_devices_wacom wacom) \
+               $(use_enable wayland)
+}
+
+src_install() {
+       gnome2_src_install completiondir="$(get_bashcompdir)"
+}

Reply via email to