summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gdk-pixbuf
diff options
context:
space:
mode:
authorZhai Edwin <edwin.zhai@intel.com>2010-11-25 06:42:43 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-20 21:36:56 (GMT)
commit552169e89aea5706100a67f1f1e68a85600e1105 (patch)
treeba6246d958abd1c3d2ece313000c384f13436d9b /meta/recipes-gnome/gdk-pixbuf
parent8f23c1413ad12e60e98f9887cafa4315db7b62a2 (diff)
downloadpoky-552169e89aea5706100a67f1f1e68a85600e1105.tar.gz
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 0000000..bbf239c
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch
@@ -0,0 +1,19 @@
1can sniff check buillds and runs an C binary, which breaks configure in
2cross-compile environ.
3This patch simple disables it.
4
5Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
6
7Index: gdk-pixbuf-2.22.1/configure.ac
8===================================================================
9--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-25 16:26:41.000000000 +0800
10+++ gdk-pixbuf-2.22.1/configure.ac 2010-11-25 16:29:22.000000000 +0800
11@@ -99,6 +99,8 @@
12 AC_MSG_CHECKING([for native Win32])
13 LIB_EXE_MACHINE_FLAG=X86
14 EXE_MANIFEST_ARCHITECTURE=X86
15+dnl disable can sniff check in cross compile
16+gio_can_sniff=no
17 case "$host" in
18 *-*-mingw*)
19 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 0000000..ae16927
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch
@@ -0,0 +1,31 @@
1Index: gdk-pixbuf-2.22.1/configure.ac
2===================================================================
3--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800
4+++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800
5@@ -287,7 +287,7 @@
6 case $enable_explicit_deps in
7 auto)
8 export SED
9- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
10+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
11 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
12 enable_explicit_deps=yes
13 else
14@@ -484,7 +484,7 @@
15 dnl Now we check to see if our libtool supports shared lib deps
16 dnl (in a rather ugly way even)
17 if $dynworks; then
18- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
19+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
20 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
21 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
22 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
23@@ -957,7 +957,7 @@
24 # We are using gmodule-no-export now, but I'm leaving the stripping
25 # code in place for now, since pango and atk still require gmodule.
26 export SED
27-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
28+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
29 if test -n "$export_dynamic"; then
30 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
31 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 0000000..992ce16
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-native_2.22.1.bb
@@ -0,0 +1,13 @@
1require gdk-pixbuf.inc
2inherit native
3
4DEPENDS = "libpng-native gettext-native glib-2.0-native"
5PR = "r0"
6
7PACKAGES_DYNAMIC = ""
8
9do_install_append() {
10 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
11 sed -i -e 's#${D}##g' ${D}${libdir}/gdk-pixbuf-2.0/2.10.0/loaders.cache
12 find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
13}
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 0000000..af3383e
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf.inc
@@ -0,0 +1,30 @@
1DESCRIPTION = "Image loading library for GTK+"
2HOMEPAGE = "http://www.gtk.org/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
7 file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=5066b71daefeff678494fffa3040aba9"
8
9SECTION = "libs"
10PRIORITY = "optional"
11
12DEPENDS = "libpng gettext glib-2.0"
13
14SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.22/gdk-pixbuf-${PV}.tar.gz \
15 file://hardcoded_libtool.patch;patch=1 \
16 file://configure_fix.patch;patch=1 \
17 "
18
19SRC_URI[md5sum] = "fcfc854e9aec7dbb2bb3059484d44556"
20SRC_URI[sha256sum] = "bbb57364ffba70d64f5fcfe6eda1d67249b3d58844edb06dc0f94d1ad599b4ec"
21
22inherit autotools pkgconfig
23
24LIBV = "2.10.0"
25
26EXTRA_OECONF = "\
27 --without-libtiff \
28 --with-libpng \
29"
30
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 0000000..ae57507
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb
@@ -0,0 +1,35 @@
1require gdk-pixbuf.inc
2
3PR = "r0"
4
5FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
6 ${libdir}/lib*.so.*"
7
8FILES_${PN}-dev += " \
9 ${bindir}/gdk-pixbuf-csource \
10 ${includedir}/*"
11
12FILES_${PN}-dbg += " \
13 ${libdir}/.debug/* \
14 ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/*"
15
16postinst_pixbufloader () {
17if [ "x$D" != "x" ]; then
18 exit 1
19fi
20
21GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache
22
23test -x ${bindir}/gtk-update-icon-cache && gtk-update-icon-cache -q ${datadir}/icons/hicolor
24}
25
26PACKAGES_DYNAMIC += "gdk-pixbuf-loader-*"
27
28python populate_packages_prepend () {
29 postinst_pixbufloader = bb.data.getVar("postinst_pixbufloader", d, 1)
30
31 loaders_root = bb.data.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders', d)
32
33 do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', postinst_pixbufloader)
34}
35