summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2013-01-09 16:48:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-10 23:49:40 +0000
commit2a311dd992265fefe3022903714e86703e9fd595 (patch)
tree21e32148fd7bc8b7c127403b4b223e2ed3dea6e2
parentc8e7c30041879d97f7691e4b2f6ad91b150cf150 (diff)
downloadpoky-2a311dd992265fefe3022903714e86703e9fd595.tar.gz
gtk+: version installed gtk-update-icon-cache and use alternatives
With GTK+ 3 being added soon we'll have potentially two providers of gtk-update-icon-cache. Append a version to the binary and use update-alternatives to ensure that the unversioned name works. For gtk+-native the alternatives won't take effect, so install a symlink explicitly. This will break if we have a gtk+3-native but we can fix that if and when that happens. (From OE-Core rev: a9e71b41463c6c8e2be50d40403a0017d3cdf146) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-gnome/gtk+/gtk+.inc15
-rw-r--r--meta/recipes-gnome/gtk+/gtk+_2.24.14.bb2
2 files changed, 14 insertions, 3 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc
index c6d235f66a..97d3650b06 100644
--- a/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/meta/recipes-gnome/gtk+/gtk+.inc
@@ -23,11 +23,11 @@ PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
23PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" 23PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
24PACKAGECONFIG[gtk-directfb] = "--with-gdktarget=directfb,,directfb" 24PACKAGECONFIG[gtk-directfb] = "--with-gdktarget=directfb,,directfb"
25 25
26inherit autotools gtk-doc pkgconfig 26inherit autotools gtk-doc pkgconfig update-alternatives
27 27
28PACKAGES += "libgail gtk-demo" 28PACKAGES += "libgail gtk-demo"
29 29
30FILES_${PN} = "${bindir}/gtk-update-icon-cache \ 30FILES_${PN} = "${bindir}/gtk-update-icon-cache-2.0 \
31 ${bindir}/gtk-query-immodules-2.0 \ 31 ${bindir}/gtk-query-immodules-2.0 \
32 ${libdir}/lib*${SOLIBS} \ 32 ${libdir}/lib*${SOLIBS} \
33 ${datadir}/themes ${sysconfdir} \ 33 ${datadir}/themes ${sysconfdir} \
@@ -66,6 +66,9 @@ GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
66RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}" 66RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
67RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}" 67RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
68 68
69ALTERNATIVE_${PN} = "gtk-update-icon-cache"
70ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0"
71
69do_install () { 72do_install () {
70 autotools_do_install 73 autotools_do_install
71 74
@@ -77,6 +80,14 @@ do_install () {
77 install -m 0644 gtk/gtkfilechooserprivate.h ${D}${includedir}/gtk-2.0/gtk/ 80 install -m 0644 gtk/gtkfilechooserprivate.h ${D}${includedir}/gtk-2.0/gtk/
78 install -m 0644 gtk/gtkfilechooserutils.h ${D}${includedir}/gtk-2.0/gtk/ 81 install -m 0644 gtk/gtkfilechooserutils.h ${D}${includedir}/gtk-2.0/gtk/
79 install -m 0644 gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/ 82 install -m 0644 gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/
83
84 mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0
85}
86
87do_install_append_class-native () {
88 # Ideally we'd use alternatives in the sysroot, but they don't work.
89 # As we know we don't have a native GTK+ 3 (yet), make a symlink instead.
90 ln -s gtk-update-icon-cache-2.0 ${D}${bindir}/gtk-update-icon-cache
80} 91}
81 92
82SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess" 93SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess"
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.14.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.14.bb
index 553196a150..028b2384c1 100644
--- a/meta/recipes-gnome/gtk+/gtk+_2.24.14.bb
+++ b/meta/recipes-gnome/gtk+/gtk+_2.24.14.bb
@@ -43,7 +43,7 @@ RRECOMMENDS_${PN}_class-native = ""
43DEPENDS_class-native = "glib-2.0-native atk-native pango-native cairo-native gdk-pixbuf-native" 43DEPENDS_class-native = "glib-2.0-native atk-native pango-native cairo-native gdk-pixbuf-native"
44 44
45do_install_append_class-native () { 45do_install_append_class-native () {
46 create_wrapper ${D}/${bindir}/gtk-update-icon-cache \ 46 create_wrapper ${D}/${bindir}/gtk-update-icon-cache-2.0 \
47 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache 47 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
48} 48}
49 49