1 |
commit: 42573ff70a244a861b4090c870528722bbcb7464 |
2 |
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Feb 28 20:26:54 2019 +0000 |
4 |
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Feb 28 20:28:24 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42573ff7 |
7 |
|
8 |
gnome-base/gnome-control-center: fix runtime crash on wayland from build fix |
9 |
|
10 |
Unfortunately we will need to lock USE=wayland between gtk+ and here for now. |
11 |
If gtk+ supports wayland, it will run gnome-control-center with native |
12 |
wayland, and when g-c-c doesn't have the code to match, it'll try to iterate |
13 |
devices with X11 methods, which will crash just like it did on full wayland |
14 |
(USE=wayland on both) before the fix in this commit. |
15 |
One option could be to restrict gdk allowed backends to not include wayland |
16 |
if wayland support isn't included, but that's something to tackle on top of |
17 |
3.32 in the future. |
18 |
|
19 |
Closes: https://bugs.gentoo.org/679042 |
20 |
Package-Manager: Portage-2.3.52, Repoman-2.3.12 |
21 |
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org> |
22 |
|
23 |
.../files/3.26.2-without-wayland-fix.patch | 20 ++++++++++++++++++-- |
24 |
...ebuild => gnome-control-center-3.26.2-r28.ebuild} | 4 ++-- |
25 |
....ebuild => gnome-control-center-3.26.2-r3.ebuild} | 5 +++-- |
26 |
3 files changed, 23 insertions(+), 6 deletions(-) |
27 |
|
28 |
diff --git a/gnome-base/gnome-control-center/files/3.26.2-without-wayland-fix.patch b/gnome-base/gnome-control-center/files/3.26.2-without-wayland-fix.patch |
29 |
index 92f4d4bdaee..d045790d6c7 100644 |
30 |
--- a/gnome-base/gnome-control-center/files/3.26.2-without-wayland-fix.patch |
31 |
+++ b/gnome-base/gnome-control-center/files/3.26.2-without-wayland-fix.patch |
32 |
@@ -1,4 +1,4 @@ |
33 |
-From 62f07b2c6d8a28378e1f2c9f5d0c3241332ee8cf Mon Sep 17 00:00:00 2001 |
34 |
+From 75dc553f10df3cf48227ec69b9465009eebf7b8b Mon Sep 17 00:00:00 2001 |
35 |
From: Georges Basile Stavracas Neto <georges.stavracas@×××××.com> |
36 |
Date: Wed, 17 Jan 2018 20:05:03 -0200 |
37 |
Subject: [PATCH] common: Don't unconditionally define HAVE_WAYLAND |
38 |
@@ -8,10 +8,26 @@ is built with Wayland support. This breaks the build when |
39 |
building with Wayland disabled. |
40 |
|
41 |
https://bugzilla.gnome.org/show_bug.cgi?id=785414 |
42 |
+(cherry picked from commit 62f07b2c6d8a28378e1f2c9f5d0c3241332ee8cf) |
43 |
+[Added HAVE_WAYLAND config.h definition for autotools to fix runtime] |
44 |
+Signed-off-by: Mart Raudsepp <leio@g.o> |
45 |
--- |
46 |
+ configure.ac | 1 + |
47 |
panels/common/gnome-settings-bus.h | 2 -- |
48 |
- 1 file changed, 2 deletions(-) |
49 |
+ 2 files changed, 1 insertion(+), 2 deletions(-) |
50 |
|
51 |
+diff --git a/configure.ac b/configure.ac |
52 |
+index f810bfb1f..24940a798 100644 |
53 |
+--- a/configure.ac |
54 |
++++ b/configure.ac |
55 |
+@@ -291,6 +291,7 @@ AS_IF([test "$enable_wayland" != "no"], |
56 |
+ [AC_DEFINE(HAVE_UDEV, 1, [System has udev])]) |
57 |
+ |
58 |
+ PKG_CHECK_MODULES(WAYLAND, gdk-wayland-3.0) |
59 |
++ AC_DEFINE(HAVE_WAYLAND, 1, [Compile with Wayland support]) |
60 |
+ ]) |
61 |
+ AM_CONDITIONAL(HAVE_WAYLAND, [test "x$enable_wayland" != "xno"]) |
62 |
+ |
63 |
diff --git a/panels/common/gnome-settings-bus.h b/panels/common/gnome-settings-bus.h |
64 |
index ce58f5805..763a9cca7 100644 |
65 |
--- a/panels/common/gnome-settings-bus.h |
66 |
|
67 |
diff --git a/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r2.ebuild b/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r28.ebuild |
68 |
similarity index 96% |
69 |
rename from gnome-base/gnome-control-center/gnome-control-center-3.26.2-r2.ebuild |
70 |
rename to gnome-base/gnome-control-center/gnome-control-center-3.26.2-r28.ebuild |
71 |
index edf0afe1e5e..616a44779d2 100644 |
72 |
--- a/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r2.ebuild |
73 |
+++ b/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r28.ebuild |
74 |
@@ -26,7 +26,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86 ~x86-fbsd ~amd64-linux ~ |
75 |
COMMON_DEPEND=" |
76 |
>=dev-libs/glib-2.53.0:2[dbus] |
77 |
>=x11-libs/gdk-pixbuf-2.23.0:2 |
78 |
- >=x11-libs/gtk+-3.22.0:3[X,wayland?] |
79 |
+ >=x11-libs/gtk+-3.22.0:3[X,wayland=] |
80 |
>=gnome-base/gsettings-desktop-schemas-3.21.4 |
81 |
>=gnome-base/gnome-desktop-3.27.3:3= |
82 |
>=gnome-base/gnome-settings-daemon-3.25.90[colord,policykit] |
83 |
@@ -134,7 +134,7 @@ PATCHES=( |
84 |
"${WORKDIR}"/patches/ |
85 |
"${FILESDIR}"/${PV}-without-wayland-fix.patch # Fixes USE=-wayland build against gtk+[wayland] |
86 |
"${FILESDIR}"/${PV}-goa-lifecycle.patch # extra patch from gnome-3-26 |
87 |
- "${FILESDIR}"/${PV}-gnome-desktop-3-28-compat.patch # backport of porting to gnome-desktop-3.28 API changes |
88 |
+ "${FILESDIR}"/${PV}-gnome-desktop-3-28-compat.patch # backport of porting to gnome-desktop-3.28 API changes; but due to runtime issues we ended up still needing to lock the wayland flags between gtk+ and g-c-c (TODO) |
89 |
) |
90 |
|
91 |
src_configure() { |
92 |
|
93 |
diff --git a/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r1.ebuild b/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r3.ebuild |
94 |
similarity index 95% |
95 |
rename from gnome-base/gnome-control-center/gnome-control-center-3.26.2-r1.ebuild |
96 |
rename to gnome-base/gnome-control-center/gnome-control-center-3.26.2-r3.ebuild |
97 |
index 5e554968fdb..9078a9e5204 100644 |
98 |
--- a/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r1.ebuild |
99 |
+++ b/gnome-base/gnome-control-center/gnome-control-center-3.26.2-r3.ebuild |
100 |
@@ -27,7 +27,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86 ~x86-fbsd ~amd64-linux ~ |
101 |
COMMON_DEPEND=" |
102 |
>=dev-libs/glib-2.53.0:2[dbus] |
103 |
>=x11-libs/gdk-pixbuf-2.23.0:2 |
104 |
- >=x11-libs/gtk+-3.22.0:3[X,wayland?] |
105 |
+ >=x11-libs/gtk+-3.22.0:3[X,wayland=] |
106 |
>=gnome-base/gsettings-desktop-schemas-3.21.4 |
107 |
>=gnome-base/gnome-desktop-3.21.2:3= |
108 |
<gnome-base/gnome-desktop-3.27.90:3 |
109 |
@@ -134,7 +134,8 @@ PATCHES=( |
110 |
# https://bugzilla.gnome.org/686840, 697478, 700145 |
111 |
# Fix some absolute paths to be appropriate for Gentoo |
112 |
"${WORKDIR}"/patches/ |
113 |
- "${FILESDIR}"/${PV}-without-wayland-fix.patch # Fixes USE=-wayland build against gtk+[wayland] |
114 |
+ "${FILESDIR}"/${PV}-goa-lifecycle.patch # extra patch from gnome-3-26 |
115 |
+ "${FILESDIR}"/${PV}-without-wayland-fix.patch # Fixes USE=-wayland build against gtk+[wayland]; but due to runtime issues we ended up still needing to lock the wayland flags between gtk+ and g-c-c (TODO) |
116 |
) |
117 |
|
118 |
src_configure() { |