1 |
commit: 96b8094548016d7e68aa6893416bba74103470c7 |
2 |
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Mar 3 18:49:47 2019 +0000 |
4 |
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Mar 3 18:59:05 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96b80945 |
7 |
|
8 |
gnome-base/gnome-settings-daemon: fix non-wayland builds |
9 |
|
10 |
Bug: https://bugs.gentoo.org/677494 |
11 |
Package-Manager: Portage-2.3.52, Repoman-2.3.12 |
12 |
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org> |
13 |
|
14 |
.../files/3.28.1-fix-non-wayland-build.patch | 88 ++++++++++++++++++++++ |
15 |
...uild => gnome-settings-daemon-3.28.1-r1.ebuild} | 4 +- |
16 |
2 files changed, 91 insertions(+), 1 deletion(-) |
17 |
|
18 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.28.1-fix-non-wayland-build.patch b/gnome-base/gnome-settings-daemon/files/3.28.1-fix-non-wayland-build.patch |
19 |
new file mode 100644 |
20 |
index 00000000000..dd003d6c069 |
21 |
--- /dev/null |
22 |
+++ b/gnome-base/gnome-settings-daemon/files/3.28.1-fix-non-wayland-build.patch |
23 |
@@ -0,0 +1,88 @@ |
24 |
+From 91d5e708835b4c7810835d59b8ef5968454cfd0a Mon Sep 17 00:00:00 2001 |
25 |
+From: Ting-Wei Lan <lantw@×××××××××.org> |
26 |
+Date: Fri, 15 Jun 2018 23:05:01 +0800 |
27 |
+Subject: [PATCH 1/2] common: Fix build with wayland disabled on FreeBSD |
28 |
+ |
29 |
+HAVE_WAYLAND is always defined. We should check whether it is set to a |
30 |
+non-zero value instead of checking whether it is defined. |
31 |
+ |
32 |
+(cherry picked from commit 34199fa54641abae15199a311002ac726f47aa89) |
33 |
+--- |
34 |
+ plugins/common/gsd-device-manager.c | 2 +- |
35 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
36 |
+ |
37 |
+diff --git a/plugins/common/gsd-device-manager.c b/plugins/common/gsd-device-manager.c |
38 |
+index 541f2948..ff72ad69 100644 |
39 |
+--- a/plugins/common/gsd-device-manager.c |
40 |
++++ b/plugins/common/gsd-device-manager.c |
41 |
+@@ -275,7 +275,7 @@ gsd_device_manager_get (void) |
42 |
+ manager = g_object_get_data (G_OBJECT (screen), "gsd-device-manager-data"); |
43 |
+ |
44 |
+ if (!manager) { |
45 |
+-#ifdef HAVE_WAYLAND |
46 |
++#if HAVE_WAYLAND |
47 |
+ if (gnome_settings_is_wayland ()) { |
48 |
+ manager = g_object_new (GSD_TYPE_UDEV_DEVICE_MANAGER, |
49 |
+ NULL); |
50 |
+-- |
51 |
+2.17.0 |
52 |
+ |
53 |
+ |
54 |
+From 218f1ff0a3c6c500fd36601a4db6902fc1c57a43 Mon Sep 17 00:00:00 2001 |
55 |
+From: Marvin Schmidt <marv@×××××××.org> |
56 |
+Date: Fri, 22 Jun 2018 20:12:50 +0200 |
57 |
+Subject: [PATCH 2/2] build: Fix build when wayland support is disabled |
58 |
+ |
59 |
+The udev based device manager used for wayland environments was built |
60 |
+based on the state of the gudev option instead of the wayland option. |
61 |
+This resulted in an build error when building with `-Dwayland=false` |
62 |
+since the gdk/gdkwayland.h header file is not present on systems without |
63 |
+gdk-wayland-3.0. |
64 |
+ |
65 |
+This patch puts the compilation of the udev based device manager behind |
66 |
+the wayland option and the gdk-wayland-3.0 dependency |
67 |
+ |
68 |
+(cherry picked from commit 51088a9c27d713bbe63359b865603c833eb5a930) |
69 |
+--- |
70 |
+ meson.build | 3 ++- |
71 |
+ plugins/common/meson.build | 4 ++-- |
72 |
+ 2 files changed, 4 insertions(+), 3 deletions(-) |
73 |
+ |
74 |
+diff --git a/meson.build b/meson.build |
75 |
+index 79c493a1..27fdd049 100644 |
76 |
+--- a/meson.build |
77 |
++++ b/meson.build |
78 |
+@@ -129,11 +129,12 @@ if enable_colord |
79 |
+ colord_dep = dependency('colord', version: '>= 1.0.2') |
80 |
+ endif |
81 |
+ |
82 |
+-# Check for libwayland-client |
83 |
++# Check for wayland dependencies |
84 |
+ enable_wayland = get_option('wayland') |
85 |
+ if enable_wayland |
86 |
+ assert(enable_gudev, 'GUDev support is required for wayland support.') |
87 |
+ wayland_client_dep = dependency('wayland-client') |
88 |
++ wayland_gdk_dep = dependency('gdk-wayland-3.0') |
89 |
+ endif |
90 |
+ config_h.set10('HAVE_WAYLAND', enable_wayland) |
91 |
+ |
92 |
+diff --git a/plugins/common/meson.build b/plugins/common/meson.build |
93 |
+index 65a0757c..6bda2d2a 100644 |
94 |
+--- a/plugins/common/meson.build |
95 |
++++ b/plugins/common/meson.build |
96 |
+@@ -42,10 +42,10 @@ if host_is_darwin |
97 |
+ ldflags += ['-Wl,-bundle_loader,@0@'.format(join_paths(), meson.build_root(), meson.project_name(), meson.project_name())] |
98 |
+ endif |
99 |
+ |
100 |
+-if enable_gudev |
101 |
++if enable_wayland |
102 |
+ sources += files('gsd-device-manager-udev.c') |
103 |
+ |
104 |
+- deps += gudev_dep |
105 |
++ deps += [wayland_gdk_dep, gudev_dep] |
106 |
+ endif |
107 |
+ |
108 |
+ if enable_wacom |
109 |
+-- |
110 |
+2.17.0 |
111 |
+ |
112 |
|
113 |
diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1-r1.ebuild |
114 |
similarity index 95% |
115 |
rename from gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1.ebuild |
116 |
rename to gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1-r1.ebuild |
117 |
index 0786e730078..2c04b07b0b1 100644 |
118 |
--- a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1.ebuild |
119 |
+++ b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1-r1.ebuild |
120 |
@@ -26,7 +26,7 @@ COMMON_DEPEND=" |
121 |
>=dev-libs/glib-2.53.0:2 |
122 |
>=gnome-base/gnome-desktop-3.11.1:3= |
123 |
>=gnome-base/gsettings-desktop-schemas-3.23.3 |
124 |
- >=x11-libs/gtk+-3.15.3:3[X] |
125 |
+ >=x11-libs/gtk+-3.15.3:3[X,wayland?] |
126 |
>=dev-libs/libgweather-3.9.5:2= |
127 |
colord? ( |
128 |
>=x11-misc/colord-1.0.2:= |
129 |
@@ -85,6 +85,8 @@ PATCHES=( |
130 |
# Make colord and wacom optional |
131 |
# glib 2.58 compatibility fix; included in 3.29.1+ |
132 |
"${WORKDIR}"/patches/ |
133 |
+ # Fix non-wayland builds; 3.32 won't have this device manager code anymore, so nothing to upstream |
134 |
+ "${FILESDIR}"/${PV}-fix-non-wayland-build.patch |
135 |
) |
136 |
|
137 |
python_check_deps() { |