Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v4 0/7] GTK+3 upgrade and related changes
@ 2015-07-06 12:28 Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
  To: openembedded-core

Changes since v3:
* Upgrade intltool: intltool.m4 did a compile test on
  configure and that prevented adwaita from inheriting "allarch".
  intltool 0.51.0 does not have have that problem anymore.
* Bump GTK+3 to 3.16.4 (forgot to do this on v3, apologies).
* adwaita-icon-theme inherits allarch, no longer recommends librsvg-gtk.
  Hires icons are packaged separately.
* rename gtk-update-icon-cache-native recipe to gtk-icon-utils-native
  to better reflect the contents. This also required changes in
  other recipes.



The following changes since commit 7a402301c9c8fa9a5262d6d29b2ea199ff0dc07a:

  distro/package_regex.inc: Use GNOME_STABLE rule for vala (2015-07-02 23:08:41 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib jku/update-gtk3
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/update-gtk3

Jussi Kukkonen (7):
  intltool: Upgrade 0.50.2 -> 0.51.0
  gtk-icon-utils: Rename, upgrade, add binary
  adwaita-icon-theme: Add new icon theme for GTK+
  gtk+3: Upgrade to 3.16.4
  matchbox-session-sato: set GTK_CSD env var
  sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
  midori: Depend on Adwaita, not gnome-icon-theme

 meta-yocto/conf/distro/include/distro_alias.inc    |   2 +-
 meta-yocto/conf/distro/include/maintainers.inc     |   2 +-
 meta/classes/gtk-icon-cache.bbclass                |   2 +-
 meta/classes/sstate.bbclass                        |   2 +-
 .../intltool/intltool-0.50.2/uclibc.patch          |  19 ---
 .../intltool-nowarn.patch                          |   0
 .../noperlcheck.patch                              |   0
 .../remove-xml-check.patch                         |   0
 .../use-nativeperl.patch                           |   0
 .../{intltool_0.50.2.bb => intltool_0.51.0.bb}     |   5 +-
 .../Create-symlinks-when-installing-cursors.patch  | 178 +++++++++++++++++++++
 .../gnome/adwaita-icon-theme_3.16.2.1.bb           |  34 ++++
 meta/recipes-gnome/gtk+/gtk+3.inc                  |  17 +-
 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.4.bb}      |   6 +-
 .../gtk+/gtk-icon-utils-native_3.16.4.bb           |  63 ++++++++
 ...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 ++++++++++++
 .../gtk+/gtk-update-icon-cache-native_3.4.4.bb     |  47 ------
 .../matchbox-sato/matchbox-session-sato/session    |   4 +
 meta/recipes-sato/midori/midori_0.5.8.bb           |   2 +-
 .../0001-Inherit-the-GNOME-icon-theme.patch        |   2 +-
 22 files changed, 519 insertions(+), 119 deletions(-)
 delete mode 100644 meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/intltool-nowarn.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/noperlcheck.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/remove-xml-check.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/use-nativeperl.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool_0.50.2.bb => intltool_0.51.0.bb} (76%)
 create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
 create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
 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.4.bb} (75%)
 create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
 create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb

-- 
2.1.4



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0
  2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary Jussi Kukkonen
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
  To: openembedded-core

* Remove uclibc.patch as the whole localedir guessing code has been
  removed upstream.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 .../intltool/intltool-0.50.2/uclibc.patch             | 19 -------------------
 .../intltool-nowarn.patch                             |  0
 .../{intltool-0.50.2 => intltool}/noperlcheck.patch   |  0
 .../remove-xml-check.patch                            |  0
 .../use-nativeperl.patch                              |  0
 .../{intltool_0.50.2.bb => intltool_0.51.0.bb}        |  5 ++---
 6 files changed, 2 insertions(+), 22 deletions(-)
 delete mode 100644 meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/intltool-nowarn.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/noperlcheck.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/remove-xml-check.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/use-nativeperl.patch (100%)
 rename meta/recipes-devtools/intltool/{intltool_0.50.2.bb => intltool_0.51.0.bb} (76%)

diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch b/meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
deleted file mode 100644
index 145c181..0000000
--- a/meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-on uclibc systems localedir should point to /usr/'share' as usual.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: intltool-0.50.2/intltool.m4
-===================================================================
---- intltool-0.50.2.orig/intltool.m4	2014-03-15 22:09:01.016627665 -0700
-+++ intltool-0.50.2/intltool.m4	2014-03-15 22:12:09.732631206 -0700
-@@ -173,6 +173,9 @@
-     AC_CHECK_FUNC(bind_textdomain_codeset,
-       [DATADIRNAME=share], [DATADIRNAME=lib])
-     ;;
-+    *-*-*uclibc*)
-+    [DATADIRNAME=share]
-+    ;;
-     *)
-     [DATADIRNAME=lib]
-     ;;
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/intltool-nowarn.patch b/meta/recipes-devtools/intltool/intltool/intltool-nowarn.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/intltool-nowarn.patch
rename to meta/recipes-devtools/intltool/intltool/intltool-nowarn.patch
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/noperlcheck.patch b/meta/recipes-devtools/intltool/intltool/noperlcheck.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/noperlcheck.patch
rename to meta/recipes-devtools/intltool/intltool/noperlcheck.patch
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/remove-xml-check.patch b/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/remove-xml-check.patch
rename to meta/recipes-devtools/intltool/intltool/remove-xml-check.patch
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/use-nativeperl.patch b/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/use-nativeperl.patch
rename to meta/recipes-devtools/intltool/intltool/use-nativeperl.patch
diff --git a/meta/recipes-devtools/intltool/intltool_0.50.2.bb b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
similarity index 76%
rename from meta/recipes-devtools/intltool/intltool_0.50.2.bb
rename to meta/recipes-devtools/intltool/intltool_0.51.0.bb
index 483239d..35293c6 100644
--- a/meta/recipes-devtools/intltool/intltool_0.50.2.bb
+++ b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
@@ -3,7 +3,6 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 SRC_URI += "file://intltool-nowarn.patch \
-           file://uclibc.patch \
            ${NATIVEPATCHES} \
            "
 
@@ -15,5 +14,5 @@ NATIVEPATCHES = "file://noperlcheck.patch \
                  file://remove-xml-check.patch"
 NATIVEPATCHES_class-native = "file://use-nativeperl.patch" 
 
-SRC_URI[md5sum] = "23fbd879118253cb99aeac067da5f591"
-SRC_URI[sha256sum] = "67f25c5c6fb71d095793a7f895b245e65e829e8bde68c6c8b4c912144ff34406"
+SRC_URI[md5sum] = "12e517cac2b57a0121cda351570f1e63"
+SRC_URI[sha256sum] = "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary
  2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
  To: openembedded-core

* Rename from gtk-update-icon-cache to gtk-icon-utils to better
  reflect the content. Fix references in other recipes and classes
* Upgrade to GTK+ 3.16.4
* Add gtk-encode-symbolic-svg binary: it is used by icon themes
  (e.g. Adwaita) to generate png versions of svg icons.
* Depend on librsvg-native for gtk-encode-symbolic-svg
* Add a patch that removes Gdk dependency from gtk-encode-symbolic-svg:
  this way the native build stays slim.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta-yocto/conf/distro/include/distro_alias.inc    |   2 +-
 meta-yocto/conf/distro/include/maintainers.inc     |   2 +-
 meta/classes/gtk-icon-cache.bbclass                |   2 +-
 meta/classes/sstate.bbclass                        |   2 +-
 .../gtk+/gtk-icon-utils-native_3.16.4.bb           |  63 +++++++++++++
 ...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 +++++++++++++++++++++
 .../gtk+/gtk-update-icon-cache-native_3.4.4.bb     |  47 ----------
 7 files changed, 169 insertions(+), 51 deletions(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
 create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb

diff --git a/meta-yocto/conf/distro/include/distro_alias.inc b/meta-yocto/conf/distro/include/distro_alias.inc
index 0f8ed55..af35f90 100644
--- a/meta-yocto/conf/distro/include/distro_alias.inc
+++ b/meta-yocto/conf/distro/include/distro_alias.inc
@@ -160,7 +160,7 @@ DISTRO_PN_ALIAS_pn-gtk-doc-stub = "Fedora=gtk-doc Ubuntu=gtk-doc"
 DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
 DISTRO_PN_ALIAS_pn-gtk-sato-engine = "OpenedHand"
 DISTRO_PN_ALIAS_pn-gtk-theme-torturer = "OSPDT upstream=http://wiki.laptop.org/go/GTK_for_OLPC"
-DISTRO_PN_ALIAS_pn-gtk-update-icon-cache-native = "OSPDT"
+DISTRO_PN_ALIAS_pn-gtk-icon-utils-native = "OSPDT"
 DISTRO_PN_ALIAS_pn-gummiboot = "Debian=gummiboot Fedora=gummiboot"
 DISTRO_PN_ALIAS_pn-hello-mod = "OE-Core"
 DISTRO_PN_ALIAS_pn-hostap-conf = "OE-Core"
diff --git a/meta-yocto/conf/distro/include/maintainers.inc b/meta-yocto/conf/distro/include/maintainers.inc
index b80f0c9..f3414ce 100644
--- a/meta-yocto/conf/distro/include/maintainers.inc
+++ b/meta-yocto/conf/distro/include/maintainers.inc
@@ -219,7 +219,7 @@ RECIPE_MAINTAINER_pn-gtk-doc = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
 RECIPE_MAINTAINER_pn-gtk-engines = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
 RECIPE_MAINTAINER_pn-gtk-sato-engine = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
 RECIPE_MAINTAINER_pn-gtk-theme-torturer = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
-RECIPE_MAINTAINER_pn-gtk-update-icon-cache-native = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
+RECIPE_MAINTAINER_pn-gtk-icon-utils-native = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
 RECIPE_MAINTAINER_pn-gtk+ = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
 RECIPE_MAINTAINER_pn-gtk+3 = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
 RECIPE_MAINTAINER_pn-guile = "Robert Yang <liezhi.yang@windriver.com>"
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
index 16e31b9..12358e3 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -1,6 +1,6 @@
 FILES_${PN} += "${datadir}/icons/hicolor"
 
-DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk-update-icon-cache-native"
+DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk-icon-utils-native"
 
 gtk_icon_cache_postinst() {
 if [ "x$D" != "x" ]; then
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 1e2d4f6..4986323 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -807,7 +807,7 @@ def setscene_depvalid(task, taskdependees, notneeded, d):
         return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x
 
     def isPostInstDep(x):
-        if x in ["qemu-native", "gdk-pixbuf-native", "qemuwrapper-cross", "depmodwrapper-cross", "systemd-systemctl-native", "gtk-update-icon-cache-native"]:
+        if x in ["qemu-native", "gdk-pixbuf-native", "qemuwrapper-cross", "depmodwrapper-cross", "systemd-systemctl-native", "gtk-icon-utils-native"]:
             return True
         return False
 
diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
new file mode 100644
index 0000000..d433b90
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
@@ -0,0 +1,63 @@
+SUMMARY = "Native icon utils for GTK+"
+DESCRIPTION = "gtk-update-icon-cache and gtk-encode-symbolic-svg built from GTK+ natively, for build time and on-host postinst script execution."
+SECTION = "libs"
+
+DEPENDS = "glib-2.0-native gdk-pixbuf-native librsvg-native"
+
+LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
+          file://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch"
+SRC_URI[md5sum] = "c7497aaf6730524a127597b768a73bd7"
+SRC_URI[sha256sum] = "1ee5dbd7a4cb81a91eaa1b7ae64ba5a3eab6a3c0a764155583ab96524590fc8e"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+                    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
+                    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
+                    file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
+
+S = "${WORKDIR}/gtk+-${PV}"
+
+inherit pkgconfig native
+
+PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
+
+do_configure() {
+	# Quite ugly but defines enough to compile the tools.
+	if ! test -f gtk/config.h; then
+		echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h
+		echo "#define HAVE_UNISTD_H 1" >> gtk/config.h
+		echo "#define HAVE_FTW_H 1" >> gtk/config.h
+	fi
+	if ! test -f gdk/config.h; then
+		touch gdk/config.h
+	fi
+}
+
+do_compile() {
+	${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
+		${S}/gtk/updateiconcache.c \
+		$(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \
+		-o gtk-update-icon-cache
+
+	${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
+		${S}/gtk/encodesymbolic.c \
+		$(${PKG_CONFIG_FOR_BUILD} --cflags --libs gio-2.0 gdk-pixbuf-2.0) \
+		-o gtk-encode-symbolic-svg
+}
+
+do_install() {
+	install -d ${D}${bindir}
+	install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir}
+	install -m 0755 ${B}/gtk-encode-symbolic-svg ${D}${bindir}
+
+	create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
+		GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+	create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
+		GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+}
+
+# Prevent bitbake from optimizing away the native librsvg sysroot population
+do_populate_sysroot_setscene[depends] += "librsvg-native:do_populate_sysroot_setscene"
diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
new file mode 100644
index 0000000..237f803
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
@@ -0,0 +1,102 @@
+From 4d09ff324419fe4e671233044e424378da53969b Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 9 Jun 2015 14:20:30 +0300
+Subject: [PATCH] Remove Gdk-dependency from gtk-encode-symbolic-svg
+
+Building gtk-encode-symbolic-svg without building Gdk is useful
+as only the icon tools are needed on the native build: this makes
+native build much faster and requires much less dependencies.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ gtk/encodesymbolic.c | 36 ++++++++++--------------------------
+ 1 file changed, 10 insertions(+), 26 deletions(-)
+
+diff --git a/gtk/encodesymbolic.c b/gtk/encodesymbolic.c
+index 9f7d015..1f07563 100644
+--- a/gtk/encodesymbolic.c
++++ b/gtk/encodesymbolic.c
+@@ -19,7 +19,6 @@
+ 
+ #include <glib.h>
+ #include <gdk-pixbuf/gdk-pixdata.h>
+-#include <gdk/gdk.h>
+ #include <glib/gi18n.h>
+ 
+ #ifdef HAVE_UNISTD_H
+@@ -43,30 +42,18 @@ static GdkPixbuf *
+ load_symbolic_svg (char *file_data, gsize file_len,
+                    int width,
+                    int height,
+-                   const GdkRGBA  *fg,
+-                   const GdkRGBA  *success_color,
+-                   const GdkRGBA  *warning_color,
+-                   const GdkRGBA  *error_color,
++                   const char *css_fg,
++                   const char *css_success,
++                   const char *css_warning,
++                   const char *css_error,
+                    GError        **error)
+ {
+   GInputStream *stream;
+   GdkPixbuf *pixbuf;
+-  gchar *css_fg;
+-  gchar *css_success;
+-  gchar *css_warning;
+-  gchar *css_error;
+   gchar *data;
+   gchar *svg_width, *svg_height;
+   gchar *escaped_file_data;
+ 
+-  css_fg = gdk_rgba_to_string (fg);
+-
+-  css_success = css_warning = css_error = NULL;
+-
+-  css_warning = gdk_rgba_to_string (warning_color);
+-  css_error = gdk_rgba_to_string (error_color);
+-  css_success = gdk_rgba_to_string (success_color);
+-
+   /* Fetch size from the original icon */
+   stream = g_memory_input_stream_new_from_data (file_data, file_len, NULL);
+   pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error);
+@@ -105,10 +92,6 @@ load_symbolic_svg (char *file_data, gsize file_len,
+                       "</svg>",
+                       NULL);
+   g_free (escaped_file_data);
+-  g_free (css_fg);
+-  g_free (css_warning);
+-  g_free (css_error);
+-  g_free (css_success);
+   g_free (svg_width);
+   g_free (svg_height);
+ 
+@@ -167,7 +150,8 @@ make_symbolic_pixbuf (char *file,
+                       GError        **error)
+ 
+ {
+-  GdkRGBA r = { 1,0,0,1}, g = {0,1,0,1};
++  const char r[] = "rgba(255,0,0,1)";
++  const char g[] = "rgba(0,255,0,1)";
+   GdkPixbuf *loaded;
+   GdkPixbuf *pixbuf;
+   int plane;
+@@ -196,10 +180,10 @@ make_symbolic_pixbuf (char *file,
+        * the "rest", as all color fractions should add up to 1.
+        */
+       loaded = load_symbolic_svg (file_data, file_len, width, height,
+-                                  &g,
+-                                  plane == 0 ? &r : &g,
+-                                  plane == 1 ? &r : &g,
+-                                  plane == 2 ? &r : &g,
++                                  g,
++                                  plane == 0 ? r : g,
++                                  plane == 1 ? r : g,
++                                  plane == 2 ? r : g,
+                                   error);
+       if (loaded == NULL)
+         return NULL;
+-- 
+2.1.4
+
diff --git a/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb b/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
deleted file mode 100644
index 73b7644..0000000
--- a/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "gtk-update-icon-cache built natively"
-DESCRIPTION = "Just gtk-update-icon-cache built from GTK+ natively, for on-host postinst script execution."
-SECTION = "libs"
-
-DEPENDS = "gdk-pixbuf-native"
-
-LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
-                    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
-                    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
-                    file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
-
-SRC_URI = "http://download.gnome.org/sources/gtk+/3.4/gtk+-${PV}.tar.xz"
-SRC_URI[md5sum] = "1b2cf29502a6394e8d4b30f7f5bb9131"
-SRC_URI[sha256sum] = "f154e460075034da4c0ce89c320025dcd459da2a1fdf32d92a09522eaca242c7"
-
-S = "${WORKDIR}/gtk+-${PV}"
-
-inherit pkgconfig native
-
-PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
-
-do_configure() {
-	# Quite ugly but defines enough to compile the tool.
-	if ! test -f gtk/config.h; then
-		echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h
-		echo "#define HAVE_UNISTD_H 1" >> gtk/config.h
-		echo "#define HAVE_FTW_H 1" >> gtk/config.h
-
-	fi
-}
-
-do_compile() {
-	${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} ${S}/gtk/updateiconcache.c \
-	$(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \
-		-o gtk-update-icon-cache 
-}
-
-do_install() {
-	install -d ${D}${bindir}
-        install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir}
-
-	create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
-		GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
-
-}
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+
  2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4 Jussi Kukkonen
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
  To: openembedded-core

Adwaita is a complete icon theme for GTK+, and the current GNOME icon
theme. Most importantly it includes the symbolic icons used extensively
in GTK+3 widgets.
* Package icons, large icons, symbolic icons and cursors separately
* Backport a build fix for the cursor theme to cut installed size by
  11MB.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 .../Create-symlinks-when-installing-cursors.patch  | 178 +++++++++++++++++++++
 .../gnome/adwaita-icon-theme_3.16.2.1.bb           |  34 ++++
 2 files changed, 212 insertions(+)
 create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
 create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb

diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch b/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
new file mode 100644
index 0000000..446f9c9
--- /dev/null
+++ b/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
@@ -0,0 +1,178 @@
+Create symlinks when installing cursors
+
+This cuts down the installed size by ~11MB.
+
+Upstream-Status: Backport
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+
+From 1e8c0dd0a2de5e1d5ff60ff11f131e88510c7f50 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?=
+ =?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= <lrn1986@gmail.com>
+Date: Sat, 16 May 2015 07:49:19 +0000
+Subject: [PATCH] Create symlinks when installing cursors
+
+Also support creating symlinks for W32 cursors (including L and XL variants).
+
+https://bugzilla.gnome.org/show_bug.cgi?id=749223
+---
+ Makefile.am  | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 24 ++++++++++++++++
+ 2 files changed, 117 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index fed3972..4d00268 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,6 +6,17 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+ 
+ cursordir = $(datadir)/icons/Adwaita/cursors
+ cursor_DATA = $(wildcard $(srcdir)/Adwaita/cursors/*)
++if ENABLE_L_XL_VARIANTS
++cursorldir = $(datadir)/icons/Adwaita-Large/cursors
++cursorl_DATA = $(wildcard $(srcdir)/Adwaita-Large/cursors/*)
++cursorxldir = $(datadir)/icons/Adwaita-ExtraLarge/cursors
++cursorxl_DATA = $(wildcard $(srcdir)/Adwaita-ExtraLarge/cursors/*)
++else
++cursorldir =
++cursorl_DATA =
++cursorxldir =
++cursorxl_DATA =
++endif
+ 
+ theme_in_files = index.theme.in.in
+ theme_DATA = $(theme_in_files:.theme.in.in=.theme)
+@@ -99,6 +110,88 @@ install-data-local:
+ 	fi
+ 
+ install-data-hook:
++	cd $(DESTDIR)$(cursordir) && \
++	if test "x$(enable_w32_cursors)" = "xyes"; \
++	then \
++		cur=.cur && \
++		ani=.ani; \
++	else \
++		cur= && \
++		ani= ; \
++	fi; \
++	if test "x$(enable_l_xl_variants)" = "xyes"; \
++	then \
++		themedirs="$(cursordir) $(cursorldir) $(cursorxldir)"; \
++	else \
++		themedirs="$(cursordir)"; \
++	fi; \
++	for d in $$themedirs; \
++	do \
++		cd $(DESTDIR)$$d && \
++		echo Creating symlinks in $(DESTDIR)$$d && \
++		$(LN_S) -f  dotbox$$cur			draped_box$$cur && \
++		$(LN_S) -f  dotbox$$cur			icon$$cur && \
++		$(LN_S) -f  dotbox$$cur			target$$cur && \
++		$(LN_S) -f  dotbox$$cur			dot_box_mask$$cur && \
++		$(LN_S) -f  X_cursor$$cur		pirate$$cur && \
++		$(LN_S) -f  left_ptr_watch$$ani		08e8e1c95fe2fc01f976f1e063a24ccd$$ani && \
++		$(LN_S) -f  left_ptr_watch$$ani		3ecb610c1bf2410f44200f48c40d3599$$ani && \
++		$(LN_S) -f  left_ptr$$cur		arrow$$cur && \
++		$(LN_S) -f  left_ptr$$cur		top_left_arrow$$cur && \
++		$(LN_S) -f  right_ptr$$cur		draft_large$$cur && \
++		$(LN_S) -f  right_ptr$$cur		draft_small$$cur && \
++		$(LN_S) -f  move$$cur			4498f0e0c1937ffe01fd06f973665830$$cur && \
++		$(LN_S) -f  move$$cur			9081237383d90e509aa00f00170e968f$$cur && \
++		$(LN_S) -f  copy$$cur			1081e37283d90000800003c07f3ef6bf$$cur && \
++		$(LN_S) -f  copy$$cur			6407b0e94181790501fd1e167b474872$$cur && \
++		$(LN_S) -f  cross$$cur			cross_reverse$$cur && \
++		$(LN_S) -f  cross$$cur			diamond_cross$$cur && \
++		$(LN_S) -f  hand1$$cur			grab$$cur && \
++		$(LN_S) -f  hand2$$cur			9d800788f1b08800ae810202380a0822$$cur && \
++		$(LN_S) -f  hand2$$cur			e29285e634086352946a0e7090d73106$$cur && \
++		$(LN_S) -f  hand2$$cur			hand$$cur && \
++		$(LN_S) -f  grabbing$$cur		fleur$$cur && \
++		$(LN_S) -f  question_arrow$$cur		d9ce0ab605698f320427677b458ad60b$$cur && \
++		$(LN_S) -f  question_arrow$$cur		5c6cd98b3f3ebcb1f9c7f1c204630408$$cur && \
++		$(LN_S) -f  question_arrow$$cur		help$$cur && \
++		$(LN_S) -f  question_arrow$$cur		left_ptr_help$$cur && \
++		$(LN_S) -f  link$$cur			3085a0e285430894940527032f8b26df$$cur && \
++		$(LN_S) -f  link$$cur			640fb0e74195791501fd1ed57b41487f$$cur && \
++		$(LN_S) -f  crossed_circle$$cur		03b6e0fcb3499374a867c041f52298f0$$cur && \
++		$(LN_S) -f  fd_double_arrow$$cur	fcf1c3c7cd4491d801f1e1c78f100000$$cur && \
++		$(LN_S) -f  bd_double_arrow$$cur	c7088f0f3e6c8088236ef8e1e3e70000$$cur && \
++		$(LN_S) -f  sb_h_double_arrow$$cur 	h_double_arrow$$cur && \
++		$(LN_S) -f  sb_h_double_arrow$$cur	14fef782d02440884392942c11205230$$cur && \
++		$(LN_S) -f  h_double_arrow$$cur		028006030e0e7ebffc7f7070c0600140$$cur && \
++		$(LN_S) -f  sb_v_double_arrow$$cur 	double_arrow$$cur && \
++		$(LN_S) -f  sb_v_double_arrow$$cur 	v_double_arrow$$cur && \
++		$(LN_S) -f  sb_v_double_arrow$$cur	2870a09082c103050810ffdffffe0204$$cur && \
++		$(LN_S) -f  v_double_arrow$$cur		00008160000006810000408080010102$$cur && \
++		$(LN_S) -f  left_ptr$$cur		default$$cur && \
++		$(LN_S) -f  hand$$cur			pointer$$cur && \
++		$(LN_S) -f  left_ptr_watch$$ani		progress$$ani && \
++		$(LN_S) -f  watch$$ani			wait$$ani && \
++		$(LN_S) -f  cross$$cur			crosshair$$cur && \
++		$(LN_S) -f  xterm$$cur			text$$cur && \
++		$(LN_S) -f  dnd-link$$cur		alias$$cur && \
++		$(LN_S) -f  dnd-copy$$cur		copy$$cur && \
++		$(LN_S) -f  dnd-none$$cur		no-drop$$cur && \
++		$(LN_S) -f  crossed_circle$$cur		not-allowed$$cur && \
++		$(LN_S) -f  sb_h_double_arrow$$cur	col-resize$$cur && \
++		$(LN_S) -f  sb_v_double_arrow$$cur	row-resize$$cur && \
++		$(LN_S) -f  top_side$$cur		n-resize$$cur && \
++		$(LN_S) -f  right_side$$cur		e-resize$$cur && \
++		$(LN_S) -f  bottom_side$$cur		s-resize$$cur && \
++		$(LN_S) -f  left_side$$cur		w-resize$$cur && \
++		$(LN_S) -f  top_right_corner$$cur	ne-resize$$cur && \
++		$(LN_S) -f  top_left_corner$$cur	nw-resize$$cur && \
++		$(LN_S) -f  bottom_right_corner$$cur	se-resize$$cur && \
++		$(LN_S) -f  bottom_left_corner$$cur	sw-resize$$cur && \
++		$(LN_S) -f  sb_h_double_arrow$$cur	ew-resize$$cur && \
++		$(LN_S) -f  sb_v_double_arrow$$cur	ns-resize$$cur && \
++		$(LN_S) -f  fd_double_arrow$$cur	nesw-resize$$cur && \
++		$(LN_S) -f  bd_double_arrow$$cur	nwse-resize$$cur; \
++	done
+ 	if test -z "$(DESTDIR)" && test -n "$(GTK_UPDATE_ICON_CACHE)" ; then \
+ 		$(GTK_UPDATE_ICON_CACHE) -q $(DESTDIR)$(themedir); \
+ 	fi
+diff --git a/configure.ac b/configure.ac
+index 9e4d8a0..312b24c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,6 +31,7 @@ AC_SUBST([render_sizes], ["8x8 16x16 22x22 24x24 32x32 48x48 256x256"])
+ AC_SUBST([symbolic_render_sizes], [""])
+ AC_SUBST([install_sizes], ["8x8 16x16 22x22 24x24 32x32 48x48 64x64 96x96 256x256"])
+ 
++AC_PROG_LN_S
+ AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache)
+ 
+ # need git, icontool, and inkscape for rendering
+@@ -56,6 +57,29 @@ if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then
+ fi
+ AC_SUBST(symbolic_encode_sizes)
+ 
++AC_ARG_ENABLE([w32-cursors],
++  [AS_HELP_STRING([--enable-w32-cursors],
++    [Make and install Windows cursors (.cur and .ani) instead of X cursors])],
++  [case "${enableval}" in
++    yes) enable_w32_cursors=yes ;;
++    no)  enable_w32_cursors=no ;;
++    *) AC_MSG_ERROR([bad value ${enableval} for --enable-w32-cursors]) ;;
++   esac],
++  [enable_w32_cursors=no])
++AC_SUBST(enable_w32_cursors)
++
++AC_ARG_ENABLE([l-xl-variants],
++  [AS_HELP_STRING([--enable-l-xl-variants],
++    [Also make and install Large and Extra Large Windows cursor versions])],
++  [case "${enableval}" in
++    yes) enable_l_xl_variants=yes ;;
++    no)  enable_l_xl_variants=no ;;
++    *) AC_MSG_ERROR([bad value ${enableval} for --enable-l-xl-variants]) ;;
++   esac],
++  [enable_l_xl_variants=no])
++AC_SUBST(enable_l_xl_variants)
++AM_CONDITIONAL([ENABLE_L_XL_VARIANTS], [test x$enable_l_xl_variants = xyes])
++
+ AC_CONFIG_FILES([
+ Makefile
+ adwaita-icon-theme.pc
+-- 
+2.1.4
+
diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
new file mode 100644
index 0000000..526e699
--- /dev/null
+++ b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "GTK+ icon theme"
+HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "LGPL-3.0 | CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c"
+
+inherit allarch autotools pkgconfig gettext gtk-icon-cache
+
+DEPENDS += "intltool-native"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
+           file://Create-symlinks-when-installing-cursors.patch \
+          "
+
+SRC_URI[md5sum] = "9ef86952c947aa27a1a888b7735d60b3"
+SRC_URI[sha256sum] = "b4556dfbf555d4fac12d4d5c12f7519de0d43ec42a1b649611439a50bf7acb96"
+
+do_install_append() {
+	# Build uses gtk-encode-symbolic-svg to create png versions:
+        # no need to store the svgs anymore.
+	rm -f ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic.svg \
+	      ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic-rtl.svg
+}
+
+PACKAGES = "${PN}-cursors ${PN}-symbolic ${PN}-hires ${PN}"
+
+FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
+FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/*/*/*.symbolic.png"
+FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/"
+FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
+               ${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4
  2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (2 preceding siblings ...)
  2015-07-06 12:28 ` [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
  To: openembedded-core

* 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
* RRECOMMEND adwaita-icon-theme-symbolic: GTK+ widgets expect a
  symbolic theme to be installed

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>

gtk+3: SQUASH

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta/recipes-gnome/gtk+/gtk+3.inc                  |  17 +--
 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.4.bb}      |   6 +-
 4 files changed, 130 insertions(+), 44 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.4.bb} (75%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 3e36676..f29f0d3 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.
@@ -76,7 +75,8 @@ FILES_${PN}-dev += " \
                     ${libdir}/gtk-3.0/3.0.0/printbackends/*.la \
                     ${libdir}/gtk-3.0/${LIBV}/engines/*.la \
                     ${libdir}/gtk-3.0/modules/*.la \
-                    ${bindir}/gtk-builder-convert"
+                    ${bindir}/gtk-builder-convert \
+                    ${bindir}/gtk-encode-symbolic-svg"
 
 FILES_${PN}-dbg += " \
                     ${libdir}/gtk-3.0/${LIBV}/loaders/.debug \
@@ -85,6 +85,7 @@ FILES_${PN}-dbg += " \
                     ${libdir}/gtk-3.0/${LIBV}/printbackends/.debug \
                     ${libdir}/gtk-3.0/modules/.debug"
 
+RRECOMMENDS_${PN} = "adwaita-icon-theme-symbolic"
 
 PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
 
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 0000000..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.kukkonen@intel.com>
+
+
+From c5e5ee67490e7e7af56052d8f8beb75db002c2f1 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@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
+server-side decorations, and will ignore all hints to the contrary, to
+the point of drawing decorations at random locations on top of the
+window.
+
+Since CSD are enabled unconditionally, the GTK_CSD environment variable
+is also not a suitable escape hatch.
+
+In the grand tradition of asking ourselves if we should do something
+just because we can, we should split the environment checks from the
+checks on what the user requested; by doing that, we can also check
+when enabling client-side decorations, and ideally bail out if needed.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=750343
+
+diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
+index 423c6bd..9fe882f 100644
+--- a/gtk/gtkwindow.c
++++ b/gtk/gtkwindow.c
+@@ -4056,6 +4056,32 @@ gtk_window_supports_client_shadow (GtkWindow *window)
+   return TRUE;
+ }
+ 
++static gboolean
++gtk_window_can_use_csd (GtkWindow *window)
++{
++  const gchar *csd_env;
++
++#ifdef GDK_WINDOWING_BROADWAY
++  if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
++    return TRUE;
++#endif
++
++#ifdef GDK_WINDOWING_WAYLAND
++  if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
++    return TRUE;
++#endif
++
++#ifdef GDK_WINDOWING_MIR
++  if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
++    return TRUE;
++#endif
++
++  csd_env = g_getenv ("GTK_CSD");
++
++  /* If GTK_CSD is unset we default to CSD support */
++  return csd_env == NULL || (strcmp (csd_env, "1") == 0);
++}
++
+ static void
+ gtk_window_enable_csd (GtkWindow *window)
+ {
+@@ -4063,6 +4089,10 @@ gtk_window_enable_csd (GtkWindow *window)
+   GtkWidget *widget = GTK_WIDGET (window);
+   GdkVisual *visual;
+ 
++  /* If the environment does not support CSD, then there's no point in enabling them */
++  if (!gtk_window_can_use_csd (window))
++    return;
++
+   /* We need a visual with alpha for client shadows */
+   if (priv->use_client_shadow)
+     {
+@@ -5839,7 +5869,6 @@ static gboolean
+ gtk_window_should_use_csd (GtkWindow *window)
+ {
+   GtkWindowPrivate *priv = window->priv;
+-  const gchar *csd_env;
+ 
+   if (priv->csd_requested)
+     return TRUE;
+@@ -5850,24 +5879,7 @@ gtk_window_should_use_csd (GtkWindow *window)
+   if (priv->type == GTK_WINDOW_POPUP)
+     return FALSE;
+ 
+-#ifdef GDK_WINDOWING_BROADWAY
+-  if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+-    return TRUE;
+-#endif
+-
+-#ifdef GDK_WINDOWING_WAYLAND
+-  if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+-    return TRUE;
+-#endif
+-
+-#ifdef GDK_WINDOWING_MIR
+-  if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+-    return TRUE;
+-#endif
+-
+-  csd_env = g_getenv ("GTK_CSD");
+-
+-  return (g_strcmp0 (csd_env, "1") == 0);
++  return gtk_window_can_use_csd (window);
+ }
+ 
+ static void
+-- 
+cgit v0.10.2
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch b/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
deleted file mode 100644
index 9ae1088..0000000
--- a/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Fri, 28 Mar 2014 03:10:12 +0000
-Subject: [PATCH] gtk/native/Makefile.am: unset target FLAGS for native build
-
-The target gtk+3 does a native build in its "native" directory, we need
-unset the target FLAGS for native build, otherwise, there might be build
-failures.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- gtk/native/Makefile.am | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am
-index 64899e9..a1c814a 100644
---- a/gtk/native/Makefile.am
-+++ b/gtk/native/Makefile.am
-@@ -3,6 +3,9 @@ AM_CFLAGS = @CFLAGS_FOR_BUILD@
- CPP = @CPP_FOR_BUILD@
- AM_CPPFLAGS = @CPPFLAGS_FOR_BUILD@
- AM_LDFLAGS = @LDFLAGS_FOR_BUILD@
-+CFLAGS =
-+CPPFLAGS =
-+LDFLAGS =
- 
- if CROSS_COMPILING
- if !USE_EXTERNAL_ICON_CACHE
--- 
-1.8.3.4
-
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb b/meta/recipes-gnome/gtk+/gtk+3_3.16.4.bb
similarity index 75%
rename from meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.16.4.bb
index f4f1971..3a45afc 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.16.4.bb
@@ -4,11 +4,11 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
            file://hardcoded_libtool.patch \
-           file://fix-flags-for-native.patch \
+           file://Dont-force-csd.patch \
           "
 
-SRC_URI[md5sum] = "0d6d8f9f79132b3b47475d047b369b1c"
-SRC_URI[sha256sum] = "61d74eea74231b1ea4b53084a9d6fc9917ab0e1d71b69d92cbf60a4b4fb385d0"
+SRC_URI[md5sum] = "c7497aaf6730524a127597b768a73bd7"
+SRC_URI[sha256sum] = "1ee5dbd7a4cb81a91eaa1b7ae64ba5a3eab6a3c0a764155583ab96524590fc8e"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var
  2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (3 preceding siblings ...)
  2015-07-06 12:28 ` [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4 Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
  2015-07-06 12:28 ` [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
  2015-07-06 12:29 ` [PATCH v4 7/7] midori: Depend on " Jussi Kukkonen
  6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
  To: openembedded-core

Sato practically requires server side decorations as matchbox panel
draws on top of the title bar. Setting "GTK_CSD=0" informs GTK+3
that we really want server side decorations even for apps designed
for CSD.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta/recipes-sato/matchbox-sato/matchbox-session-sato/session | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session b/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
index a3138b6..42ce483 100644
--- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
+++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
@@ -14,6 +14,10 @@ else
     KEYBOARD_APPLET="keyboard"
 fi
 
+# Tell GTK+3 we really want server side decorations, even with
+# GtkHeaderBar using applications: Without that mb-panel will render
+# on top of the client side decorations.
+export GTK_CSD=0
 
 matchbox-desktop &
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
  2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (4 preceding siblings ...)
  2015-07-06 12:28 ` [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
  2015-07-06 12:29 ` [PATCH v4 7/7] midori: Depend on " Jussi Kukkonen
  6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
  To: openembedded-core

Adwaita is the current GNOME icon theme.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 .../sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch             | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch b/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
index fa595dc..2c176ee 100644
--- a/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
+++ b/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
@@ -22,7 +22,7 @@ index c4b03a7..688fbbf 100644
  [Icon Theme]
  Name=Sato
  Comment=Sato icon theme
-+Inherits=gnome
++Inherits=Adwaita
  
  Directories=16x16/apps,16x16/status,16x16/stock,16x16/places,16x16/mimetypes,16x16/devices,16x16/actions,22x22/apps,22x22/status,22x22/stock,22x22/places,22x22/mimetypes,22x22/devices,22x22/actions,32x32/apps,32x32/status,32x32/stock,32x32/places,32x32/mimetypes,32x32/devices,32x32/actions,48x48/apps,48x48/status,48x48/stock,48x48/places,48x48/mimetypes,48x48/devices,48x48/actions,64x64/apps,64x64/status,64x64/stock,64x64/places,64x64/mimetypes,64x64/devices,64x64/actions,
  
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 7/7] midori: Depend on Adwaita, not gnome-icon-theme
  2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (5 preceding siblings ...)
  2015-07-06 12:28 ` [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
@ 2015-07-06 12:29 ` Jussi Kukkonen
  6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:29 UTC (permalink / raw)
  To: openembedded-core

Adwaita is the current GNOME icon theme.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta/recipes-sato/midori/midori_0.5.8.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-sato/midori/midori_0.5.8.bb b/meta/recipes-sato/midori/midori_0.5.8.bb
index aa1b395..1c027fe4 100644
--- a/meta/recipes-sato/midori/midori_0.5.8.bb
+++ b/meta/recipes-sato/midori/midori_0.5.8.bb
@@ -26,6 +26,6 @@ EXTRA_OECMAKE = " \
 
 TARGET_CC_ARCH += "${LDFLAGS}"
 
-RRECOMMENDS_${PN} += "glib-networking ca-certificates gnome-icon-theme"
+RRECOMMENDS_${PN} += "glib-networking ca-certificates adwaita-icon-theme"
 
 FILES_${PN} += "${datadir}/appdata"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-07-06 12:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4 Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
2015-07-06 12:29 ` [PATCH v4 7/7] midori: Depend on " Jussi Kukkonen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox