* Drop --disable-gtk2-dependency and the patch for
gtk/native/Makefile.am: gtk-update-icon-cache is no longer used at
build time and as a result the option was removed.
* Add dependency to libepoxy
* Add dependency to virtual/mesa for wayland-egl
* Package new binaries gtk3-icon-browser and gtk-encode-symbolic-svg
* Add a backported patch that allows server side window decorations
in all cases
Signed-off-by: Jussi Kukkonen jussi.kukko...@intel.com
---
meta/recipes-gnome/gtk+/gtk+3.inc | 14 +--
meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch | 118 +
.../gtk+/gtk+3/fix-flags-for-native.patch | 33 --
.../gtk+/{gtk+3_3.12.2.bb = gtk+3_3.16.3.bb} | 6 +-
4 files changed, 128 insertions(+), 43 deletions(-)
create mode 100644 meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
rename meta/recipes-gnome/gtk+/{gtk+3_3.12.2.bb = gtk+3_3.16.3.bb} (75%)
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc
b/meta/recipes-gnome/gtk+/gtk+3.inc
index 3e36676..3823fb3 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -6,7 +6,7 @@ BUGTRACKER = https://bugzilla.gnome.org/;
SECTION = libs
DEPENDS = glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \
- docbook-utils-native gdk-pixbuf-native
+ docbook-utils-native gdk-pixbuf-native libepoxy
LICENSE = LGPLv2 LGPLv2+ LGPLv2.1+
@@ -22,10 +22,7 @@ do_configure_prepend() {
ln -s ${TARGET_PREFIX}libtool libtool
}
-# Forcibly disable the GTK+ 2 dependency as we don't want to natively build the
-# entire GTK+ stack, or need GTK+ 2 for gtk-update-icon-cache.
EXTRA_OECONF += \
- --disable-gtk2-dependency \
--disable-glibtest \
--disable-xinerama \
--enable-modules \
@@ -37,7 +34,7 @@ PACKAGECONFIG ??= ${@bb.utils.contains(DISTRO_FEATURES,
x11, x11, , d)}
${@bb.utils.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
+PACKAGECONFIG[wayland] =
--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon
virtual/mesa
do_install_append() {
mv ${D}${bindir}/gtk-update-icon-cache
${D}${bindir}/gtk-update-icon-cache-3.0
@@ -48,12 +45,14 @@ LIBV = 3.0.0
FILES_${PN}-demo = ${bindir}/gtk3-demo \
${bindir}/gtk3-demo-application \
+${bindir}/gtk3-icon-browser \
${bindir}/gtk3-widget-factory \
${datadir}/gtk-3.0/demo \
${datadir}/applications/gtk3-demo.desktop \
+${datadir}/applications/gtk3-icon-browser.desktop \
${datadir}/applications/gtk3-widget-factory.desktop \
-${datadir}/icons/hicolor/*/apps/gtk3-demo.png \
-${datadir}/icons/hicolor/*/apps/gtk3-widget-factory.png
+${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
+${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png
# The demo uses PNG files and mime type sniffing, so ensure that these
# dependencies are present.
@@ -62,6 +61,7 @@ RDEPENDS_${PN}-demo += gdk-pixbuf-loader-png
shared-mime-info
FILES_${PN} = ${bindir}/gtk-update-icon-cache-3.0 \
${bindir}/gtk-query-immodules-3.0 \
${bindir}/gtk-launch \
+ ${bindir}/gtk-encode-symbolic-svg \
${libdir}/lib*${SOLIBS} \
${datadir}/themes ${sysconfdir} ${datadir}/glib-2.0/schemas/ \
${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \
diff --git a/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
b/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
new file mode 100644
index 000..32d8a84
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
@@ -0,0 +1,118 @@
+window: Check if we can use CSD before enabling them
+
+Upstream-Status: Backport
+Signed-off-by: Jussi Kukkonen jussi.kukko...@intel.com
+
+
+From c5e5ee67490e7e7af56052d8f8beb75db002c2f1 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi eba...@gnome.org
+Date: Wed, 3 Jun 2015 14:07:29 +0100
+Subject: window: Check if we can use CSD before enabling them
+
+The change in 03213b9509fc1df16c66194ea168aed6c15110e9 changed the rules
+as to when CSD can be enabled, but it also unconditionally enables CSD
+with the implicit assumption that client-side shadows were the real
+issue, and that we could work around that by drawing our own borders.
+This also means that setting a titlebar for a GtkWindow will enable CSD
+unconditionally.
+
+In reality, some window managers (like Matchbox) *only* support