From 653f9f0f698d91ca9b0ac958c9679c101c591eb0 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Mon, 4 Oct 2010 09:46:34 -0700 Subject: [PATCH] gtk+-native: fix relocation In a sysroot process hook, to deal with relocation: - Re-generate the gdk-pixbuf.loaders file to contain the current sysroot path to the pixbuf loaders directory. - Create wrappers for gdk-pixbuf-csource and gdk-pixbuf-query-loaders utilities, passing along the appropriate environment variables to ensure they too point at the current sysroot path. Signed-off-by: Chris Larson --- recipes/gtk+/gtk+.inc | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/recipes/gtk+/gtk+.inc b/recipes/gtk+/gtk+.inc index bb74d785de..76e1a4febf 100644 --- a/recipes/gtk+/gtk+.inc +++ b/recipes/gtk+/gtk+.inc @@ -16,7 +16,7 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.bz2; file://xsettings.patch \ " -INC_PR = "r8" +INC_PR = "r10" inherit autotools pkgconfig @@ -66,21 +66,26 @@ do_install_append () { rm -f ${D}${libdir}/gtk-2.0/*/*.la ${D}${libdir}/gtk-2.0/${LIBV}/*/*.la } -do_install_virtclass-native () { - autotools_do_install - - mkdir -p ${D}${libdir}/gtk-2.0/include - install -m 0644 gdk/gdkconfig.h ${D}${libdir}/gtk-2.0/include/gdkconfig.h - # Copy over all headers, since the maemo stuff needs access to the private api. *sigh* - cp gtk/*.h ${D}${includedir}/gtk-2.0/gtk/ - - install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/ - - install -d ${D}${sysconfdir}/gtk-2.0 - rm -f ${D}${libdir}/gtk-2.0/*/*.la ${D}${libdir}/gtk-2.0/${LIBV}/*/*.la +do_install_append_virtclass-native () { + ${D}${bindir}/gdk-pixbuf-query-loaders \ + ${D}${libdir}/gtk-2.0/${LIBV}/loaders/*.so | \ + sed -e's,${D},,' > \ + ${D}${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders +} - mkdir -p "${D}${sysconfdir}/gtk-2.0" - ${B}/gdk-pixbuf/gdk-pixbuf-query-loaders ${B}/gdk-pixbuf/.libs/*.so | sed 's:${B}/gdk-pixbuf/.libs:${STAGING_LIBDIR}/gtk-2.0/${LIBV}/loaders:' > "${D}${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders" +SYSROOT_PREPROCESS_FUNCS_append_virtclass-native = " gdk_pixbuf_fixup" + +_SYSROOT_DEST = "${SYSROOT_DESTDIR}${STAGING_DIR_HOST}" +gdk_pixbuf_fixup () { + create_wrapper ${_SYSROOT_DEST}${bindir}/gdk-pixbuf-query-loaders \ + LD_LIBRARY_PATH=${STAGING_LIBDIR} \ + GDK_PIXBUF_MODULEDIR=${libdir}/gtk-2.0/${LIBV}/loaders + ${_SYSROOT_DEST}${bindir}/gdk-pixbuf-query-loaders \ + ${_SYSROOT_DEST}${libdir}/gtk-2.0/${LIBV}/loaders/*.so | \ + sed -e's,${_SYSROOT_DEST},,' > \ + ${_SYSROOT_DEST}${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders + create_wrapper ${_SYSROOT_DEST}${bindir}/gdk-pixbuf-csource \ + GDK_PIXBUF_MODULE_FILE=${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders } postinst_prologue() { -- 2.39.5