summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2017-03-19 14:21:33 +0200
committerMart Raudsepp <leio@gentoo.org>2017-03-19 14:28:40 +0200
commit06947f025a4b40e8b9752df158bad875e72ea97a (patch)
treedce3c2e4a91cd22d54a9dd6f07ec647fc077f74b
parentmedia-gfx/krita: Remove 3.1.2-r1 (diff)
downloadgentoo-06947f025a4b40e8b9752df158bad875e72ea97a.tar.gz
gentoo-06947f025a4b40e8b9752df158bad875e72ea97a.tar.bz2
gentoo-06947f025a4b40e8b9752df158bad875e72ea97a.zip
gnome-base/gnome-control-center: fix build with USE=-wayland, always pull in keyboard layout display tool
Gentoo-bug: 539290 Gentoo-bug: 613192
-rw-r--r--gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch35
-rw-r--r--gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch32
-rw-r--r--gnome-base/gnome-control-center/gnome-control-center-3.22.2-r1.ebuild160
3 files changed, 227 insertions, 0 deletions
diff --git a/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch b/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch
new file mode 100644
index 000000000000..0895a743a715
--- /dev/null
+++ b/gnome-base/gnome-control-center/files/3.22.2-fix-build-without-wayland.patch
@@ -0,0 +1,35 @@
+From 4825881b129bdde0eaa5419ece6198ebda420825 Mon Sep 17 00:00:00 2001
+From: Ting-Wei Lan <lantw@src.gnome.org>
+Date: Thu, 10 Nov 2016 22:27:11 +0800
+Subject: [PATCH 1/2] info: Fix build when Wayland is disabled
+
+https://bugzilla.gnome.org/show_bug.cgi?id=774324
+---
+ panels/info/cc-info-panel.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/panels/info/cc-info-panel.c b/panels/info/cc-info-panel.c
+index 4584766..1d596a3 100644
+--- a/panels/info/cc-info-panel.c
++++ b/panels/info/cc-info-panel.c
+@@ -351,8 +351,15 @@ get_graphics_data (void)
+ display = gdk_display_get_default ();
+
+ #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WAYLAND)
+- if (GDK_IS_X11_DISPLAY (display) ||
+- GDK_IS_WAYLAND_DISPLAY (display))
++ gboolean x11_or_wayland = FALSE;
++#ifdef GDK_WINDOWING_X11
++ x11_or_wayland = GDK_IS_X11_DISPLAY (display);
++#endif
++#ifdef GDK_WINDOWING_WAYLAND
++ x11_or_wayland = x11_or_wayland || GDK_IS_WAYLAND_DISPLAY (display);
++#endif
++
++ if (x11_or_wayland)
+ {
+ char *discrete_renderer = NULL;
+ char *renderer;
+--
+2.10.1
+
diff --git a/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch b/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch
new file mode 100644
index 000000000000..a390477a4247
--- /dev/null
+++ b/gnome-base/gnome-control-center/files/3.22.2-fix-dual-gpu-crash.patch
@@ -0,0 +1,32 @@
+From 97e4d87ae8a123d5b1711ddbaba6bc0d3a0a39a8 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <oholy@redhat.com>
+Date: Mon, 5 Dec 2016 10:15:12 +0100
+Subject: [PATCH 2/2] info: Do not crash if Renderer is not set by
+ SessionManager
+
+This regression has been introduced by commit 52da4da. The
+info panel crashes if prettify_info() returns NULL. This happens
+if Renderer property from SessionManager is empty.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=774240
+---
+ panels/info/info-cleanup.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/panels/info/info-cleanup.c b/panels/info/info-cleanup.c
+index 20243ec..bb47493 100644
+--- a/panels/info/info-cleanup.c
++++ b/panels/info/info-cleanup.c
+@@ -99,6 +99,9 @@ remove_duplicate_whitespace (const char *old)
+ GRegex *re;
+ GError *error;
+
++ if (old == NULL)
++ return NULL;
++
+ error = NULL;
+ re = g_regex_new ("[ \t\n\r]+", G_REGEX_MULTILINE, 0, &error);
+ if (re == NULL)
+--
+2.10.1
+
diff --git a/gnome-base/gnome-control-center/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 000000000000..8598049d5221
--- /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)"
+}