Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/6] GTK+3 upgrade and related changes
@ 2015-06-11 13:24 Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-11 13:24 UTC (permalink / raw)
  To: openembedded-core

Patch set upgrades GTK+3 and adds adwaita-icon-theme: Current GTK+
requires a theme with "symbolic" (single color) icons for the
widgets to look decent -- and gnome-icon-theme does not provide them.
In practice Adwaita is the successor of now unmaintained
gnome-icon-theme so dropping gnome-icon-theme at some point would
make sense.

Adwaita includes lots of symbolic svg icons: The build uses
gtk-encode-symbolic-svg at install time to convert them to png. This
means both smaller installed size and faster rendering on target but
takes a moment at install time: >2 minutes on my fairly beefy
machine.

The new symbolic icons have also increased the installed size:
    gnome-icon-theme: 14 MB
    adwaita-icon-theme: 24 MB
    adwaita-icon-theme-cursors: 12 MB
(gnome-icon-theme does not include cursors at all)


Cheers,
 Jussi


The following changes since commit 062678c4ab88fa94ed38efa6520c3b4e2d88ca73:

  sysvinit: Only enable recipe in builds where its applicable (2015-06-10 12:03:19 +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 (6):
  gtk+3: Upgrade to 3.16.3
  gtk-update-icon-cache-native: Upgrade, add binary
  matchbox-session-sato: set GTK_CSD env var
  adwaita-icon-theme: Add new icon theme for GTK+
  sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
  midori: Depend on Adwaita, not gnome-icon-theme

 .../Create-symlinks-when-installing-cursors.patch  | 178 +++++++++++++++++++++
 .../gnome/adwaita-icon-theme_3.16.2.1.bb           |  34 ++++
 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.bb => gtk-update-icon-cache-native_3.16.3.bb} |  41 +++--
 ...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 ++++++++++++
 .../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 +-
 11 files changed, 475 insertions(+), 59 deletions(-)
 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.3.bb} (75%)
 rename meta/recipes-gnome/gtk+/{gtk-update-icon-cache-native_3.4.4.bb => gtk-update-icon-cache-native_3.16.3.bb} (42%)
 create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch

-- 
2.1.4



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

* [PATCH 1/6] gtk+3: Upgrade to 3.16.3
  2015-06-11 13:24 [PATCH 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
@ 2015-06-11 13:24 ` Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 2/6] gtk-update-icon-cache-native: Upgrade, add binary Jussi Kukkonen
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-11 13:24 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

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@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 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.3.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.3.bb
index f4f1971..b73789e 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.16.3.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] = "af22a1a753ea9b182babfed9d8b38228"
+SRC_URI[sha256sum] = "2943fd4a6b02c2a9b2edd231c1d8f7a1d2f8d36996f14310d34f503dca9ebea4"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.1.4



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

* [PATCH 2/6] gtk-update-icon-cache-native: Upgrade, add binary
  2015-06-11 13:24 [PATCH 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
@ 2015-06-11 13:24 ` Jussi Kukkonen
  2015-06-12  8:52   ` Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 3/6] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-11 13:24 UTC (permalink / raw)
  To: openembedded-core

* Upgrade to GTK+ 3.16.3
* Add gtk-encode-symbolic-svg binary: it is used by icon themes
  (e.g. Adwaita) to generate png versions of svg icons.
* 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>
---
 ...4.bb => gtk-update-icon-cache-native_3.16.3.bb} |  41 ++++++---
 ...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 +++++++++++++++++++++
 2 files changed, 129 insertions(+), 14 deletions(-)
 rename meta/recipes-gnome/gtk+/{gtk-update-icon-cache-native_3.4.4.bb => gtk-update-icon-cache-native_3.16.3.bb} (42%)
 create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch

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.16.3.bb
similarity index 42%
rename from meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
rename to meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.bb
index 73b7644..9f1c2f0 100644
--- 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.16.3.bb
@@ -1,20 +1,23 @@
-SUMMARY = "gtk-update-icon-cache built natively"
-DESCRIPTION = "Just gtk-update-icon-cache built from GTK+ natively, for on-host postinst script execution."
+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 = "gdk-pixbuf-native"
+DEPENDS = "glib-2.0-native gdk-pixbuf-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] = "af22a1a753ea9b182babfed9d8b38228"
+SRC_URI[sha256sum] = "2943fd4a6b02c2a9b2edd231c1d8f7a1d2f8d36996f14310d34f503dca9ebea4"
+
 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
@@ -22,26 +25,36 @@ inherit pkgconfig native
 PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
 
 do_configure() {
-	# Quite ugly but defines enough to compile the tool.
+	# 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/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-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
 }
diff --git a/meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
new file mode 100644
index 0000000..237f803
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk-update-icon-cache/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
+
-- 
2.1.4



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

* [PATCH 3/6] matchbox-session-sato: set GTK_CSD env var
  2015-06-11 13:24 [PATCH 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 2/6] gtk-update-icon-cache-native: Upgrade, add binary Jussi Kukkonen
@ 2015-06-11 13:24 ` Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 4/6] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-11 13:24 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 4/6] adwaita-icon-theme: Add new icon theme for GTK+
  2015-06-11 13:24 [PATCH 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (2 preceding siblings ...)
  2015-06-11 13:24 ` [PATCH 3/6] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
@ 2015-06-11 13:24 ` Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 6/6] midori: Depend on " Jussi Kukkonen
  5 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-11 13:24 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 the icon theme and cursor theme 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..c656179
--- /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 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}"
+
+FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
+FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
+               ${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
+
+RRECOMMENDS_${PN} += "librsvg-gtk"
-- 
2.1.4



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

* [PATCH 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
  2015-06-11 13:24 [PATCH 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (3 preceding siblings ...)
  2015-06-11 13:24 ` [PATCH 4/6] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
@ 2015-06-11 13:24 ` Jussi Kukkonen
  2015-06-11 13:24 ` [PATCH 6/6] midori: Depend on " Jussi Kukkonen
  5 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-11 13:24 UTC (permalink / raw)
  To: openembedded-core

Adwaita is the current GNOME icon set and provides the
symbolic icons gnome-icon-theme does not.

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 6/6] midori: Depend on Adwaita, not gnome-icon-theme
  2015-06-11 13:24 [PATCH 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (4 preceding siblings ...)
  2015-06-11 13:24 ` [PATCH 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
@ 2015-06-11 13:24 ` Jussi Kukkonen
  5 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-11 13:24 UTC (permalink / raw)
  To: openembedded-core

Adwaita is the current GNOME icon theme and provides the
symbolic icons gnome-icon-theme does not.

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

* Re: [PATCH 2/6] gtk-update-icon-cache-native: Upgrade, add binary
  2015-06-11 13:24 ` [PATCH 2/6] gtk-update-icon-cache-native: Upgrade, add binary Jussi Kukkonen
@ 2015-06-12  8:52   ` Jussi Kukkonen
  0 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-06-12  8:52 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

Please don't pull this yet:

I seem to still be missing a dependency on this recipe as building
adwaita after wiping sysroot gives these errors from running
gtk-encode-symbolic-svg:
> Can't load file: Unrecognized image file format

Jussi

On 11 June 2015 at 16:24, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote:
> * Upgrade to GTK+ 3.16.3
> * Add gtk-encode-symbolic-svg binary: it is used by icon themes
>   (e.g. Adwaita) to generate png versions of svg icons.
> * 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>
> ---
>  ...4.bb => gtk-update-icon-cache-native_3.16.3.bb} |  41 ++++++---
>  ...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 +++++++++++++++++++++
>  2 files changed, 129 insertions(+), 14 deletions(-)
>  rename meta/recipes-gnome/gtk+/{gtk-update-icon-cache-native_3.4.4.bb => gtk-update-icon-cache-native_3.16.3.bb} (42%)
>  create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
>
> 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.16.3.bb
> similarity index 42%
> rename from meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
> rename to meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.bb
> index 73b7644..9f1c2f0 100644
> --- 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.16.3.bb
> @@ -1,20 +1,23 @@
> -SUMMARY = "gtk-update-icon-cache built natively"
> -DESCRIPTION = "Just gtk-update-icon-cache built from GTK+ natively, for on-host postinst script execution."
> +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 = "gdk-pixbuf-native"
> +DEPENDS = "glib-2.0-native gdk-pixbuf-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] = "af22a1a753ea9b182babfed9d8b38228"
> +SRC_URI[sha256sum] = "2943fd4a6b02c2a9b2edd231c1d8f7a1d2f8d36996f14310d34f503dca9ebea4"
> +
>  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
> @@ -22,26 +25,36 @@ inherit pkgconfig native
>  PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
>
>  do_configure() {
> -       # Quite ugly but defines enough to compile the tool.
> +       # 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/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-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
>  }
> diff --git a/meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
> new file mode 100644
> index 0000000..237f803
> --- /dev/null
> +++ b/meta/recipes-gnome/gtk+/gtk-update-icon-cache/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
> +
> --
> 2.1.4
>

On 11 June 2015 at 16:24, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote:
> * Upgrade to GTK+ 3.16.3
> * Add gtk-encode-symbolic-svg binary: it is used by icon themes
>   (e.g. Adwaita) to generate png versions of svg icons.
> * 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>
> ---
>  ...4.bb => gtk-update-icon-cache-native_3.16.3.bb} |  41 ++++++---
>  ...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 +++++++++++++++++++++
>  2 files changed, 129 insertions(+), 14 deletions(-)
>  rename meta/recipes-gnome/gtk+/{gtk-update-icon-cache-native_3.4.4.bb => gtk-update-icon-cache-native_3.16.3.bb} (42%)
>  create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
>
> 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.16.3.bb
> similarity index 42%
> rename from meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
> rename to meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.bb
> index 73b7644..9f1c2f0 100644
> --- 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.16.3.bb
> @@ -1,20 +1,23 @@
> -SUMMARY = "gtk-update-icon-cache built natively"
> -DESCRIPTION = "Just gtk-update-icon-cache built from GTK+ natively, for on-host postinst script execution."
> +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 = "gdk-pixbuf-native"
> +DEPENDS = "glib-2.0-native gdk-pixbuf-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] = "af22a1a753ea9b182babfed9d8b38228"
> +SRC_URI[sha256sum] = "2943fd4a6b02c2a9b2edd231c1d8f7a1d2f8d36996f14310d34f503dca9ebea4"
> +
>  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
> @@ -22,26 +25,36 @@ inherit pkgconfig native
>  PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
>
>  do_configure() {
> -       # Quite ugly but defines enough to compile the tool.
> +       # 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/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-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
>  }
> diff --git a/meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
> new file mode 100644
> index 0000000..237f803
> --- /dev/null
> +++ b/meta/recipes-gnome/gtk+/gtk-update-icon-cache/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
> +
> --
> 2.1.4
>


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

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

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-11 13:24 [PATCH 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
2015-06-11 13:24 ` [PATCH 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
2015-06-11 13:24 ` [PATCH 2/6] gtk-update-icon-cache-native: Upgrade, add binary Jussi Kukkonen
2015-06-12  8:52   ` Jussi Kukkonen
2015-06-11 13:24 ` [PATCH 3/6] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
2015-06-11 13:24 ` [PATCH 4/6] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
2015-06-11 13:24 ` [PATCH 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
2015-06-11 13:24 ` [PATCH 6/6] 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