summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb
diff options
context:
space:
mode:
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.bb125
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 @@
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"
10
11DEPENDS = "libpng glib-2.0 jpeg"
12DEPENDS_append_linuxstdbase = " virtual/libx11"
13
14SRC_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
20SRC_URI[md5sum] = "339329e6d619ee3e1cb93979111b04c0"
21SRC_URI[sha256sum] = "77696fd163bca95a130a1883dbd78d0ae4d782de2fc85a9a38556d13681f5c84"
22
23PR = "r0"
24
25inherit autotools pkgconfig gettext
26
27LIBV = "2.10.0"
28
29EXTRA_OECONF = "\
30 --without-libtiff \
31 --with-libpng \
32 ${X11DEPENDS} \
33 --disable-introspection \
34"
35X11DEPENDS = "--without-x11"
36X11DEPENDS_linuxstdbase = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x11', '--without-x11', d)}"
37X11DEPENDS_class-native = "--without-x11"
38
39PACKAGES =+ "${PN}-xlib"
40
41FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
42ALLOW_EMPTY_${PN}-xlib = "1"
43
44FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
45 ${bindir}/gdk-pixbuf-pixdata \
46 ${libdir}/lib*.so.*"
47
48FILES_${PN}-dev += " \
49 ${bindir}/gdk-pixbuf-csource \
50 ${includedir}/* \
51 ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \
52"
53
54FILES_${PN}-dbg += " \
55 ${libdir}/.debug/* \
56 ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \
57"
58
59postinst_pixbufloader () {
60if [ "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.
66gdk-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
73if [ -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
79fi
80
81sed -i -e "s:$NATIVE_ROOT:/:g" $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
82
83# remove the empty loaders.err
84rm $D/${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.err
85
86exit 0
87fi
88
89# Update the pixbuf loaders in case they haven't been registered yet
90GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache
91
92if [ -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
98fi
99}
100
101PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
102PACKAGES_DYNAMIC_class-native = ""
103
104python 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
112do_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}
125BBCLASSEXTEND = "native"