Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into...
[openembedded.git] / recipes / gtk+ / gtk+_2.8.9.bb
1 LICENSE = "LGPL"
2 DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
3 set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
4 HOMEPAGE = "http://www.gtk.org"
5 SECTION = "libs"
6 PRIORITY = "optional"
7 DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo"
8 PR = "r7"
9
10 SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-${PV}.tar.bz2 \
11            file://no-xwc.patch;patch=1 \
12            file://automake-lossage.patch;patch=1 \
13            file://spinbutton.patch;patch=1 \
14            file://hardcoded_libtool.patch;patch=1 \
15            file://disable-tooltips.patch;patch=1 \
16            file://gtklabel-resize-patch;patch=1 \
17            file://menu-deactivate.patch;patch=1 \
18            file://xsettings.patch;patch=1 \
19            file://scroll-timings.patch;patch=1 \
20            file://small-gtkfilesel.patch;patch=1 \
21            file://migration.patch;patch=1;pnum=0 \
22            file://no-demos.patch;patch=1 \
23            file://gtk+-handhelds.patch;patch=1 \
24            file://single-click.patch;patch=1"
25
26 inherit autotools pkgconfig
27
28 FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
29         ${bindir}/gtk-query-immodules-2.0 \
30         ${libdir}/lib*.so.* \
31         ${datadir}/themes ${sysconfdir} \
32         ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so \
33         ${bindir}/gtk-update-icon-cache"
34 FILES_${PN}-dev += " \
35         ${datadir}/gtk-2.0/include \
36         ${libdir}/gtk-2.0/include \
37         ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
38         ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
39         ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
40         ${bindir}/gdk-pixbuf-csource"
41 FILES_${PN}-dbg += " \
42         ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
43         ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \
44         ${libdir}/gtk-2.0/${LIBV}/engines/.debug/*"
45
46
47 RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
48 RRECOMMENDS_${PN}_angstrom = "glibc-gconv-iso8859-1 ttf-dejavu-sans gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
49
50 EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
51 # --disable-cruft
52
53 LIBV = "2.4.0"
54
55 do_stage () {
56         oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
57         oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
58         oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
59         oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
60
61         autotools_stage_includes
62
63         mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
64         install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
65
66         install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
67 }
68
69 do_install_append () {
70         install -d ${D}${sysconfdir}/gtk-2.0
71 }
72
73 postinst_prologue() {
74 if [ "x$D" != "x" ]; then
75   exit 1
76 fi
77
78 }
79
80 PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*"
81
82 python populate_packages_prepend () {
83         import os.path
84
85         prologue = bb.data.getVar("postinst_prologue", d, 1)
86
87         gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
88         loaders_root = os.path.join(gtk_libdir, 'loaders')
89         immodules_root = os.path.join(gtk_libdir, 'immodules')
90
91         do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
92         do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules')
93
94         if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
95                 bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
96 }