GTK+3 upgrade and related changes
v2 cover GTK+3 upgrade and related changes
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.patchSignature · 1 line
2.1.4
PATCH v2 1/6 gtk+3: Upgrade to 3.16.3
* 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
---
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%)meta/recipes-gnome/gtk+/gtk+3.inc +7 -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 \
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
PATCH v2 2/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 v2 3/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 v2 4/6 adwaita-icon-theme: Add new icon theme for GTK+
In reply to Jussi KukkonenAdwaita 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.
--- .../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
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 +34 -0
@@ -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"
Signature · 1 line
2.1.4
PATCH v2 5/6 sato-icon-theme: Inherit Adwaita, not gnome-icon-theme
In reply to Jussi KukkonenAdwaita is the current GNOME icon set and provides the symbolic icons gnome-icon-theme does not.
--- .../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
PATCH v2 6/6 midori: Depend on Adwaita, not gnome-icon-theme
In reply to Jussi KukkonenAdwaita is the current GNOME icon theme and provides the symbolic icons gnome-icon-theme does not.
--- 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 v2 6/6] midori: Depend on Adwaita, not gnome-icon-theme
meta/recipes-sato/midori/midori_0.5.8.bb EXTRA_OECMAKE = " \ · line 29
Quoted 2 lines · Jussi Kukkonen
meta/recipes-sato/midori/midori_0.5.8.bb +1
-1-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
Re: [PATCH v2 6/6] midori: Depend on Adwaita, not gnome-icon-theme
Quoted 8 lines · Alexander Kanavin
meta/recipes-sato/midori/midori_0.5.8.bb EXTRA_OECMAKE = " \ · line 29
Quoted 2 lines · Jussi Kukkonen
meta/recipes-sato/midori/midori_0.5.8.bb +1
-1-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
Re: [PATCH v2 1/6] gtk+3: Upgrade to 3.16.3
In reply to Jussi KukkonenQuoted 2 lines · Jussi Kukkonen
+ 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