summaryrefslogtreecommitdiff
path: root/meta/recipes-gnome/gdk-pixbuf
diff options
context:
space:
mode:
authorZhai Edwin <edwin.zhai@intel.com>2010-11-25 14:42:43 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-20 21:36:56 +0000
commit552169e89aea5706100a67f1f1e68a85600e1105 (patch)
treeba6246d958abd1c3d2ece313000c384f13436d9b /meta/recipes-gnome/gdk-pixbuf
parent8f23c1413ad12e60e98f9887cafa4315db7b62a2 (diff)
downloadopenembedded-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')
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch19
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch31
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-native_2.22.1.bb13
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf.inc30
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb35
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)
+}
+