From efe02ada3602d032629c26431173d5801c9e5af3 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Fri, 14 Dec 2012 13:44:20 +0200 Subject: gdk-pixbuf: update to upstream version 2.26.5 Signed-off-by: Marko Lindqvist Signed-off-by: Saul Wold --- .../gdk-pixbuf-2.24.1/configure_fix.patch | 21 ---- .../gdk-pixbuf-2.24.1/configure_nm.patch | 21 ---- .../extending-libinstall-dependencies.patch | 42 ------- .../gdk-pixbuf-2.24.1/hardcoded_libtool.patch | 33 ------ .../gdk-pixbuf-2.26.5/configure_fix.patch | 21 ++++ .../extending-libinstall-dependencies.patch | 42 +++++++ .../gdk-pixbuf-2.26.5/hardcoded_libtool.patch | 33 ++++++ meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb | 125 --------------------- meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb | 125 +++++++++++++++++++++ 9 files changed, 221 insertions(+), 242 deletions(-) delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_fix.patch delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_nm.patch delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/hardcoded_libtool.patch create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/configure_fix.patch create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/extending-libinstall-dependencies.patch create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/hardcoded_libtool.patch delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb (limited to 'meta/recipes-gnome/gdk-pixbuf') diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_fix.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_fix.patch deleted file mode 100644 index b141690387..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -can sniff check buillds and runs an C binary, which breaks configure in -cross-compile environ. -This patch simple disables it. - -Signed-off-by: Zhai Edwin - -Upstream-Status: Inappropriate [embedded specific] - -Index: gdk-pixbuf-2.22.1/configure.ac -=================================================================== ---- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-25 16:26:41.000000000 +0800 -+++ gdk-pixbuf-2.22.1/configure.ac 2010-11-25 16:29:22.000000000 +0800 -@@ -99,6 +99,8 @@ - AC_MSG_CHECKING([for native Win32]) - LIB_EXE_MACHINE_FLAG=X86 - EXE_MANIFEST_ARCHITECTURE=X86 -+dnl disable can sniff check in cross compile -+gio_can_sniff=no - case "$host" in - *-*-mingw*) - os_win32=yes diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_nm.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_nm.patch deleted file mode 100644 index 54f7c3ad0d..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/configure_nm.patch +++ /dev/null @@ -1,21 +0,0 @@ -Pick up ${NM} from the environment. - -Upstream-Status: Pending -https://bugzilla.gnome.org/show_bug.cgi?id=671516 - -Signed-off-by: James Limbouris - -Index: gdk-pixbuf-2.24.0/configure.ac -=================================================================== -diff -uNr gdk-pixbuf-2.24.0/configure.ac gdk-pixbuf-2.24.0.mod/configure.ac ---- gdk-pixbuf-2.24.0/configure.ac 2011-08-27 11:27:52.000000000 +0800 -+++ gdk-pixbuf-2.24.0.mod/configure.ac 2012-02-28 14:48:36.481126410 +0800 -@@ -147,7 +147,7 @@ - AC_SYS_LARGEFILE - - AM_PROG_AS --AC_PATH_PROG(NM, nm, nm) -+AC_CHECK_TOOLS(NM, [$NM nm], nm) - - AC_MSG_CHECKING([for some Win32 platform]) - AS_CASE(["$host"], diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch deleted file mode 100644 index edbdced43a..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch +++ /dev/null @@ -1,42 +0,0 @@ -Upstream-Status: Pending - -This patch fixes parallel install issue that lib libpixbufloader-png.la -depends on libgdk_pixbuf-2.0.la which will be regenerated during insta- -llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time -libpixbufloader-png.la links it, the error will happen. - -Error message is: -* usr/bin/ld: cannot find -lgdk_pixbuf-2.0 -* collect2: ld returned 1 exit status - -Make an explicit dependency to the libs install targets would fix this -issue. - -Signed-off-by: Wenzong Fan ---- - gdk-pixbuf/Makefile.am | 1 + - libdeps.mk | 3 +++ - 2 files changed, 4 insertions(+), 0 deletions(-) - create mode 100644 libdeps.mk - -diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am -index 95a93a8..db44cae 100644 ---- a/gdk-pixbuf/Makefile.am -+++ b/gdk-pixbuf/Makefile.am -@@ -783,3 +783,4 @@ loaders.cache: - endif - - -include $(top_srcdir)/git.mk -+-include $(top_srcdir)/libdeps.mk -diff --git a/libdeps.mk b/libdeps.mk -new file mode 100644 -index 0000000..d7a10a8 ---- /dev/null -+++ b/libdeps.mk -@@ -0,0 +1,3 @@ -+# Extending dependencies of install-loaderLTLIBRARIES: -+# The $(lib-LTLIBRARIES) is needed by relinking $(loader_LTLIBRARIES) -+install-loaderLTLIBRARIES: install-libLTLIBRARIES --- -1.7.6.1 - diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/hardcoded_libtool.patch deleted file mode 100644 index ecca62a712..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/hardcoded_libtool.patch +++ /dev/null @@ -1,33 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: gdk-pixbuf-2.22.1/configure.ac -=================================================================== ---- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800 -+++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800 -@@ -287,7 +287,7 @@ - case $enable_explicit_deps in - auto) - export SED -- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` -+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` - if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then - enable_explicit_deps=yes - else -@@ -484,7 +484,7 @@ - dnl Now we check to see if our libtool supports shared lib deps - dnl (in a rather ugly way even) - if $dynworks; then -- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" -+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config" - pixbuf_deplibs_check=`$pixbuf_libtool_config | \ - grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ - sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` -@@ -957,7 +957,7 @@ - # We are using gmodule-no-export now, but I'm leaving the stripping - # code in place for now, since pango and atk still require gmodule. - export SED --export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` -+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` - if test -n "$export_dynamic"; then - GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"` - fi diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/configure_fix.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/configure_fix.patch new file mode 100644 index 0000000000..b141690387 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/configure_fix.patch @@ -0,0 +1,21 @@ +can sniff check buillds and runs an C binary, which breaks configure in +cross-compile environ. +This patch simple disables it. + +Signed-off-by: Zhai Edwin + +Upstream-Status: Inappropriate [embedded specific] + +Index: gdk-pixbuf-2.22.1/configure.ac +=================================================================== +--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-25 16:26:41.000000000 +0800 ++++ gdk-pixbuf-2.22.1/configure.ac 2010-11-25 16:29:22.000000000 +0800 +@@ -99,6 +99,8 @@ + AC_MSG_CHECKING([for native Win32]) + LIB_EXE_MACHINE_FLAG=X86 + EXE_MANIFEST_ARCHITECTURE=X86 ++dnl disable can sniff check in cross compile ++gio_can_sniff=no + case "$host" in + *-*-mingw*) + os_win32=yes diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/extending-libinstall-dependencies.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/extending-libinstall-dependencies.patch new file mode 100644 index 0000000000..edbdced43a --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/extending-libinstall-dependencies.patch @@ -0,0 +1,42 @@ +Upstream-Status: Pending + +This patch fixes parallel install issue that lib libpixbufloader-png.la +depends on libgdk_pixbuf-2.0.la which will be regenerated during insta- +llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time +libpixbufloader-png.la links it, the error will happen. + +Error message is: +* usr/bin/ld: cannot find -lgdk_pixbuf-2.0 +* collect2: ld returned 1 exit status + +Make an explicit dependency to the libs install targets would fix this +issue. + +Signed-off-by: Wenzong Fan +--- + gdk-pixbuf/Makefile.am | 1 + + libdeps.mk | 3 +++ + 2 files changed, 4 insertions(+), 0 deletions(-) + create mode 100644 libdeps.mk + +diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am +index 95a93a8..db44cae 100644 +--- a/gdk-pixbuf/Makefile.am ++++ b/gdk-pixbuf/Makefile.am +@@ -783,3 +783,4 @@ loaders.cache: + endif + + -include $(top_srcdir)/git.mk ++-include $(top_srcdir)/libdeps.mk +diff --git a/libdeps.mk b/libdeps.mk +new file mode 100644 +index 0000000..d7a10a8 +--- /dev/null ++++ b/libdeps.mk +@@ -0,0 +1,3 @@ ++# Extending dependencies of install-loaderLTLIBRARIES: ++# The $(lib-LTLIBRARIES) is needed by relinking $(loader_LTLIBRARIES) ++install-loaderLTLIBRARIES: install-libLTLIBRARIES +-- +1.7.6.1 + diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/hardcoded_libtool.patch new file mode 100644 index 0000000000..ecca62a712 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.26.5/hardcoded_libtool.patch @@ -0,0 +1,33 @@ +Upstream-Status: Inappropriate [configuration] + +Index: gdk-pixbuf-2.22.1/configure.ac +=================================================================== +--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800 ++++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800 +@@ -287,7 +287,7 @@ + case $enable_explicit_deps in + auto) + export SED +- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` ++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` + if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then + enable_explicit_deps=yes + else +@@ -484,7 +484,7 @@ + dnl Now we check to see if our libtool supports shared lib deps + dnl (in a rather ugly way even) + if $dynworks; then +- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" ++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config" + pixbuf_deplibs_check=`$pixbuf_libtool_config | \ + grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ + sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` +@@ -957,7 +957,7 @@ + # We are using gmodule-no-export now, but I'm leaving the stripping + # code in place for now, since pango and atk still require gmodule. + export SED +-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + if test -n "$export_dynamic"; then + GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"` + fi diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb deleted file mode 100644 index 33a43becaa..0000000000 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb +++ /dev/null @@ -1,125 +0,0 @@ -DESCRIPTION = "Image loading library for GTK+" -HOMEPAGE = "http://www.gtk.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=5066b71daefeff678494fffa3040aba9" - -SECTION = "libs" - -DEPENDS = "libpng glib-2.0 jpeg" -DEPENDS_append_linuxstdbase = " virtual/libx11" - -SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.24/gdk-pixbuf-${PV}.tar.xz \ - file://configure_nm.patch \ - file://hardcoded_libtool.patch \ - file://configure_fix.patch \ - file://extending-libinstall-dependencies.patch \ - " - -SRC_URI[md5sum] = "72f39b34b20f68148c1609bd27415412" -SRC_URI[sha256sum] = "da7a3f00db360913716368e19e336402755cafa93769f3cfa28a969303e4bee1" - -PR = "r7" - -inherit autotools pkgconfig gettext - -LIBV = "2.10.0" - -EXTRA_OECONF = "\ - --without-libtiff \ - --with-libpng \ - ${X11DEPENDS} \ - --disable-introspection \ -" -X11DEPENDS = "--without-x11" -X11DEPENDS_linuxstdbase = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x11', '--without-x11', d)}" -X11DEPENDS_class-native = "--without-x11" - -PACKAGES =+ "${PN}-xlib" - -FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" -ALLOW_EMPTY_${PN}-xlib = "1" - -FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ - ${libdir}/lib*.so.*" - -FILES_${PN}-dev += " \ - ${bindir}/gdk-pixbuf-csource \ - ${includedir}/* \ - ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ -" - -FILES_${PN}-dbg += " \ - ${libdir}/.debug/* \ - ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \ -" - -postinst_pixbufloader () { -if [ "x$D" != "x" ]; then -# Update the target's pixbuf loader's cache. Since the native binary will -# throw an error if the shared objects do not belong to the same ELF class, -# we trick the gdk-pixbuf-query-loaders into scanning the native shared -# objects and then we remove the NATIVE_ROOT prefix from the paths in -# loaders.cache. -gdk-pixbuf-query-loaders $(ls -d -1 $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.so |\ - sed -e "s:$D:$NATIVE_ROOT:g") > \ - $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ - 2>$D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err - -# gdk-pixbuf-query-loaders always returns 0, so we need to check if loaders.err -# has anything in it -if [ -s $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err ]; then - echo "${PN} postinstall scriptlet failed:" - cat $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err - rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err - # we've got errors, postpone postinstall for first boot - exit 1 -fi - -sed -i -e "s:$NATIVE_ROOT:/:g" $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - -# remove the empty loaders.err -rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err - -exit 0 -fi - -# Update the pixbuf loaders in case they haven't been registered yet -GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache - -if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then - for icondir in /usr/share/icons/*; do - if [ -d ${icondir} ]; then - gtk-update-icon-cache -t -q ${icondir} - fi - done -fi -} - -PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" -PACKAGES_DYNAMIC_class-native = "" - -python populate_packages_prepend () { - postinst_pixbufloader = d.getVar("postinst_pixbufloader", True) - - loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') - - do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', postinst_pixbufloader) -} - -do_install_append_class-native() { -#Use wrapper script rather than binary as required libtool library is not installed now - GDK_PIXBUF_MODULEDIR=${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders ${S}/gdk-pixbuf/gdk-pixbuf-query-loaders > ${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - sed -i -e 's#${D}##g' ${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; - - create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ - GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders -} -BBCLASSEXTEND = "native" diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb new file mode 100644 index 0000000000..5a9cd9b585 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb @@ -0,0 +1,125 @@ +DESCRIPTION = "Image loading library for GTK+" +HOMEPAGE = "http://www.gtk.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=5066b71daefeff678494fffa3040aba9" + +SECTION = "libs" + +DEPENDS = "libpng glib-2.0 jpeg" +DEPENDS_append_linuxstdbase = " virtual/libx11" + +SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.26/gdk-pixbuf-${PV}.tar.xz \ + file://hardcoded_libtool.patch \ + file://configure_fix.patch \ + file://extending-libinstall-dependencies.patch \ + " + +SRC_URI[md5sum] = "339329e6d619ee3e1cb93979111b04c0" +SRC_URI[sha256sum] = "77696fd163bca95a130a1883dbd78d0ae4d782de2fc85a9a38556d13681f5c84" + +PR = "r0" + +inherit autotools pkgconfig gettext + +LIBV = "2.10.0" + +EXTRA_OECONF = "\ + --without-libtiff \ + --with-libpng \ + ${X11DEPENDS} \ + --disable-introspection \ +" +X11DEPENDS = "--without-x11" +X11DEPENDS_linuxstdbase = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x11', '--without-x11', d)}" +X11DEPENDS_class-native = "--without-x11" + +PACKAGES =+ "${PN}-xlib" + +FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" +ALLOW_EMPTY_${PN}-xlib = "1" + +FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ + ${bindir}/gdk-pixbuf-pixdata \ + ${libdir}/lib*.so.*" + +FILES_${PN}-dev += " \ + ${bindir}/gdk-pixbuf-csource \ + ${includedir}/* \ + ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ +" + +FILES_${PN}-dbg += " \ + ${libdir}/.debug/* \ + ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \ +" + +postinst_pixbufloader () { +if [ "x$D" != "x" ]; then +# Update the target's pixbuf loader's cache. Since the native binary will +# throw an error if the shared objects do not belong to the same ELF class, +# we trick the gdk-pixbuf-query-loaders into scanning the native shared +# objects and then we remove the NATIVE_ROOT prefix from the paths in +# loaders.cache. +gdk-pixbuf-query-loaders $(ls -d -1 $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.so |\ + sed -e "s:$D:$NATIVE_ROOT:g") > \ + $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ + 2>$D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err + +# gdk-pixbuf-query-loaders always returns 0, so we need to check if loaders.err +# has anything in it +if [ -s $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err ]; then + echo "${PN} postinstall scriptlet failed:" + cat $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err + rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err + # we've got errors, postpone postinstall for first boot + exit 1 +fi + +sed -i -e "s:$NATIVE_ROOT:/:g" $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + +# remove the empty loaders.err +rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err + +exit 0 +fi + +# Update the pixbuf loaders in case they haven't been registered yet +GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache + +if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then + for icondir in /usr/share/icons/*; do + if [ -d ${icondir} ]; then + gtk-update-icon-cache -t -q ${icondir} + fi + done +fi +} + +PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" +PACKAGES_DYNAMIC_class-native = "" + +python populate_packages_prepend () { + postinst_pixbufloader = d.getVar("postinst_pixbufloader", True) + + loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') + + do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', postinst_pixbufloader) +} + +do_install_append_class-native() { +#Use wrapper script rather than binary as required libtool library is not installed now + GDK_PIXBUF_MODULEDIR=${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders ${S}/gdk-pixbuf/gdk-pixbuf-query-loaders > ${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + sed -i -e 's#${D}##g' ${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; + + create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ + GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders +} +BBCLASSEXTEND = "native" -- cgit 1.2.3-korg