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 | poky-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')
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 0000000000..bbf239c8dd --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | can sniff check buillds and runs an C binary, which breaks configure in | ||
2 | cross-compile environ. | ||
3 | This patch simple disables it. | ||
4 | |||
5 | Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> | ||
6 | |||
7 | Index: 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 0000000000..ae16927e73 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | Index: 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 0000000000..992ce16525 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-native_2.22.1.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | require gdk-pixbuf.inc | ||
2 | inherit native | ||
3 | |||
4 | DEPENDS = "libpng-native gettext-native glib-2.0-native" | ||
5 | PR = "r0" | ||
6 | |||
7 | PACKAGES_DYNAMIC = "" | ||
8 | |||
9 | do_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 0000000000..af3383e654 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf.inc | |||
@@ -0,0 +1,30 @@ | |||
1 | DESCRIPTION = "Image loading library for GTK+" | ||
2 | HOMEPAGE = "http://www.gtk.org/" | ||
3 | BUGTRACKER = "https://bugzilla.gnome.org/" | ||
4 | |||
5 | LICENSE = "LGPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ | ||
7 | file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=5066b71daefeff678494fffa3040aba9" | ||
8 | |||
9 | SECTION = "libs" | ||
10 | PRIORITY = "optional" | ||
11 | |||
12 | DEPENDS = "libpng gettext glib-2.0" | ||
13 | |||
14 | SRC_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 | |||
19 | SRC_URI[md5sum] = "fcfc854e9aec7dbb2bb3059484d44556" | ||
20 | SRC_URI[sha256sum] = "bbb57364ffba70d64f5fcfe6eda1d67249b3d58844edb06dc0f94d1ad599b4ec" | ||
21 | |||
22 | inherit autotools pkgconfig | ||
23 | |||
24 | LIBV = "2.10.0" | ||
25 | |||
26 | EXTRA_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 0000000000..ae57507334 --- /dev/null +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | require gdk-pixbuf.inc | ||
2 | |||
3 | PR = "r0" | ||
4 | |||
5 | FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ | ||
6 | ${libdir}/lib*.so.*" | ||
7 | |||
8 | FILES_${PN}-dev += " \ | ||
9 | ${bindir}/gdk-pixbuf-csource \ | ||
10 | ${includedir}/*" | ||
11 | |||
12 | FILES_${PN}-dbg += " \ | ||
13 | ${libdir}/.debug/* \ | ||
14 | ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/*" | ||
15 | |||
16 | postinst_pixbufloader () { | ||
17 | if [ "x$D" != "x" ]; then | ||
18 | exit 1 | ||
19 | fi | ||
20 | |||
21 | GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache | ||
22 | |||
23 | test -x ${bindir}/gtk-update-icon-cache && gtk-update-icon-cache -q ${datadir}/icons/hicolor | ||
24 | } | ||
25 | |||
26 | PACKAGES_DYNAMIC += "gdk-pixbuf-loader-*" | ||
27 | |||
28 | python 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 | |||