GTK+3 upgrade and related changes
v3 cover GTK+3 upgrade and related changes
Patch set upgrades GTK+3 and adds adwaita-icon-theme. Changes since v2:
* Package Adwaita into
adwaita-icon-theme
adwaita-icon-theme-symbolic adwaita-icon-theme-cursors
* Make gtk+3 RRECOMMEND adwaita-icon-theme-symbolic
* Re-order commits so dependencies and recommendations are logical
* Improve commit messages
* Rebase on master
The following changes since commit 379a030702c985c6e69831173f765a47dfeb8841:
bitbake: toastergui: prevent contamination of libtoaster context (2015-06-12 00:01:50 +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-update-icon-cache-native: Upgrade, add binary
adwaita-icon-theme: Add new icon theme for GTK+ gtk+3: Upgrade to 3.16.3
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
.../Create-symlinks-when-installing-cursors.patch | 178 +++++++++++++++++++++
.../gnome/adwaita-icon-theme_3.16.2.1.bb | 35 ++++
meta/recipes-gnome/gtk+/gtk+3.inc | 15 +-
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, 513 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.patchSignature · 1 line
2.1.4
PATCH v3 1/6 gtk-update-icon-cache-native: Upgrade, add binary
* 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.
--- .../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
meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.16.3.bb new file +63 -0
@@ -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"
meta/recipes-gnome/gtk+/gtk-update-icon-cache-native_3.4.4.bb deleted +0 -47
47 lines not on this page · raw message
meta/recipes-gnome/gtk+/gtk-update-icon-cache/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch new file +102 -0
102 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH v3 2/6 adwaita-icon-theme: Add new icon theme for GTK+
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 icons, symbolic icons and cursors separately
* Backport a build fix for the cursor theme to cut installed size by 11MB.
--- .../Create-symlinks-when-installing-cursors.patch | 178 +++++++++++++++++++++ .../gnome/adwaita-icon-theme_3.16.2.1.bb | 35 ++++ 2 files changed, 213 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
meta/recipes-gnome/gnome/adwaita-icon-theme/Create-symlinks-when-installing-cursors.patch new file +178 -0
@@ -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 <[email protected]> + + +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?= <[email protected]> +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 +
meta/recipes-gnome/gnome/adwaita-icon-theme_3.16.2.1.bb new file +35 -0
@@ -0,0 +1,35 @@ +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}-symbolic ${PN}" + +FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/" +FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/*/*/*.symbolic.png" +FILES_${PN} = "${prefix}/share/icons/Adwaita/ \ + ${prefix}/share/pkgconfig/adwaita-icon-theme.pc" + +RRECOMMENDS_${PN} += "librsvg-gtk"
Signature · 1 line
2.1.4
Re: [PATCH v3 2/6] adwaita-icon-theme: Add new icon theme for GTK+
Quoted 1 line · Jussi Kukkonen
+inherit autotools pkgconfig gettext gtk-icon-cache
Does this recipe build with allarch?
Would it be sensible to split out the high-resolution icons (the 256x256) into a sub-package so systems that don't have very high resolution screens don't need to ship them? I guess it comes down to how big they are.
Quoted 1 line
+RRECOMMENDS_${PN} += "librsvg-gtk"
If there's no SVG files in the theme, we don't need to depend on the SVG loader.
Ross
Re: [PATCH v3 2/6] adwaita-icon-theme: Add new icon theme for GTK+
Quoted 4 lines · Ross
Would it be sensible to split out the high-resolution icons (the 256x256) into a sub-package so systems that don't have very high resolution screens don't need to ship them? I guess it comes down to how big they are.
Answering my own question. Using du -bh, adwaita-icon-theme is ~12M in total, ~7MB of which is the 256px icons. Sounds like a separate package would be useful for people who don't care for those icons.
Ross
Re: [PATCH v3 2/6] adwaita-icon-theme: Add new icon theme for GTK+
In reply to Burton, RossQuoted 4 lines · Ross
Quoted 1 line · Jussi Kukkonen
+inherit autotools pkgconfig gettext gtk-icon-cache
Does this recipe build with allarch?
Not with my autotools fu... adwaita has a couple of strings they want translated so they use intltool. intltool.m4 decides to do a compile test (because of a Solaris corner case) and this naturally leads to a configure failure on allarch. Search for "Set DATADIRNAME correctly" in intltool.m4 if you want to see it.
Hints on how to fix that are welcome -- allarch would be helpful as install really does take quite a while.
Quoted 3 lines
Would it be sensible to split out the high-resolution icons (the 256x256) into a sub-package so systems that don't have very high resolution screens don't need to ship them? I guess it comes down to how big they are.
Agreed, based on the numbers in your other email I'll add a "adwaita-icon-theme-hires".
Quoted 4 lines
Quoted 1 line
+RRECOMMENDS_${PN} += "librsvg-gtk"
If there's no SVG files in the theme, we don't need to depend on the SVG loader.
Oh yes, my bad. I didn't remove it because I was thinking of possible other themes that get installed and might include svg icons... but that's not something this recipe should take care of.
Jussi
Re: [PATCH v3 2/6] adwaita-icon-theme: Add new icon theme for GTK+
Quoted 9 lines · Jussi Kukkonen
Not with my autotools fu... adwaita has a couple of strings they want translated so they use intltool. intltool.m4 decides to do a compile test (because of a Solaris corner case) and this naturally leads to a configure failure on allarch. Search for "Set DATADIRNAME correctly" in intltool.m4 if you want to see it.
Hints on how to fix that are welcome -- allarch would be helpful as install really does take quite a while.
If the compile tests are limited to bug detection on Solaris, we know we're not running on Solaris so could patch those out. Not having intltool break allarch would be helpful (not you mention it I remember hitting this before too).
Ross
PATCH v3 3/6 gtk+3: Upgrade to 3.16.3
In reply to Jussi Kukkonen* 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
---
meta/recipes-gnome/gtk+/gtk+3.inc | 15 +--
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, 129 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%)meta/recipes-gnome/gtk+/gtk+3.inc +8 -7
@@ -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 \
@@ -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-.*"
meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch new file +118 -0
118 lines not on this page · raw message
meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch deleted +0 -33
@@ -1,33 +0,0 @@ -From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001 -From: Robert Yang <[email protected]> -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 <[email protected]> ---- - 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 -
meta/recipes-gnome/gtk+/gtk+3_3.16.3.bb renamed from meta/recipes-gnome/gtk+/gtk+3_3.12.2.bb +3 -3
@@ -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}"
Signature · 1 line
2.1.4
Re: [PATCH v3 3/6] gtk+3: Upgrade to 3.16.3
Quoted 2 lines · Jussi Kukkonen
* Package new binaries gtk3-icon-browser and gtk-encode-symbolic-svg
Should encode-symbolic-svg be in the -dev package?
Ross
Re: [PATCH v3 3/6] gtk+3: Upgrade to 3.16.3
Quoted 5 lines · Ross
Quoted 2 lines · Jussi Kukkonen
* Package new binaries gtk3-icon-browser and gtk-encode-symbolic-svg
Should encode-symbolic-svg be in the -dev package?
That does sound better.
Thanks,
Jussi
PATCH v3 4/6 matchbox-session-sato: set GTK_CSD env var
In reply to Jussi KukkonenSato 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.
--- meta/recipes-sato/matchbox-sato/matchbox-session-sato/session | 4 ++++ 1 file changed, 4 insertions(+)
meta/recipes-sato/matchbox-sato/matchbox-session-sato/session +4 -0
@@ -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 &
Signature · 1 line
2.1.4
PATCH v3 5/6 sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
In reply to Jussi KukkonenAdwaita is the current GNOME icon theme.
--- .../sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch +1 -1
@@ -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,
Signature · 1 line
2.1.4
Re: [PATCH v3 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
Quoted 3 lines · Jussi Kukkonen
-+Inherits=gnome
++Inherits=Adwaita
Doesn't this also need a RDEPENDS on adwaita-icon-theme?
Ross
Re: [PATCH v3 5/6] sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
Quoted 7 lines · Ross
Quoted 3 lines · Jussi Kukkonen
-+Inherits=gnome
++Inherits=AdwaitaDoesn't this also need a RDEPENDS on adwaita-icon-theme?
So far there has not been a hard dependency on the icon theme from anywhere, except from applications that actually need the icons. I've not changed this basic idea in this patch set, except for setting "RRECOMMEND adwaita-icon-theme-symbolic" in gtk+3 recipe (because GTK+ widgets expect symbolic icons to be there).
E.g. core-image-sato does not have gnome-icon-theme installed currently (just sato-icon-theme and hicolor-icon-theme) and I think we can still keep it that way with Adwaita.
Jussi
PATCH v3 6/6 midori: Depend on Adwaita, not gnome-icon-theme
In reply to Jussi KukkonenAdwaita is the current GNOME icon theme.
--- meta/recipes-sato/midori/midori_0.5.8.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-sato/midori/midori_0.5.8.bb +1 -1
@@ -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"
Signature · 1 line
2.1.4
Re: [PATCH v3 1/6] gtk-update-icon-cache-native: Upgrade, add binary
In reply to Jussi KukkonenQuoted 7 lines · Jussi Kukkonen
* 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.
As oe-core master can now handle recipes renaming, so we could rename this recipe to something more generic if you wish now.
Ross