Patchwork [09/14] gtk+3: respect x11 and wayland DISTRO_FEATURES

login
register
mail settings
Submitter Ross Burton
Date May 30, 2013, 1:52 p.m.
Message ID <bb2b294de2289e89d1014f9bb1e1f9b5d9686456.1369921759.git.ross.burton@intel.com>
Download mbox | patch
Permalink /patch/50857/
State Accepted
Commit 7e9fd6c6152b08720ff26a87f0903af528b412c8
Headers show

Comments

Ross Burton - May 30, 2013, 1:52 p.m.
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 .../gtk+/gtk+3/no-x11-in-wayland.patch             |   32 ++++++++++++++++++++
 meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb             |   15 ++++++---
 2 files changed, 43 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/no-x11-in-wayland.patch

Patch

diff --git a/meta/recipes-gnome/gtk+/gtk+3/no-x11-in-wayland.patch b/meta/recipes-gnome/gtk+/gtk+3/no-x11-in-wayland.patch
new file mode 100644
index 0000000..df0921a
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/no-x11-in-wayland.patch
@@ -0,0 +1,32 @@ 
+The Wayland backend was including X11 headers, which won't work in a no-X11
+distro.
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 875b1d07ded377b20acbf1a10cae847f56de05b4 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Thu, 23 May 2013 12:26:26 -0400
+Subject: [PATCH] Don't include X11 headers in wayland
+
+The include of X11/keysyms.h in gdkdevice-wayland.c was just
+a leftover.
+---
+ gdk/wayland/gdkdevice-wayland.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
+index c258be3..cd4a695 100644
+--- a/gdk/wayland/gdkdevice-wayland.c
++++ b/gdk/wayland/gdkdevice-wayland.c
+@@ -32,7 +32,6 @@
+ #include "gdkdevicemanagerprivate.h"
+ 
+ #include <xkbcommon/xkbcommon.h>
+-#include <X11/keysym.h>
+ 
+ #include <sys/time.h>
+ #include <sys/mman.h>
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb b/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb
index 9bd5b9d..1e0fed2 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb
@@ -5,9 +5,8 @@  HOMEPAGE = "http://www.gtk.org"
 BUGTRACKER = "https://bugzilla.gnome.org/"
 SECTION = "libs"
 
-DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \
-           docbook-utils-native libxrandr libgcrypt \
-           libxdamage libxrender libxcomposite libxi cairo gdk-pixbuf gdk-pixbuf-native"
+DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf libgcrypt \
+           docbook-utils-native gdk-pixbuf-native"
 
 LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
 
@@ -18,7 +17,9 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
 
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
-SRC_URI = "http://download.gnome.org/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz"
+SRC_URI = "http://download.gnome.org/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
+           file://no-x11-in-wayland.patch"
+
 SRC_URI[md5sum] = "8e878e18fc385f2b813419dc7b40a968"
 SRC_URI[sha256sum] = "1ca80c9c15a1df95d74cefb8c2afe4682ba272a4b489106f04877be2a7aff297"
 
@@ -46,6 +47,12 @@  EXTRA_OECONF += " \
                  --disable-introspection \
 "
 
+PACKAGECONFIG ??= "${@base_contains("DISTRO_FEATURES", "x11", "x11", "", d)} \
+                   ${@base_contains("DISTRO_FEATURES", "wayland", "wayland", "", d)}"
+
+PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
+PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon"
+
 do_install_append() {
 	mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
 }