Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v2 0/6] GTK+3 upgrade and related changes
@ 2015-06-12 13:11 Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-12 13:11 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)

Version 2 of this patch set only modifies gtk-update-icon-cache-native
patch by depending on librsvg-native and forcing its sysroot
population.


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 +-
 .../gtk+/gtk-update-icon-cache-native_3.16.3.bb    |  63 ++++++++
 .../gtk+/gtk-update-icon-cache-native_3.4.4.bb     |  47 ------
 ...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 +-
 12 files changed, 511 insertions(+), 92 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%)
 create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.bb
 delete mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
 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] 10+ messages in thread

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

* [PATCH v2 2/6] gtk-update-icon-cache-native: Upgrade, add binary
  2015-06-12 13:11 [PATCH v2 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
@ 2015-06-12 13:11 ` Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 3/6] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-12 13:11 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.
* 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>
---
 .../gtk+/gtk-update-icon-cache-native_3.16.3.bb    |  63 +++++++++++++
 .../gtk+/gtk-update-icon-cache-native_3.4.4.bb     |  47 ----------
 ...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 +++++++++++++++++++++
 3 files changed, 165 insertions(+), 47 deletions(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.bb
 delete mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
 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.16.3.bb b/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.bb
new file mode 100644
index 0000000..f4077d5
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.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] = "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"
+
+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-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
-
-}
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] 10+ messages in thread

* [PATCH v2 3/6] matchbox-session-sato: set GTK_CSD env var
  2015-06-12 13:11 [PATCH v2 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 2/6] gtk-update-icon-cache-native: Upgrade, add binary Jussi Kukkonen
@ 2015-06-12 13:11 ` Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 4/6] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-12 13:11 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] 10+ messages in thread

* [PATCH v2 4/6] adwaita-icon-theme: Add new icon theme for GTK+
  2015-06-12 13:11 [PATCH v2 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (2 preceding siblings ...)
  2015-06-12 13:11 ` [PATCH v2 3/6] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
@ 2015-06-12 13:11 ` Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 6/6] midori: Depend on " Jussi Kukkonen
  5 siblings, 0 replies; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-12 13:11 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] 10+ messages in thread

* [PATCH v2 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
  2015-06-12 13:11 [PATCH v2 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (3 preceding siblings ...)
  2015-06-12 13:11 ` [PATCH v2 4/6] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
@ 2015-06-12 13:11 ` Jussi Kukkonen
  2015-06-12 13:11 ` [PATCH v2 6/6] midori: Depend on " Jussi Kukkonen
  5 siblings, 0 replies; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-12 13:11 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] 10+ messages in thread

* [PATCH v2 6/6] midori: Depend on Adwaita, not gnome-icon-theme
  2015-06-12 13:11 [PATCH v2 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
                   ` (4 preceding siblings ...)
  2015-06-12 13:11 ` [PATCH v2 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
@ 2015-06-12 13:11 ` Jussi Kukkonen
  2015-06-12 15:25   ` Alexander Kanavin
  5 siblings, 1 reply; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-12 13:11 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] 10+ messages in thread

* Re: [PATCH v2 6/6] midori: Depend on Adwaita, not gnome-icon-theme
  2015-06-12 13:11 ` [PATCH v2 6/6] midori: Depend on " Jussi Kukkonen
@ 2015-06-12 15:25   ` Alexander Kanavin
  2015-06-15  8:38     ` Jussi Kukkonen
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Kanavin @ 2015-06-12 15:25 UTC (permalink / raw)
  To: openembedded-core

On 06/12/2015 04:11 PM, Jussi Kukkonen wrote:

> -RRECOMMENDS_${PN} += "glib-networking ca-certificates gnome-icon-theme"
> +RRECOMMENDS_${PN} += "glib-networking ca-certificates adwaita-icon-theme"

This should probably be moved to gtk+ recipes or gnome class; if 
most(all?) gtk+ applications need those icons, then they shouldn't have 
to list them in their own recipes.

Alex



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

* Re: [PATCH v2 6/6] midori: Depend on Adwaita, not gnome-icon-theme
  2015-06-12 15:25   ` Alexander Kanavin
@ 2015-06-15  8:38     ` Jussi Kukkonen
  0 siblings, 0 replies; 10+ messages in thread
From: Jussi Kukkonen @ 2015-06-15  8:38 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

On 12 June 2015 at 18:25, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 06/12/2015 04:11 PM, Jussi Kukkonen wrote:
>
>> -RRECOMMENDS_${PN} += "glib-networking ca-certificates gnome-icon-theme"
>> +RRECOMMENDS_${PN} += "glib-networking ca-certificates adwaita-icon-theme"
>
> This should probably be moved to gtk+ recipes or gnome class; if most(all?)
> gtk+ applications need those icons, then they shouldn't have to list them in
> their own recipes.

Thanks for the reminder, I was going to bring this up:

GTK+ does not have fallback icons included and uses symbolic icons in
many places (and the hicolor icon set does not include symbolic
icons). This means that without symbolic icons installed many GTK+
applications will look bad with placeholder icons even in stock
widgets.

So gtk+3 should probably RRECOMMEND something that provides a symbolic
theme -- currently the only option is Adwaita. If the size increase
(of an image that contains GTK) is seen as prohibitive I could
separate the symbolic icons and the normal icons: that way gtk+3 could
recommend just the symbolic theme which would 'only' be 11MB
additional size.

Now that I think about it, I guess dividing the icons into those
separate packages makes sense anyway. I'm going to do that in V3 of
this patch set but would appreciate advice on what to do with the
dependency/recommendation question.

Jussi


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

* Re: [PATCH v2 1/6] gtk+3: Upgrade to 3.16.3
  2015-06-12 13:11 ` [PATCH v2 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
@ 2015-06-15 13:35   ` Burton, Ross
  0 siblings, 0 replies; 10+ messages in thread
From: Burton, Ross @ 2015-06-15 13:35 UTC (permalink / raw)
  To: Jussi Kukkonen; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 452 bytes --]

On 12 June 2015 at 14:11, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote:

> +           docbook-utils-native gdk-pixbuf-native libepoxy"
>

Note that libepoxy currently doesn't know how to be a "no implementation"
stub of OpenGL so this does mean that GTK+ 3 now has a hard dependency on
OpenGL.   Upstream GTK+ 3 has no interest in making this an option so if
anyone is bothered by this, they'll have to step up and submit patches.

Ross

[-- Attachment #2: Type: text/html, Size: 872 bytes --]

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

end of thread, other threads:[~2015-06-15 13:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-12 13:11 [PATCH v2 0/6] GTK+3 upgrade and related changes Jussi Kukkonen
2015-06-12 13:11 ` [PATCH v2 1/6] gtk+3: Upgrade to 3.16.3 Jussi Kukkonen
2015-06-15 13:35   ` Burton, Ross
2015-06-12 13:11 ` [PATCH v2 2/6] gtk-update-icon-cache-native: Upgrade, add binary Jussi Kukkonen
2015-06-12 13:11 ` [PATCH v2 3/6] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
2015-06-12 13:11 ` [PATCH v2 4/6] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
2015-06-12 13:11 ` [PATCH v2 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
2015-06-12 13:11 ` [PATCH v2 6/6] midori: Depend on " Jussi Kukkonen
2015-06-12 15:25   ` Alexander Kanavin
2015-06-15  8:38     ` Jussi Kukkonen

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