diff options
author | Zhai Edwin <edwin.zhai@intel.com> | 2010-11-25 14:42:43 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-20 21:36:56 +0000 |
commit | 552169e89aea5706100a67f1f1e68a85600e1105 (patch) | |
tree | ba6246d958abd1c3d2ece313000c384f13436d9b /meta/recipes-gnome/gdk-pixbuf | |
parent | 8f23c1413ad12e60e98f9887cafa4315db7b62a2 (diff) | |
download | openembedded-core-552169e89aea5706100a67f1f1e68a85600e1105.tar.gz openembedded-core-552169e89aea5706100a67f1f1e68a85600e1105.tar.bz2 openembedded-core-552169e89aea5706100a67f1f1e68a85600e1105.tar.xz openembedded-core-552169e89aea5706100a67f1f1e68a85600e1105.zip |
gdk-pixbuf: Add 2.22.1 as new recipe
Updating gtk+ to 2.23.2 requires gdk-pixbuf, which is originaly a module in gtk+.
Borrow hardcoded_libtool.patch from original gtk+, and add configure_fix.patch
to fix build failure in cross-compile environment.
As gdk-pixbuf is a stand-alone package now, gdk-pixbuf-csource-native can be
safely removed. So extend gdk-pixbuf with native support, and make related
packages depend on it.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Diffstat (limited to 'meta/recipes-gnome/gdk-pixbuf')
5 files changed, 128 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch new file mode 100644 index 000000000..bbf239c8d --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch @@ -0,0 +1,19 @@ +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 <edwin.zhai@intel.com> + +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.22.1/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch new file mode 100644 index 000000000..ae16927e7 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch @@ -0,0 +1,31 @@ +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-native_2.22.1.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-native_2.22.1.bb new file mode 100644 index 000000000..992ce1652 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-native_2.22.1.bb @@ -0,0 +1,13 @@ +require gdk-pixbuf.inc +inherit native + +DEPENDS = "libpng-native gettext-native glib-2.0-native" +PR = "r0" + +PACKAGES_DYNAMIC = "" + +do_install_append() { + GDK_PIXBUF_MODULEDIR=${D}${libdir}/gdk-pixbuf-2.0/2.10.0/loaders ${D}${bindir}/gdk-pixbuf-query-loaders > ${D}${libdir}/gdk-pixbuf-2.0/2.10.0/loaders.cache + sed -i -e 's#${D}##g' ${D}${libdir}/gdk-pixbuf-2.0/2.10.0/loaders.cache + find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; +} diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf.inc b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf.inc new file mode 100644 index 000000000..af3383e65 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf.inc @@ -0,0 +1,30 @@ +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" +PRIORITY = "optional" + +DEPENDS = "libpng gettext glib-2.0" + +SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.22/gdk-pixbuf-${PV}.tar.gz \ + file://hardcoded_libtool.patch;patch=1 \ + file://configure_fix.patch;patch=1 \ + " + +SRC_URI[md5sum] = "fcfc854e9aec7dbb2bb3059484d44556" +SRC_URI[sha256sum] = "bbb57364ffba70d64f5fcfe6eda1d67249b3d58844edb06dc0f94d1ad599b4ec" + +inherit autotools pkgconfig + +LIBV = "2.10.0" + +EXTRA_OECONF = "\ + --without-libtiff \ + --with-libpng \ +" + diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb new file mode 100644 index 000000000..ae5750733 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb @@ -0,0 +1,35 @@ +require gdk-pixbuf.inc + +PR = "r0" + +FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ + ${libdir}/lib*.so.*" + +FILES_${PN}-dev += " \ + ${bindir}/gdk-pixbuf-csource \ + ${includedir}/*" + +FILES_${PN}-dbg += " \ + ${libdir}/.debug/* \ + ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/*" + +postinst_pixbufloader () { +if [ "x$D" != "x" ]; then + exit 1 +fi + +GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache + +test -x ${bindir}/gtk-update-icon-cache && gtk-update-icon-cache -q ${datadir}/icons/hicolor +} + +PACKAGES_DYNAMIC += "gdk-pixbuf-loader-*" + +python populate_packages_prepend () { + postinst_pixbufloader = bb.data.getVar("postinst_pixbufloader", d, 1) + + loaders_root = bb.data.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders', d) + + do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', postinst_pixbufloader) +} + |