virtual/gail: Introduction of new virtual:
[openembedded.git] / recipes / gtk+ / gtk+_2.6.10.bb
1 DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
2 set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
3 HOMEPAGE = "http://www.gtk.org"
4 SECTION = "libs"
5 LICENSE = "LGPL"
6 PRIORITY = "optional"
7 DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
8 PR = "r11"
9
10 SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
11            file://help.patch;patch=1 \
12            file://no-demos.patch;patch=1 \
13            file://no-xwc.patch;patch=1 \
14            file://automake-lossage.patch;patch=1 \
15            file://gtk+-handhelds.patch;patch=1 \
16            file://spinbutton.patch;patch=1 \
17            file://hardcoded_libtool.patch;patch=1 \
18            file://disable-tooltips.patch;patch=1 \
19            file://gtklabel-resize-patch;patch=1 \
20            file://menu-deactivate.patch;patch=1 \
21            file://xsettings.patch;patch=1 \
22            file://scroll-timings.patch;patch=1 \
23            file://small-gtkfilesel.patch;patch=1 \
24            file://migration.patch;patch=1;pnum=0 \
25            file://single-click.patch;patch=1 \
26            file://menu-styling.patch;patch=1 \
27            file://compile-against-newer-glib.patch;patch=1 \
28            file://gtk.keynav.gtkcombobox.patch;patch=1;pnum=0 \
29            file://gtk.keynav.gtkentry.patch;patch=1;pnum=0 \
30            file://gtk.keynav.gtkiconview.patch;patch=1;pnum=0 \
31            file://gtk.keynav.gtkradiobutton.patch;patch=1;pnum=0 \
32            file://gtk.keynav.gtksettings.patch;patch=1;pnum=0 \
33            file://gtk.keynav.gtktextview.patch;patch=1;pnum=0 \
34            file://gtk.keynav.gtktreeview.patch;patch=1;pnum=0 \
35            file://gtk.keynav.gtkwidget.patch;patch=1;pnum=0 \
36            file://gtk+-2.6.10-bg.patch;patch=1 \
37            file://filesel-fix-segfault.patch;patch=1 \
38            "
39
40 inherit autotools pkgconfig
41
42 FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
43         ${bindir}/gtk-update-icon-cache \
44         ${bindir}/gtk-query-immodules-2.0 \
45         ${libdir}/lib*.so.* \
46         ${datadir}/themes ${sysconfdir} \
47         ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
48 FILES_${PN}-dev += " \
49         ${datadir}/gtk-2.0/include \
50         ${libdir}/gtk-2.0/include \
51         ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
52         ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
53         ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
54         ${bindir}/gdk-pixbuf-csource"
55 FILES_${PN}-dbg += " \
56         ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
57         ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \
58         ${libdir}/gtk-2.0/${LIBV}/engines/.debug/*"
59
60
61 RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
62
63 EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
64 # --disable-cruft
65
66 LIBV = "2.4.0"
67 do_configure_prepend() {
68         for i in `find . -name "Makefile.am"`   
69         do
70                 sed -i -e s,-DG_DISABLE_DEPRECATED,-DSED_ROCKS_DUDES, $i
71         done
72 }
73
74 do_stage () {
75         oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
76         oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
77         oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
78         oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
79
80         autotools_stage_includes
81
82         mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
83         install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
84
85         install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
86 }
87
88 do_install_append () {
89         install -d ${D}${sysconfdir}/gtk-2.0
90 }
91
92 postinst_prologue() {
93 if [ "x$D" != "x" ]; then
94   exit 1
95 fi
96
97 }
98
99 PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*"
100
101 python populate_packages_prepend () {
102         import os.path
103
104         prologue = bb.data.getVar("postinst_prologue", d, 1)
105
106         gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
107         loaders_root = os.path.join(gtk_libdir, 'loaders')
108         immodules_root = os.path.join(gtk_libdir, 'immodules')
109
110         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')
111         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')
112
113         if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
114                 bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
115 }