diff options
Diffstat (limited to 'meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb')
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb | 125 |
1 files changed, 125 insertions, 0 deletions
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 @@ | |||
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 | |||
11 | DEPENDS = "libpng glib-2.0 jpeg" | ||
12 | DEPENDS_append_linuxstdbase = " virtual/libx11" | ||
13 | |||
14 | SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.26/gdk-pixbuf-${PV}.tar.xz \ | ||
15 | file://hardcoded_libtool.patch \ | ||
16 | file://configure_fix.patch \ | ||
17 | file://extending-libinstall-dependencies.patch \ | ||
18 | " | ||
19 | |||
20 | SRC_URI[md5sum] = "339329e6d619ee3e1cb93979111b04c0" | ||
21 | SRC_URI[sha256sum] = "77696fd163bca95a130a1883dbd78d0ae4d782de2fc85a9a38556d13681f5c84" | ||
22 | |||
23 | PR = "r0" | ||
24 | |||
25 | inherit autotools pkgconfig gettext | ||
26 | |||
27 | LIBV = "2.10.0" | ||
28 | |||
29 | EXTRA_OECONF = "\ | ||
30 | --without-libtiff \ | ||
31 | --with-libpng \ | ||
32 | ${X11DEPENDS} \ | ||
33 | --disable-introspection \ | ||
34 | " | ||
35 | X11DEPENDS = "--without-x11" | ||
36 | X11DEPENDS_linuxstdbase = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x11', '--without-x11', d)}" | ||
37 | X11DEPENDS_class-native = "--without-x11" | ||
38 | |||
39 | PACKAGES =+ "${PN}-xlib" | ||
40 | |||
41 | FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" | ||
42 | ALLOW_EMPTY_${PN}-xlib = "1" | ||
43 | |||
44 | FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ | ||
45 | ${bindir}/gdk-pixbuf-pixdata \ | ||
46 | ${libdir}/lib*.so.*" | ||
47 | |||
48 | FILES_${PN}-dev += " \ | ||
49 | ${bindir}/gdk-pixbuf-csource \ | ||
50 | ${includedir}/* \ | ||
51 | ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ | ||
52 | " | ||
53 | |||
54 | FILES_${PN}-dbg += " \ | ||
55 | ${libdir}/.debug/* \ | ||
56 | ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \ | ||
57 | " | ||
58 | |||
59 | postinst_pixbufloader () { | ||
60 | if [ "x$D" != "x" ]; then | ||
61 | # Update the target's pixbuf loader's cache. Since the native binary will | ||
62 | # throw an error if the shared objects do not belong to the same ELF class, | ||
63 | # we trick the gdk-pixbuf-query-loaders into scanning the native shared | ||
64 | # objects and then we remove the NATIVE_ROOT prefix from the paths in | ||
65 | # loaders.cache. | ||
66 | gdk-pixbuf-query-loaders $(ls -d -1 $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.so |\ | ||
67 | sed -e "s:$D:$NATIVE_ROOT:g") > \ | ||
68 | $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ | ||
69 | 2>$D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err | ||
70 | |||
71 | # gdk-pixbuf-query-loaders always returns 0, so we need to check if loaders.err | ||
72 | # has anything in it | ||
73 | if [ -s $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err ]; then | ||
74 | echo "${PN} postinstall scriptlet failed:" | ||
75 | cat $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err | ||
76 | rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err | ||
77 | # we've got errors, postpone postinstall for first boot | ||
78 | exit 1 | ||
79 | fi | ||
80 | |||
81 | sed -i -e "s:$NATIVE_ROOT:/:g" $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache | ||
82 | |||
83 | # remove the empty loaders.err | ||
84 | rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err | ||
85 | |||
86 | exit 0 | ||
87 | fi | ||
88 | |||
89 | # Update the pixbuf loaders in case they haven't been registered yet | ||
90 | GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache | ||
91 | |||
92 | if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then | ||
93 | for icondir in /usr/share/icons/*; do | ||
94 | if [ -d ${icondir} ]; then | ||
95 | gtk-update-icon-cache -t -q ${icondir} | ||
96 | fi | ||
97 | done | ||
98 | fi | ||
99 | } | ||
100 | |||
101 | PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" | ||
102 | PACKAGES_DYNAMIC_class-native = "" | ||
103 | |||
104 | python populate_packages_prepend () { | ||
105 | postinst_pixbufloader = d.getVar("postinst_pixbufloader", True) | ||
106 | |||
107 | loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') | ||
108 | |||
109 | do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', postinst_pixbufloader) | ||
110 | } | ||
111 | |||
112 | do_install_append_class-native() { | ||
113 | #Use wrapper script rather than binary as required libtool library is not installed now | ||
114 | 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 | ||
115 | sed -i -e 's#${D}##g' ${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache | ||
116 | find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; | ||
117 | |||
118 | create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ | ||
119 | GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache | ||
120 | |||
121 | create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ | ||
122 | GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ | ||
123 | GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders | ||
124 | } | ||
125 | BBCLASSEXTEND = "native" | ||