summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2019-03-03 20:49:47 +0200
committerMart Raudsepp <leio@gentoo.org>2019-03-03 20:59:05 +0200
commit96b8094548016d7e68aa6893416bba74103470c7 (patch)
tree24b879ec7cba98305bf026da862bd1fabe39ab77
parentRevert "dev-libs/libressl: drop old versions" (diff)
downloadgentoo-96b8094548016d7e68aa6893416bba74103470c7.tar.gz
gentoo-96b8094548016d7e68aa6893416bba74103470c7.tar.bz2
gentoo-96b8094548016d7e68aa6893416bba74103470c7.zip
gnome-base/gnome-settings-daemon: fix non-wayland builds
Bug: https://bugs.gentoo.org/677494 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
-rw-r--r--gnome-base/gnome-settings-daemon/files/3.28.1-fix-non-wayland-build.patch88
-rw-r--r--gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1-r1.ebuild (renamed from gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.28.1.ebuild)4
2 files changed, 91 insertions, 1 deletions
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
new file mode 100644
index 00000000000..dd003d6c069
--- /dev/null
+++ b/gnome-base/gnome-settings-daemon/files/3.28.1-fix-non-wayland-build.patch
@@ -0,0 +1,88 @@
+From 91d5e708835b4c7810835d59b8ef5968454cfd0a Mon Sep 17 00:00:00 2001
+From: Ting-Wei Lan <lantw@src.gnome.org>
+Date: Fri, 15 Jun 2018 23:05:01 +0800
+Subject: [PATCH 1/2] common: Fix build with wayland disabled on FreeBSD
+
+HAVE_WAYLAND is always defined. We should check whether it is set to a
+non-zero value instead of checking whether it is defined.
+
+(cherry picked from commit 34199fa54641abae15199a311002ac726f47aa89)
+---
+ plugins/common/gsd-device-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/common/gsd-device-manager.c b/plugins/common/gsd-device-manager.c
+index 541f2948..ff72ad69 100644
+--- a/plugins/common/gsd-device-manager.c
++++ b/plugins/common/gsd-device-manager.c
+@@ -275,7 +275,7 @@ gsd_device_manager_get (void)
+ manager = g_object_get_data (G_OBJECT (screen), "gsd-device-manager-data");
+
+ if (!manager) {
+-#ifdef HAVE_WAYLAND
++#if HAVE_WAYLAND
+ if (gnome_settings_is_wayland ()) {
+ manager = g_object_new (GSD_TYPE_UDEV_DEVICE_MANAGER,
+ NULL);
+--
+2.17.0
+
+
+From 218f1ff0a3c6c500fd36601a4db6902fc1c57a43 Mon Sep 17 00:00:00 2001
+From: Marvin Schmidt <marv@exherbo.org>
+Date: Fri, 22 Jun 2018 20:12:50 +0200
+Subject: [PATCH 2/2] build: Fix build when wayland support is disabled
+
+The udev based device manager used for wayland environments was built
+based on the state of the gudev option instead of the wayland option.
+This resulted in an build error when building with `-Dwayland=false`
+since the gdk/gdkwayland.h header file is not present on systems without
+gdk-wayland-3.0.
+
+This patch puts the compilation of the udev based device manager behind
+the wayland option and the gdk-wayland-3.0 dependency
+
+(cherry picked from commit 51088a9c27d713bbe63359b865603c833eb5a930)
+---
+ meson.build | 3 ++-
+ plugins/common/meson.build | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 79c493a1..27fdd049 100644
+--- a/meson.build
++++ b/meson.build
+@@ -129,11 +129,12 @@ if enable_colord
+ colord_dep = dependency('colord', version: '>= 1.0.2')
+ endif
+
+-# Check for libwayland-client
++# Check for wayland dependencies
+ enable_wayland = get_option('wayland')
+ if enable_wayland
+ assert(enable_gudev, 'GUDev support is required for wayland support.')
+ wayland_client_dep = dependency('wayland-client')
++ wayland_gdk_dep = dependency('gdk-wayland-3.0')
+ endif
+ config_h.set10('HAVE_WAYLAND', enable_wayland)
+
+diff --git a/plugins/common/meson.build b/plugins/common/meson.build
+index 65a0757c..6bda2d2a 100644
+--- a/plugins/common/meson.build
++++ b/plugins/common/meson.build
+@@ -42,10 +42,10 @@ if host_is_darwin
+ ldflags += ['-Wl,-bundle_loader,@0@'.format(join_paths(), meson.build_root(), meson.project_name(), meson.project_name())]
+ endif
+
+-if enable_gudev
++if enable_wayland
+ sources += files('gsd-device-manager-udev.c')
+
+- deps += gudev_dep
++ deps += [wayland_gdk_dep, gudev_dep]
+ endif
+
+ if enable_wacom
+--
+2.17.0
+
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
index 0786e730078..2c04b07b0b1 100644
--- 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
@@ -26,7 +26,7 @@ COMMON_DEPEND="
>=dev-libs/glib-2.53.0:2
>=gnome-base/gnome-desktop-3.11.1:3=
>=gnome-base/gsettings-desktop-schemas-3.23.3
- >=x11-libs/gtk+-3.15.3:3[X]
+ >=x11-libs/gtk+-3.15.3:3[X,wayland?]
>=dev-libs/libgweather-3.9.5:2=
colord? (
>=x11-misc/colord-1.0.2:=
@@ -85,6 +85,8 @@ PATCHES=(
# Make colord and wacom optional
# glib 2.58 compatibility fix; included in 3.29.1+
"${WORKDIR}"/patches/
+ # Fix non-wayland builds; 3.32 won't have this device manager code anymore, so nothing to upstream
+ "${FILESDIR}"/${PV}-fix-non-wayland-build.patch
)
python_check_deps() {