* [PATCH v4 0/7] GTK+3 upgrade and related changes
@ 2015-07-06 12:28 Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
To: openembedded-core
Changes since v3:
* Upgrade intltool: intltool.m4 did a compile test on
configure and that prevented adwaita from inheriting "allarch".
intltool 0.51.0 does not have have that problem anymore.
* Bump GTK+3 to 3.16.4 (forgot to do this on v3, apologies).
* adwaita-icon-theme inherits allarch, no longer recommends librsvg-gtk.
Hires icons are packaged separately.
* rename gtk-update-icon-cache-native recipe to gtk-icon-utils-native
to better reflect the contents. This also required changes in
other recipes.
The following changes since commit 7a402301c9c8fa9a5262d6d29b2ea199ff0dc07a:
distro/package_regex.inc: Use GNOME_STABLE rule for vala (2015-07-02 23:08:41 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib jku/update-gtk3
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/update-gtk3
Jussi Kukkonen (7):
intltool: Upgrade 0.50.2 -> 0.51.0
gtk-icon-utils: Rename, upgrade, add binary
adwaita-icon-theme: Add new icon theme for GTK+
gtk+3: Upgrade to 3.16.4
matchbox-session-sato: set GTK_CSD env var
sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
midori: Depend on Adwaita, not gnome-icon-theme
meta-yocto/conf/distro/include/distro_alias.inc | 2 +-
meta-yocto/conf/distro/include/maintainers.inc | 2 +-
meta/classes/gtk-icon-cache.bbclass | 2 +-
meta/classes/sstate.bbclass | 2 +-
.../intltool/intltool-0.50.2/uclibc.patch | 19 ---
.../intltool-nowarn.patch | 0
.../noperlcheck.patch | 0
.../remove-xml-check.patch | 0
.../use-nativeperl.patch | 0
.../{intltool_0.50.2.bb => intltool_0.51.0.bb} | 5 +-
.../Create-symlinks-when-installing-cursors.patch | 178 +++++++++++++++++++++
.../gnome/adwaita-icon-theme_3.16.2.1.bb | 34 ++++
meta/recipes-gnome/gtk+/gtk+3.inc | 17 +-
meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch | 118 ++++++++++++++
.../gtk+/gtk+3/fix-flags-for-native.patch | 33 ----
.../gtk+/{gtk+3_3.12.2.bb => gtk+3_3.16.4.bb} | 6 +-
.../gtk+/gtk-icon-utils-native_3.16.4.bb | 63 ++++++++
...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 ++++++++++++
.../gtk+/gtk-update-icon-cache-native_3.4.4.bb | 47 ------
.../matchbox-sato/matchbox-session-sato/session | 4 +
meta/recipes-sato/midori/midori_0.5.8.bb | 2 +-
.../0001-Inherit-the-GNOME-icon-theme.patch | 2 +-
22 files changed, 519 insertions(+), 119 deletions(-)
delete mode 100644 meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/intltool-nowarn.patch (100%)
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/noperlcheck.patch (100%)
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/remove-xml-check.patch (100%)
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/use-nativeperl.patch (100%)
rename meta/recipes-devtools/intltool/{intltool_0.50.2.bb => intltool_0.51.0.bb} (76%)
create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
create mode 100644 meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
rename meta/recipes-gnome/gtk+/{gtk+3_3.12.2.bb => gtk+3_3.16.4.bb} (75%)
create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
delete mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
--
2.1.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary Jussi Kukkonen
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
To: openembedded-core
* Remove uclibc.patch as the whole localedir guessing code has been
removed upstream.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../intltool/intltool-0.50.2/uclibc.patch | 19 -------------------
.../intltool-nowarn.patch | 0
.../{intltool-0.50.2 => intltool}/noperlcheck.patch | 0
.../remove-xml-check.patch | 0
.../use-nativeperl.patch | 0
.../{intltool_0.50.2.bb => intltool_0.51.0.bb} | 5 ++---
6 files changed, 2 insertions(+), 22 deletions(-)
delete mode 100644 meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/intltool-nowarn.patch (100%)
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/noperlcheck.patch (100%)
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/remove-xml-check.patch (100%)
rename meta/recipes-devtools/intltool/{intltool-0.50.2 => intltool}/use-nativeperl.patch (100%)
rename meta/recipes-devtools/intltool/{intltool_0.50.2.bb => intltool_0.51.0.bb} (76%)
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch b/meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
deleted file mode 100644
index 145c181..0000000
--- a/meta/recipes-devtools/intltool/intltool-0.50.2/uclibc.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-on uclibc systems localedir should point to /usr/'share' as usual.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: intltool-0.50.2/intltool.m4
-===================================================================
---- intltool-0.50.2.orig/intltool.m4 2014-03-15 22:09:01.016627665 -0700
-+++ intltool-0.50.2/intltool.m4 2014-03-15 22:12:09.732631206 -0700
-@@ -173,6 +173,9 @@
- AC_CHECK_FUNC(bind_textdomain_codeset,
- [DATADIRNAME=share], [DATADIRNAME=lib])
- ;;
-+ *-*-*uclibc*)
-+ [DATADIRNAME=share]
-+ ;;
- *)
- [DATADIRNAME=lib]
- ;;
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/intltool-nowarn.patch b/meta/recipes-devtools/intltool/intltool/intltool-nowarn.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/intltool-nowarn.patch
rename to meta/recipes-devtools/intltool/intltool/intltool-nowarn.patch
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/noperlcheck.patch b/meta/recipes-devtools/intltool/intltool/noperlcheck.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/noperlcheck.patch
rename to meta/recipes-devtools/intltool/intltool/noperlcheck.patch
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/remove-xml-check.patch b/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/remove-xml-check.patch
rename to meta/recipes-devtools/intltool/intltool/remove-xml-check.patch
diff --git a/meta/recipes-devtools/intltool/intltool-0.50.2/use-nativeperl.patch b/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch
similarity index 100%
rename from meta/recipes-devtools/intltool/intltool-0.50.2/use-nativeperl.patch
rename to meta/recipes-devtools/intltool/intltool/use-nativeperl.patch
diff --git a/meta/recipes-devtools/intltool/intltool_0.50.2.bb b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
similarity index 76%
rename from meta/recipes-devtools/intltool/intltool_0.50.2.bb
rename to meta/recipes-devtools/intltool/intltool_0.51.0.bb
index 483239d..35293c6 100644
--- a/meta/recipes-devtools/intltool/intltool_0.50.2.bb
+++ b/meta/recipes-devtools/intltool/intltool_0.51.0.bb
@@ -3,7 +3,6 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI += "file://intltool-nowarn.patch \
- file://uclibc.patch \
${NATIVEPATCHES} \
"
@@ -15,5 +14,5 @@ NATIVEPATCHES = "file://noperlcheck.patch \
file://remove-xml-check.patch"
NATIVEPATCHES_class-native = "file://use-nativeperl.patch"
-SRC_URI[md5sum] = "23fbd879118253cb99aeac067da5f591"
-SRC_URI[sha256sum] = "67f25c5c6fb71d095793a7f895b245e65e829e8bde68c6c8b4c912144ff34406"
+SRC_URI[md5sum] = "12e517cac2b57a0121cda351570f1e63"
+SRC_URI[sha256sum] = "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd"
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
To: openembedded-core
* Rename from gtk-update-icon-cache to gtk-icon-utils to better
reflect the content. Fix references in other recipes and classes
* Upgrade to GTK+ 3.16.4
* Add gtk-encode-symbolic-svg binary: it is used by icon themes
(e.g. Adwaita) to generate png versions of svg icons.
* Depend on librsvg-native for gtk-encode-symbolic-svg
* Add a patch that removes Gdk dependency from gtk-encode-symbolic-svg:
this way the native build stays slim.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
meta-yocto/conf/distro/include/distro_alias.inc | 2 +-
meta-yocto/conf/distro/include/maintainers.inc | 2 +-
meta/classes/gtk-icon-cache.bbclass | 2 +-
meta/classes/sstate.bbclass | 2 +-
.../gtk+/gtk-icon-utils-native_3.16.4.bb | 63 +++++++++++++
...k-dependency-from-gtk-encode-symbolic-svg.patch | 102 +++++++++++++++++++++
.../gtk+/gtk-update-icon-cache-native_3.4.4.bb | 47 ----------
7 files changed, 169 insertions(+), 51 deletions(-)
create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
create mode 100644 meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
delete mode 100644 meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
diff --git a/meta-yocto/conf/distro/include/distro_alias.inc b/meta-yocto/conf/distro/include/distro_alias.inc
index 0f8ed55..af35f90 100644
--- a/meta-yocto/conf/distro/include/distro_alias.inc
+++ b/meta-yocto/conf/distro/include/distro_alias.inc
@@ -160,7 +160,7 @@ DISTRO_PN_ALIAS_pn-gtk-doc-stub = "Fedora=gtk-doc Ubuntu=gtk-doc"
DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
DISTRO_PN_ALIAS_pn-gtk-sato-engine = "OpenedHand"
DISTRO_PN_ALIAS_pn-gtk-theme-torturer = "OSPDT upstream=http://wiki.laptop.org/go/GTK_for_OLPC"
-DISTRO_PN_ALIAS_pn-gtk-update-icon-cache-native = "OSPDT"
+DISTRO_PN_ALIAS_pn-gtk-icon-utils-native = "OSPDT"
DISTRO_PN_ALIAS_pn-gummiboot = "Debian=gummiboot Fedora=gummiboot"
DISTRO_PN_ALIAS_pn-hello-mod = "OE-Core"
DISTRO_PN_ALIAS_pn-hostap-conf = "OE-Core"
diff --git a/meta-yocto/conf/distro/include/maintainers.inc b/meta-yocto/conf/distro/include/maintainers.inc
index b80f0c9..f3414ce 100644
--- a/meta-yocto/conf/distro/include/maintainers.inc
+++ b/meta-yocto/conf/distro/include/maintainers.inc
@@ -219,7 +219,7 @@ RECIPE_MAINTAINER_pn-gtk-doc = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-gtk-engines = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-gtk-sato-engine = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-gtk-theme-torturer = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
-RECIPE_MAINTAINER_pn-gtk-update-icon-cache-native = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
+RECIPE_MAINTAINER_pn-gtk-icon-utils-native = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-gtk+ = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-gtk+3 = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-guile = "Robert Yang <liezhi.yang@windriver.com>"
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
index 16e31b9..12358e3 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -1,6 +1,6 @@
FILES_${PN} += "${datadir}/icons/hicolor"
-DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk-update-icon-cache-native"
+DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk-icon-utils-native"
gtk_icon_cache_postinst() {
if [ "x$D" != "x" ]; then
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 1e2d4f6..4986323 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -807,7 +807,7 @@ def setscene_depvalid(task, taskdependees, notneeded, d):
return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x
def isPostInstDep(x):
- if x in ["qemu-native", "gdk-pixbuf-native", "qemuwrapper-cross", "depmodwrapper-cross", "systemd-systemctl-native", "gtk-update-icon-cache-native"]:
+ if x in ["qemu-native", "gdk-pixbuf-native", "qemuwrapper-cross", "depmodwrapper-cross", "systemd-systemctl-native", "gtk-icon-utils-native"]:
return True
return False
diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
new file mode 100644
index 0000000..d433b90
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.16.4.bb
@@ -0,0 +1,63 @@
+SUMMARY = "Native icon utils for GTK+"
+DESCRIPTION = "gtk-update-icon-cache and gtk-encode-symbolic-svg built from GTK+ natively, for build time and on-host postinst script execution."
+SECTION = "libs"
+
+DEPENDS = "glib-2.0-native gdk-pixbuf-native librsvg-native"
+
+LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
+ file://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch"
+SRC_URI[md5sum] = "c7497aaf6730524a127597b768a73bd7"
+SRC_URI[sha256sum] = "1ee5dbd7a4cb81a91eaa1b7ae64ba5a3eab6a3c0a764155583ab96524590fc8e"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+ file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
+ file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
+ file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
+
+S = "${WORKDIR}/gtk+-${PV}"
+
+inherit pkgconfig native
+
+PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
+
+do_configure() {
+ # Quite ugly but defines enough to compile the tools.
+ if ! test -f gtk/config.h; then
+ echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h
+ echo "#define HAVE_UNISTD_H 1" >> gtk/config.h
+ echo "#define HAVE_FTW_H 1" >> gtk/config.h
+ fi
+ if ! test -f gdk/config.h; then
+ touch gdk/config.h
+ fi
+}
+
+do_compile() {
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
+ ${S}/gtk/updateiconcache.c \
+ $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \
+ -o gtk-update-icon-cache
+
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
+ ${S}/gtk/encodesymbolic.c \
+ $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gio-2.0 gdk-pixbuf-2.0) \
+ -o gtk-encode-symbolic-svg
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir}
+ install -m 0755 ${B}/gtk-encode-symbolic-svg ${D}${bindir}
+
+ create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+ create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+}
+
+# Prevent bitbake from optimizing away the native librsvg sysroot population
+do_populate_sysroot_setscene[depends] += "librsvg-native:do_populate_sysroot_setscene"
diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
new file mode 100644
index 0000000..237f803
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
@@ -0,0 +1,102 @@
+From 4d09ff324419fe4e671233044e424378da53969b Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 9 Jun 2015 14:20:30 +0300
+Subject: [PATCH] Remove Gdk-dependency from gtk-encode-symbolic-svg
+
+Building gtk-encode-symbolic-svg without building Gdk is useful
+as only the icon tools are needed on the native build: this makes
+native build much faster and requires much less dependencies.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ gtk/encodesymbolic.c | 36 ++++++++++--------------------------
+ 1 file changed, 10 insertions(+), 26 deletions(-)
+
+diff --git a/gtk/encodesymbolic.c b/gtk/encodesymbolic.c
+index 9f7d015..1f07563 100644
+--- a/gtk/encodesymbolic.c
++++ b/gtk/encodesymbolic.c
+@@ -19,7 +19,6 @@
+
+ #include <glib.h>
+ #include <gdk-pixbuf/gdk-pixdata.h>
+-#include <gdk/gdk.h>
+ #include <glib/gi18n.h>
+
+ #ifdef HAVE_UNISTD_H
+@@ -43,30 +42,18 @@ static GdkPixbuf *
+ load_symbolic_svg (char *file_data, gsize file_len,
+ int width,
+ int height,
+- const GdkRGBA *fg,
+- const GdkRGBA *success_color,
+- const GdkRGBA *warning_color,
+- const GdkRGBA *error_color,
++ const char *css_fg,
++ const char *css_success,
++ const char *css_warning,
++ const char *css_error,
+ GError **error)
+ {
+ GInputStream *stream;
+ GdkPixbuf *pixbuf;
+- gchar *css_fg;
+- gchar *css_success;
+- gchar *css_warning;
+- gchar *css_error;
+ gchar *data;
+ gchar *svg_width, *svg_height;
+ gchar *escaped_file_data;
+
+- css_fg = gdk_rgba_to_string (fg);
+-
+- css_success = css_warning = css_error = NULL;
+-
+- css_warning = gdk_rgba_to_string (warning_color);
+- css_error = gdk_rgba_to_string (error_color);
+- css_success = gdk_rgba_to_string (success_color);
+-
+ /* Fetch size from the original icon */
+ stream = g_memory_input_stream_new_from_data (file_data, file_len, NULL);
+ pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error);
+@@ -105,10 +92,6 @@ load_symbolic_svg (char *file_data, gsize file_len,
+ "</svg>",
+ NULL);
+ g_free (escaped_file_data);
+- g_free (css_fg);
+- g_free (css_warning);
+- g_free (css_error);
+- g_free (css_success);
+ g_free (svg_width);
+ g_free (svg_height);
+
+@@ -167,7 +150,8 @@ make_symbolic_pixbuf (char *file,
+ GError **error)
+
+ {
+- GdkRGBA r = { 1,0,0,1}, g = {0,1,0,1};
++ const char r[] = "rgba(255,0,0,1)";
++ const char g[] = "rgba(0,255,0,1)";
+ GdkPixbuf *loaded;
+ GdkPixbuf *pixbuf;
+ int plane;
+@@ -196,10 +180,10 @@ make_symbolic_pixbuf (char *file,
+ * the "rest", as all color fractions should add up to 1.
+ */
+ loaded = load_symbolic_svg (file_data, file_len, width, height,
+- &g,
+- plane == 0 ? &r : &g,
+- plane == 1 ? &r : &g,
+- plane == 2 ? &r : &g,
++ g,
++ plane == 0 ? r : g,
++ plane == 1 ? r : g,
++ plane == 2 ? r : g,
+ error);
+ if (loaded == NULL)
+ return NULL;
+--
+2.1.4
+
diff --git a/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb b/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
deleted file mode 100644
index 73b7644..0000000
--- a/meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "gtk-update-icon-cache built natively"
-DESCRIPTION = "Just gtk-update-icon-cache built from GTK+ natively, for on-host postinst script execution."
-SECTION = "libs"
-
-DEPENDS = "gdk-pixbuf-native"
-
-LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
- file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
- file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
-
-SRC_URI = "http://download.gnome.org/sources/gtk+/3.4/gtk+-${PV}.tar.xz"
-SRC_URI[md5sum] = "1b2cf29502a6394e8d4b30f7f5bb9131"
-SRC_URI[sha256sum] = "f154e460075034da4c0ce89c320025dcd459da2a1fdf32d92a09522eaca242c7"
-
-S = "${WORKDIR}/gtk+-${PV}"
-
-inherit pkgconfig native
-
-PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
-
-do_configure() {
- # Quite ugly but defines enough to compile the tool.
- if ! test -f gtk/config.h; then
- echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h
- echo "#define HAVE_UNISTD_H 1" >> gtk/config.h
- echo "#define HAVE_FTW_H 1" >> gtk/config.h
-
- fi
-}
-
-do_compile() {
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} ${S}/gtk/updateiconcache.c \
- $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \
- -o gtk-update-icon-cache
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir}
-
- create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
-
-}
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4 Jussi Kukkonen
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
To: openembedded-core
Adwaita is a complete icon theme for GTK+, and the current GNOME icon
theme. Most importantly it includes the symbolic icons used extensively
in GTK+3 widgets.
* Package icons, large icons, symbolic icons and cursors separately
* Backport a build fix for the cursor theme to cut installed size by
11MB.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../Create-symlinks-when-installing-cursors.patch | 178 +++++++++++++++++++++
.../gnome/adwaita-icon-theme_3.16.2.1.bb | 34 ++++
2 files changed, 212 insertions(+)
create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
create mode 100644 meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch b/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
new file mode 100644
index 0000000..446f9c9
--- /dev/null
+++ b/meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch
@@ -0,0 +1,178 @@
+Create symlinks when installing cursors
+
+This cuts down the installed size by ~11MB.
+
+Upstream-Status: Backport
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+
+From 1e8c0dd0a2de5e1d5ff60ff11f131e88510c7f50 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?=
+ =?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= <lrn1986@gmail.com>
+Date: Sat, 16 May 2015 07:49:19 +0000
+Subject: [PATCH] Create symlinks when installing cursors
+
+Also support creating symlinks for W32 cursors (including L and XL variants).
+
+https://bugzilla.gnome.org/show_bug.cgi?id=749223
+---
+ Makefile.am | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 24 ++++++++++++++++
+ 2 files changed, 117 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index fed3972..4d00268 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,6 +6,17 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+
+ cursordir = $(datadir)/icons/Adwaita/cursors
+ cursor_DATA = $(wildcard $(srcdir)/Adwaita/cursors/*)
++if ENABLE_L_XL_VARIANTS
++cursorldir = $(datadir)/icons/Adwaita-Large/cursors
++cursorl_DATA = $(wildcard $(srcdir)/Adwaita-Large/cursors/*)
++cursorxldir = $(datadir)/icons/Adwaita-ExtraLarge/cursors
++cursorxl_DATA = $(wildcard $(srcdir)/Adwaita-ExtraLarge/cursors/*)
++else
++cursorldir =
++cursorl_DATA =
++cursorxldir =
++cursorxl_DATA =
++endif
+
+ theme_in_files = index.theme.in.in
+ theme_DATA = $(theme_in_files:.theme.in.in=.theme)
+@@ -99,6 +110,88 @@ install-data-local:
+ fi
+
+ install-data-hook:
++ cd $(DESTDIR)$(cursordir) && \
++ if test "x$(enable_w32_cursors)" = "xyes"; \
++ then \
++ cur=.cur && \
++ ani=.ani; \
++ else \
++ cur= && \
++ ani= ; \
++ fi; \
++ if test "x$(enable_l_xl_variants)" = "xyes"; \
++ then \
++ themedirs="$(cursordir) $(cursorldir) $(cursorxldir)"; \
++ else \
++ themedirs="$(cursordir)"; \
++ fi; \
++ for d in $$themedirs; \
++ do \
++ cd $(DESTDIR)$$d && \
++ echo Creating symlinks in $(DESTDIR)$$d && \
++ $(LN_S) -f dotbox$$cur draped_box$$cur && \
++ $(LN_S) -f dotbox$$cur icon$$cur && \
++ $(LN_S) -f dotbox$$cur target$$cur && \
++ $(LN_S) -f dotbox$$cur dot_box_mask$$cur && \
++ $(LN_S) -f X_cursor$$cur pirate$$cur && \
++ $(LN_S) -f left_ptr_watch$$ani 08e8e1c95fe2fc01f976f1e063a24ccd$$ani && \
++ $(LN_S) -f left_ptr_watch$$ani 3ecb610c1bf2410f44200f48c40d3599$$ani && \
++ $(LN_S) -f left_ptr$$cur arrow$$cur && \
++ $(LN_S) -f left_ptr$$cur top_left_arrow$$cur && \
++ $(LN_S) -f right_ptr$$cur draft_large$$cur && \
++ $(LN_S) -f right_ptr$$cur draft_small$$cur && \
++ $(LN_S) -f move$$cur 4498f0e0c1937ffe01fd06f973665830$$cur && \
++ $(LN_S) -f move$$cur 9081237383d90e509aa00f00170e968f$$cur && \
++ $(LN_S) -f copy$$cur 1081e37283d90000800003c07f3ef6bf$$cur && \
++ $(LN_S) -f copy$$cur 6407b0e94181790501fd1e167b474872$$cur && \
++ $(LN_S) -f cross$$cur cross_reverse$$cur && \
++ $(LN_S) -f cross$$cur diamond_cross$$cur && \
++ $(LN_S) -f hand1$$cur grab$$cur && \
++ $(LN_S) -f hand2$$cur 9d800788f1b08800ae810202380a0822$$cur && \
++ $(LN_S) -f hand2$$cur e29285e634086352946a0e7090d73106$$cur && \
++ $(LN_S) -f hand2$$cur hand$$cur && \
++ $(LN_S) -f grabbing$$cur fleur$$cur && \
++ $(LN_S) -f question_arrow$$cur d9ce0ab605698f320427677b458ad60b$$cur && \
++ $(LN_S) -f question_arrow$$cur 5c6cd98b3f3ebcb1f9c7f1c204630408$$cur && \
++ $(LN_S) -f question_arrow$$cur help$$cur && \
++ $(LN_S) -f question_arrow$$cur left_ptr_help$$cur && \
++ $(LN_S) -f link$$cur 3085a0e285430894940527032f8b26df$$cur && \
++ $(LN_S) -f link$$cur 640fb0e74195791501fd1ed57b41487f$$cur && \
++ $(LN_S) -f crossed_circle$$cur 03b6e0fcb3499374a867c041f52298f0$$cur && \
++ $(LN_S) -f fd_double_arrow$$cur fcf1c3c7cd4491d801f1e1c78f100000$$cur && \
++ $(LN_S) -f bd_double_arrow$$cur c7088f0f3e6c8088236ef8e1e3e70000$$cur && \
++ $(LN_S) -f sb_h_double_arrow$$cur h_double_arrow$$cur && \
++ $(LN_S) -f sb_h_double_arrow$$cur 14fef782d02440884392942c11205230$$cur && \
++ $(LN_S) -f h_double_arrow$$cur 028006030e0e7ebffc7f7070c0600140$$cur && \
++ $(LN_S) -f sb_v_double_arrow$$cur double_arrow$$cur && \
++ $(LN_S) -f sb_v_double_arrow$$cur v_double_arrow$$cur && \
++ $(LN_S) -f sb_v_double_arrow$$cur 2870a09082c103050810ffdffffe0204$$cur && \
++ $(LN_S) -f v_double_arrow$$cur 00008160000006810000408080010102$$cur && \
++ $(LN_S) -f left_ptr$$cur default$$cur && \
++ $(LN_S) -f hand$$cur pointer$$cur && \
++ $(LN_S) -f left_ptr_watch$$ani progress$$ani && \
++ $(LN_S) -f watch$$ani wait$$ani && \
++ $(LN_S) -f cross$$cur crosshair$$cur && \
++ $(LN_S) -f xterm$$cur text$$cur && \
++ $(LN_S) -f dnd-link$$cur alias$$cur && \
++ $(LN_S) -f dnd-copy$$cur copy$$cur && \
++ $(LN_S) -f dnd-none$$cur no-drop$$cur && \
++ $(LN_S) -f crossed_circle$$cur not-allowed$$cur && \
++ $(LN_S) -f sb_h_double_arrow$$cur col-resize$$cur && \
++ $(LN_S) -f sb_v_double_arrow$$cur row-resize$$cur && \
++ $(LN_S) -f top_side$$cur n-resize$$cur && \
++ $(LN_S) -f right_side$$cur e-resize$$cur && \
++ $(LN_S) -f bottom_side$$cur s-resize$$cur && \
++ $(LN_S) -f left_side$$cur w-resize$$cur && \
++ $(LN_S) -f top_right_corner$$cur ne-resize$$cur && \
++ $(LN_S) -f top_left_corner$$cur nw-resize$$cur && \
++ $(LN_S) -f bottom_right_corner$$cur se-resize$$cur && \
++ $(LN_S) -f bottom_left_corner$$cur sw-resize$$cur && \
++ $(LN_S) -f sb_h_double_arrow$$cur ew-resize$$cur && \
++ $(LN_S) -f sb_v_double_arrow$$cur ns-resize$$cur && \
++ $(LN_S) -f fd_double_arrow$$cur nesw-resize$$cur && \
++ $(LN_S) -f bd_double_arrow$$cur nwse-resize$$cur; \
++ done
+ if test -z "$(DESTDIR)" && test -n "$(GTK_UPDATE_ICON_CACHE)" ; then \
+ $(GTK_UPDATE_ICON_CACHE) -q $(DESTDIR)$(themedir); \
+ fi
+diff --git a/configure.ac b/configure.ac
+index 9e4d8a0..312b24c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,6 +31,7 @@ AC_SUBST([render_sizes], ["8x8 16x16 22x22 24x24 32x32 48x48 256x256"])
+ AC_SUBST([symbolic_render_sizes], [""])
+ AC_SUBST([install_sizes], ["8x8 16x16 22x22 24x24 32x32 48x48 64x64 96x96 256x256"])
+
++AC_PROG_LN_S
+ AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache)
+
+ # need git, icontool, and inkscape for rendering
+@@ -56,6 +57,29 @@ if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then
+ fi
+ AC_SUBST(symbolic_encode_sizes)
+
++AC_ARG_ENABLE([w32-cursors],
++ [AS_HELP_STRING([--enable-w32-cursors],
++ [Make and install Windows cursors (.cur and .ani) instead of X cursors])],
++ [case "${enableval}" in
++ yes) enable_w32_cursors=yes ;;
++ no) enable_w32_cursors=no ;;
++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-w32-cursors]) ;;
++ esac],
++ [enable_w32_cursors=no])
++AC_SUBST(enable_w32_cursors)
++
++AC_ARG_ENABLE([l-xl-variants],
++ [AS_HELP_STRING([--enable-l-xl-variants],
++ [Also make and install Large and Extra Large Windows cursor versions])],
++ [case "${enableval}" in
++ yes) enable_l_xl_variants=yes ;;
++ no) enable_l_xl_variants=no ;;
++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-l-xl-variants]) ;;
++ esac],
++ [enable_l_xl_variants=no])
++AC_SUBST(enable_l_xl_variants)
++AM_CONDITIONAL([ENABLE_L_XL_VARIANTS], [test x$enable_l_xl_variants = xyes])
++
+ AC_CONFIG_FILES([
+ Makefile
+ adwaita-icon-theme.pc
+--
+2.1.4
+
diff --git a/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
new file mode 100644
index 0000000..526e699
--- /dev/null
+++ b/meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "GTK+ icon theme"
+HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "LGPL-3.0 | CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c"
+
+inherit allarch autotools pkgconfig gettext gtk-icon-cache
+
+DEPENDS += "intltool-native"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
+ file://Create-symlinks-when-installing-cursors.patch \
+ "
+
+SRC_URI[md5sum] = "9ef86952c947aa27a1a888b7735d60b3"
+SRC_URI[sha256sum] = "b4556dfbf555d4fac12d4d5c12f7519de0d43ec42a1b649611439a50bf7acb96"
+
+do_install_append() {
+ # Build uses gtk-encode-symbolic-svg to create png versions:
+ # no need to store the svgs anymore.
+ rm -f ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic.svg \
+ ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic-rtl.svg
+}
+
+PACKAGES = "${PN}-cursors ${PN}-symbolic ${PN}-hires ${PN}"
+
+FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
+FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/*/*/*.symbolic.png"
+FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/"
+FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
+ ${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
` (2 preceding siblings ...)
2015-07-06 12:28 ` [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
To: openembedded-core
* Drop --disable-gtk2-dependency and the patch for
gtk/native/Makefile.am: gtk-update-icon-cache is no longer used at
build time and as a result the option was removed.
* Add dependency to libepoxy
* Add dependency to virtual/mesa for wayland-egl
* Package new binaries gtk3-icon-browser and gtk-encode-symbolic-svg
* Add a backported patch that allows server side window decorations
in all cases
* RRECOMMEND adwaita-icon-theme-symbolic: GTK+ widgets expect a
symbolic theme to be installed
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
gtk+3: SQUASH
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
meta/recipes-gnome/gtk+/gtk+3.inc | 17 +--
meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch | 118 +++++++++++++++++++++
.../gtk+/gtk+3/fix-flags-for-native.patch | 33 ------
.../gtk+/{gtk+3_3.12.2.bb => gtk+3_3.16.4.bb} | 6 +-
4 files changed, 130 insertions(+), 44 deletions(-)
create mode 100644 meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
rename meta/recipes-gnome/gtk+/{gtk+3_3.12.2.bb => gtk+3_3.16.4.bb} (75%)
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 3e36676..f29f0d3 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -6,7 +6,7 @@ BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "libs"
DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \
- docbook-utils-native gdk-pixbuf-native"
+ docbook-utils-native gdk-pixbuf-native libepoxy"
LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
@@ -22,10 +22,7 @@ do_configure_prepend() {
ln -s ${TARGET_PREFIX}libtool libtool
}
-# Forcibly disable the GTK+ 2 dependency as we don't want to natively build the
-# entire GTK+ stack, or need GTK+ 2 for gtk-update-icon-cache.
EXTRA_OECONF += " \
- --disable-gtk2-dependency \
--disable-glibtest \
--disable-xinerama \
--enable-modules \
@@ -37,7 +34,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}
${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)}"
PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
-PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon"
+PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland libxkbcommon virtual/mesa"
do_install_append() {
mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
@@ -48,12 +45,14 @@ LIBV = "3.0.0"
FILES_${PN}-demo = "${bindir}/gtk3-demo \
${bindir}/gtk3-demo-application \
+ ${bindir}/gtk3-icon-browser \
${bindir}/gtk3-widget-factory \
${datadir}/gtk-3.0/demo \
${datadir}/applications/gtk3-demo.desktop \
+ ${datadir}/applications/gtk3-icon-browser.desktop \
${datadir}/applications/gtk3-widget-factory.desktop \
- ${datadir}/icons/hicolor/*/apps/gtk3-demo.png \
- ${datadir}/icons/hicolor/*/apps/gtk3-widget-factory.png"
+ ${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
+ ${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png"
# The demo uses PNG files and mime type sniffing, so ensure that these
# dependencies are present.
@@ -76,7 +75,8 @@ FILES_${PN}-dev += " \
${libdir}/gtk-3.0/3.0.0/printbackends/*.la \
${libdir}/gtk-3.0/${LIBV}/engines/*.la \
${libdir}/gtk-3.0/modules/*.la \
- ${bindir}/gtk-builder-convert"
+ ${bindir}/gtk-builder-convert \
+ ${bindir}/gtk-encode-symbolic-svg"
FILES_${PN}-dbg += " \
${libdir}/gtk-3.0/${LIBV}/loaders/.debug \
@@ -85,6 +85,7 @@ FILES_${PN}-dbg += " \
${libdir}/gtk-3.0/${LIBV}/printbackends/.debug \
${libdir}/gtk-3.0/modules/.debug"
+RRECOMMENDS_${PN} = "adwaita-icon-theme-symbolic"
PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
diff --git a/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch b/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
new file mode 100644
index 0000000..32d8a84
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
@@ -0,0 +1,118 @@
+window: Check if we can use CSD before enabling them
+
+Upstream-Status: Backport
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+
+From c5e5ee67490e7e7af56052d8f8beb75db002c2f1 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Wed, 3 Jun 2015 14:07:29 +0100
+Subject: window: Check if we can use CSD before enabling them
+
+The change in 03213b9509fc1df16c66194ea168aed6c15110e9 changed the rules
+as to when CSD can be enabled, but it also unconditionally enables CSD
+with the implicit assumption that client-side shadows were the real
+issue, and that we could work around that by drawing our own borders.
+This also means that setting a titlebar for a GtkWindow will enable CSD
+unconditionally.
+
+In reality, some window managers (like Matchbox) *only* support
+server-side decorations, and will ignore all hints to the contrary, to
+the point of drawing decorations at random locations on top of the
+window.
+
+Since CSD are enabled unconditionally, the GTK_CSD environment variable
+is also not a suitable escape hatch.
+
+In the grand tradition of asking ourselves if we should do something
+just because we can, we should split the environment checks from the
+checks on what the user requested; by doing that, we can also check
+when enabling client-side decorations, and ideally bail out if needed.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=750343
+
+diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
+index 423c6bd..9fe882f 100644
+--- a/gtk/gtkwindow.c
++++ b/gtk/gtkwindow.c
+@@ -4056,6 +4056,32 @@ gtk_window_supports_client_shadow (GtkWindow *window)
+ return TRUE;
+ }
+
++static gboolean
++gtk_window_can_use_csd (GtkWindow *window)
++{
++ const gchar *csd_env;
++
++#ifdef GDK_WINDOWING_BROADWAY
++ if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
++ return TRUE;
++#endif
++
++#ifdef GDK_WINDOWING_WAYLAND
++ if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
++ return TRUE;
++#endif
++
++#ifdef GDK_WINDOWING_MIR
++ if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
++ return TRUE;
++#endif
++
++ csd_env = g_getenv ("GTK_CSD");
++
++ /* If GTK_CSD is unset we default to CSD support */
++ return csd_env == NULL || (strcmp (csd_env, "1") == 0);
++}
++
+ static void
+ gtk_window_enable_csd (GtkWindow *window)
+ {
+@@ -4063,6 +4089,10 @@ gtk_window_enable_csd (GtkWindow *window)
+ GtkWidget *widget = GTK_WIDGET (window);
+ GdkVisual *visual;
+
++ /* If the environment does not support CSD, then there's no point in enabling them */
++ if (!gtk_window_can_use_csd (window))
++ return;
++
+ /* We need a visual with alpha for client shadows */
+ if (priv->use_client_shadow)
+ {
+@@ -5839,7 +5869,6 @@ static gboolean
+ gtk_window_should_use_csd (GtkWindow *window)
+ {
+ GtkWindowPrivate *priv = window->priv;
+- const gchar *csd_env;
+
+ if (priv->csd_requested)
+ return TRUE;
+@@ -5850,24 +5879,7 @@ gtk_window_should_use_csd (GtkWindow *window)
+ if (priv->type == GTK_WINDOW_POPUP)
+ return FALSE;
+
+-#ifdef GDK_WINDOWING_BROADWAY
+- if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+- return TRUE;
+-#endif
+-
+-#ifdef GDK_WINDOWING_WAYLAND
+- if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+- return TRUE;
+-#endif
+-
+-#ifdef GDK_WINDOWING_MIR
+- if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+- return TRUE;
+-#endif
+-
+- csd_env = g_getenv ("GTK_CSD");
+-
+- return (g_strcmp0 (csd_env, "1") == 0);
++ return gtk_window_can_use_csd (window);
+ }
+
+ static void
+--
+cgit v0.10.2
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch b/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
deleted file mode 100644
index 9ae1088..0000000
--- a/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Fri, 28 Mar 2014 03:10:12 +0000
-Subject: [PATCH] gtk/native/Makefile.am: unset target FLAGS for native build
-
-The target gtk+3 does a native build in its "native" directory, we need
-unset the target FLAGS for native build, otherwise, there might be build
-failures.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- gtk/native/Makefile.am | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am
-index 64899e9..a1c814a 100644
---- a/gtk/native/Makefile.am
-+++ b/gtk/native/Makefile.am
-@@ -3,6 +3,9 @@ AM_CFLAGS = @CFLAGS_FOR_BUILD@
- CPP = @CPP_FOR_BUILD@
- AM_CPPFLAGS = @CPPFLAGS_FOR_BUILD@
- AM_LDFLAGS = @LDFLAGS_FOR_BUILD@
-+CFLAGS =
-+CPPFLAGS =
-+LDFLAGS =
-
- if CROSS_COMPILING
- if !USE_EXTERNAL_ICON_CACHE
---
-1.8.3.4
-
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb b/meta/recipes-gnome/gtk+/gtk+3_3.16.4.bb
similarity index 75%
rename from meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.16.4.bb
index f4f1971..3a45afc 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.16.4.bb
@@ -4,11 +4,11 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
file://hardcoded_libtool.patch \
- file://fix-flags-for-native.patch \
+ file://Dont-force-csd.patch \
"
-SRC_URI[md5sum] = "0d6d8f9f79132b3b47475d047b369b1c"
-SRC_URI[sha256sum] = "61d74eea74231b1ea4b53084a9d6fc9917ab0e1d71b69d92cbf60a4b4fb385d0"
+SRC_URI[md5sum] = "c7497aaf6730524a127597b768a73bd7"
+SRC_URI[sha256sum] = "1ee5dbd7a4cb81a91eaa1b7ae64ba5a3eab6a3c0a764155583ab96524590fc8e"
S = "${WORKDIR}/gtk+-${PV}"
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
` (3 preceding siblings ...)
2015-07-06 12:28 ` [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4 Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
2015-07-06 12:29 ` [PATCH v4 7/7] midori: Depend on " Jussi Kukkonen
6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
To: openembedded-core
Sato practically requires server side decorations as matchbox panel
draws on top of the title bar. Setting "GTK_CSD=0" informs GTK+3
that we really want server side decorations even for apps designed
for CSD.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
meta/recipes-sato/matchbox-sato/matchbox-session-sato/session | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session b/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
index a3138b6..42ce483 100644
--- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
+++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato/session
@@ -14,6 +14,10 @@ else
KEYBOARD_APPLET="keyboard"
fi
+# Tell GTK+3 we really want server side decorations, even with
+# GtkHeaderBar using applications: Without that mb-panel will render
+# on top of the client side decorations.
+export GTK_CSD=0
matchbox-desktop &
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
` (4 preceding siblings ...)
2015-07-06 12:28 ` [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
@ 2015-07-06 12:28 ` Jussi Kukkonen
2015-07-06 12:29 ` [PATCH v4 7/7] midori: Depend on " Jussi Kukkonen
6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:28 UTC (permalink / raw)
To: openembedded-core
Adwaita is the current GNOME icon theme.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch b/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
index fa595dc..2c176ee 100644
--- a/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
+++ b/meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
@@ -22,7 +22,7 @@ index c4b03a7..688fbbf 100644
[Icon Theme]
Name=Sato
Comment=Sato icon theme
-+Inherits=gnome
++Inherits=Adwaita
Directories=16x16/apps,16x16/status,16x16/stock,16x16/places,16x16/mimetypes,16x16/devices,16x16/actions,22x22/apps,22x22/status,22x22/stock,22x22/places,22x22/mimetypes,22x22/devices,22x22/actions,32x32/apps,32x32/status,32x32/stock,32x32/places,32x32/mimetypes,32x32/devices,32x32/actions,48x48/apps,48x48/status,48x48/stock,48x48/places,48x48/mimetypes,48x48/devices,48x48/actions,64x64/apps,64x64/status,64x64/stock,64x64/places,64x64/mimetypes,64x64/devices,64x64/actions,
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 7/7] midori: Depend on Adwaita, not gnome-icon-theme
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
` (5 preceding siblings ...)
2015-07-06 12:28 ` [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
@ 2015-07-06 12:29 ` Jussi Kukkonen
6 siblings, 0 replies; 8+ messages in thread
From: Jussi Kukkonen @ 2015-07-06 12:29 UTC (permalink / raw)
To: openembedded-core
Adwaita is the current GNOME icon theme.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
meta/recipes-sato/midori/midori_0.5.8.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-sato/midori/midori_0.5.8.bb b/meta/recipes-sato/midori/midori_0.5.8.bb
index aa1b395..1c027fe4 100644
--- a/meta/recipes-sato/midori/midori_0.5.8.bb
+++ b/meta/recipes-sato/midori/midori_0.5.8.bb
@@ -26,6 +26,6 @@ EXTRA_OECMAKE = " \
TARGET_CC_ARCH += "${LDFLAGS}"
-RRECOMMENDS_${PN} += "glib-networking ca-certificates gnome-icon-theme"
+RRECOMMENDS_${PN} += "glib-networking ca-certificates adwaita-icon-theme"
FILES_${PN} += "${datadir}/appdata"
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-07-06 12:28 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-06 12:28 [PATCH v4 0/7] GTK+3 upgrade and related changes Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 1/7] intltool: Upgrade 0.50.2 -> 0.51.0 Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 2/7] gtk-icon-utils: Rename, upgrade, add binary Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 3/7] adwaita-icon-theme: Add new icon theme for GTK+ Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 4/7] gtk+3: Upgrade to 3.16.4 Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 5/7] matchbox-session-sato: set GTK_CSD env var Jussi Kukkonen
2015-07-06 12:28 ` [PATCH v4 6/7] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme Jussi Kukkonen
2015-07-06 12:29 ` [PATCH v4 7/7] midori: Depend on " Jussi Kukkonen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox