Apply latest gtk build fixes from Philip Blundell.
authorChris Larson <clarson@kergoth.com>
Mon, 15 Mar 2004 02:37:22 +0000 (02:37 +0000)
committerChris Larson <clarson@kergoth.com>
Mon, 15 Mar 2004 02:37:22 +0000 (02:37 +0000)
BKrev: 405516e22JJOHILNDh2bX_oUfLK8uA

gtk+/gtk+-2.2.4/automake-lossage.patch
gtk+/gtk+-2.2.4/glib-2.0.m4 [new file with mode: 0644]
gtk+/gtk+-2.2.4/glib-gettext.m4 [new file with mode: 0644]
gtk+/gtk+-2.2.4/libtool-lossage.patch [new file with mode: 0644]
gtk+/gtk+_2.2.4.oe

index e69de29..9560abf 100644 (file)
@@ -0,0 +1,446 @@
+--- gtk/Makefile.am.old        2003-09-03 20:50:06.000000000 +0100
++++ gtk/Makefile.am    2004-03-07 12:17:29.000000000 +0000
+@@ -2,7 +2,7 @@
+ SUBDIRS=stock-icons theme-bits
+-INCLUDES = @STRIP_BEGIN@ \
++INCLUDES =  \
+       -DG_LOG_DOMAIN=\"Gtk\"                          \
+       -DGTK_LIBDIR=\"$(libdir)\"                      \
+       -DGTK_DATA_PREFIX=\"$(prefix)\"                 \
+@@ -20,8 +20,7 @@
+       -DGDK_DISABLE_DEPRECATED                        \
+       -DGTK_DISABLE_DEPRECATED                        \
+       @GTK_DEBUG_FLAGS@                               \
+-      @GTK_DEP_CFLAGS@                                \
+-@STRIP_END@
++      @GTK_DEP_CFLAGS@
+ gtarget=@gdktarget@
+@@ -67,7 +66,7 @@
+ # since automake doesn't support conditionalized libsomething_la_LDFLAGS
+ # we use the general approach here
+ libgtkincludedir = $(includedir)/gtk-2.0/gtk
+-LDFLAGS = @STRIP_BEGIN@ \
++AM_LDFLAGS =  \
+       @LDFLAGS@                                                               \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)                    \
+       -export-dynamic                                                         \
+@@ -77,8 +76,8 @@
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la          \
+       $(top_builddir)/gdk/@gdktargetlib@                                      \
+       $(libgtk_target_ldflags)                                                \
+-      @GTK_DEP_LIBS@                                                          \
+-@STRIP_END@
++      @GTK_DEP_LIBS@
++
+ #
+ # setup source file variables
+@@ -86,7 +85,7 @@
+ # GTK+ header files for public installation (non-generated, or generated
+ # by configure)
+-gtk_public_h_sources = @STRIP_BEGIN@ \
++gtk_public_h_sources =  \
+       gtk.h                   \
+       gtkaccelgroup.h         \
+       gtkaccellabel.h         \
+@@ -228,10 +227,10 @@
+       gtkvscrollbar.h         \
+       gtkvseparator.h         \
+       gtkwidget.h             \
+-      gtkwindow.h             \
+-@STRIP_END@
++      gtkwindow.h
++
+ # GTK+ header files that don't get installed
+-gtk_private_h_sources = @STRIP_BEGIN@ \
++gtk_private_h_sources =  \
+       gtkrbtree.h             \
+       gtktextbtree.h          \
+       gtktextchildprivate.h   \
+@@ -244,8 +243,7 @@
+       gtkthemes.h             \
+       gtktreedatalist.h       \
+       gtktreeprivate.h        \
+-      gtkwindow-decorate.h    \
+-@STRIP_END@
++      gtkwindow-decorate.h
+ # GTK+ C sources to build the library from
+@@ -257,7 +255,7 @@
+       gtktreeitem.c
+ endif
+-gtk_c_sources = @STRIP_BEGIN@   \
++gtk_c_sources =                       \
+       gtkaccelgroup.c         \
+       gtkaccelmap.c           \
+       gtkaccellabel.c         \
+@@ -410,15 +408,13 @@
+       gtkwindow-decorate.c    \
+       fnmatch.c               \
+       xembed.h                \
+-      ${crufty_gtk_c_sources} \
+-@STRIP_END@
++      ${crufty_gtk_c_sources}
+-gtk_plug_c_sources = @STRIP_BEGIN@   \
++gtk_plug_c_sources =          \
+       gtkplug.c               \
+       gtksocket.c             \
+       gtkxembed.c             \
+-      gtkxembed.h             \
+-@STRIP_END@
++      gtkxembed.h
+ # we use our own built_sources variable rules to avoid automake's
+ # BUILT_SOURCES oddities
+@@ -427,35 +423,34 @@
+ # content
+ # built sources that get installed with the header files
+-gtk_built_public_sources = @STRIP_BEGIN@ \
++gtk_built_public_sources =  \
+       gtkmarshal.h            \
+-      gtktypebuiltins.h       \
+-@STRIP_END@
+-gtk_built_private_headers = @STRIP_BEGIN@ \
+-      gtkmarshalers.h         \
+-@STRIP_END@
++      gtktypebuiltins.h
++
++gtk_built_private_headers =  \
++      gtkmarshalers.h
++
+ # built sources that don't get installed
+-gtk_built_sources = @STRIP_BEGIN@             \
++gtk_built_sources =           \
+       gtktypebuiltins.c                       \
+       gtkmarshalers.c                         \
+       gtkmarshalers.h                         \
+       gtkmarshal.c                            \
+       ${gtk_built_private_headers}            \
+-      ${gtk_built_public_sources}             \
+-@STRIP_END@
+-stamp_files = @STRIP_BEGIN@           \
++      ${gtk_built_public_sources}
++
++stamp_files =                 \
+       stamp-gtkmarshalers.h           \
+       stamp-gtkmarshal.h              \
+-      stamp-gtktypebuiltins.h         \
+-@STRIP_END@
++      stamp-gtktypebuiltins.h
++
+ # non-header sources (headers should be specified in the above variables)
+ # that don't serve as direct make target sources, i.e. they don't have
+ # their own .lo rules and don't get publically installed
+-gtk_extra_sources = @STRIP_BEGIN@ \
++gtk_extra_sources =  \
+       gtkversion.h.in         \
+       gtkmarshalers.list      \
+-      gtkmarshal.list         \
+-@STRIP_END@
++      gtkmarshal.list
+ #
+ # setup GTK+ sources and their dependencies
+@@ -592,11 +587,10 @@
+ TEST_DEPS = $(DEPS) gtk.immodules
+-LDADDS = @STRIP_BEGIN@ \
++LDADDS =  \
+       $(gtktargetlib)                                                 \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
+-      $(top_builddir)/gdk/$(gdktargetlib)                             \
+-@STRIP_END@
++      $(top_builddir)/gdk/$(gdktargetlib)
+ #
+ # Installed tools
+@@ -615,7 +609,7 @@
+         echo $$p; \
+       done
+-EXTRA_DIST += @STRIP_BEGIN@   \
++EXTRA_DIST +=         \
+       line-arrow.xbm          \
+       line-wrap.xbm           \
+       tree_plus.xbm           \
+@@ -629,9 +623,8 @@
+       gtkrc.key.default       \
+       gtkrc.key.emacs         \
+       makefile.msc            \
+-      makefile.msc.in         \
+-@STRIP_END@
++      makefile.msc.in
+ install-data-local:
+
+--- gdk/Makefile.am.old        2003-09-03 20:49:25.000000000 +0100
++++ gdk/Makefile.am    2004-03-07 12:18:18.000000000 +0000
+@@ -10,7 +10,7 @@
+       makeenums.pl            \
+       makefile.msc
+-common_includes = @STRIP_BEGIN@       \
++common_includes =     \
+       -DG_LOG_DOMAIN=\"Gdk\"          \
+       -DGDK_COMPILATION               \
+       -I$(top_srcdir)                 \
+@@ -20,8 +20,7 @@
+       -DGDK_PIXBUF_DISABLE_DEPRECATED \
+       -DGDK_DISABLE_DEPRECATED        \
+       @GTK_DEBUG_FLAGS@               \
+-      @GDK_DEP_CFLAGS@                \
+-@STRIP_END@
++      @GDK_DEP_CFLAGS@
+ INCLUDES = $(common_includes)
+ gtarget=@gdktarget@
+@@ -69,7 +68,7 @@
+ # libtool stuff: set version and export symbols for resolving
+ # since automake doesn't support conditionalized libsomething_la_LDFLAGS
+ # we use the general approach here
+-LDFLAGS = @STRIP_BEGIN@                                               \
++AM_LDFLAGS =                                                  \
+       @LDFLAGS@                                                       \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)            \
+       -export-dynamic                                                 \
+@@ -77,8 +76,7 @@
+       $(no_undefined)                                                 \
+       @LIBTOOL_EXPORT_OPTIONS@                                        \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
+-      $(gdk_win32_symbols)                                            \
+-@STRIP_END@
++      $(gdk_win32_symbols)
+ #
+ # setup source file variables
+@@ -88,7 +86,7 @@
+ #
+ # Note: files added here may need to be be propagated to gdk_headers in gtk/Makefile.am
+ #
+-gdk_public_h_sources = @STRIP_BEGIN@          \
++gdk_public_h_sources =                \
+       gdk.h                                   \
+       gdkcolor.h                              \
+       gdkcursor.h                             \
+@@ -114,16 +112,14 @@
+       gdkselection.h                          \
+       gdktypes.h                              \
+       gdkvisual.h                             \
+-      gdkwindow.h                             \
+-@STRIP_END@
++      gdkwindow.h
+-gdk_headers = @STRIP_BEGIN@       \
++gdk_headers =        \
+       $(gdk_public_h_sources)   \
+       gdkenumtypes.h            \
+-      gdkprivate.h              \
+-@STRIP_END@
++      gdkprivate.h
+-gdk_c_sources = @STRIP_BEGIN@         \
++gdk_c_sources =       \
+       gdk.c                   \
+       gdkcolor.c              \
+       gdkcursor.c             \
+@@ -153,8 +149,7 @@
+       gdkscreen.c             \
+       gdkselection.c          \
+       gdkvisual.c             \
+-      gdkwindow.c             \
+-@STRIP_END@
++      gdkwindow.c
+ #
+ # setup GDK sources and their dependencies
+@@ -164,11 +159,10 @@
+ gdkinclude_HEADERS = $(gdk_headers)
+ # gdkmarshalers.c is not here becuase it is currently an empty file
+-common_sources = @STRIP_BEGIN@        \
++common_sources =      \
+       $(gdk_c_sources)        \
+       gdkenumtypes.c          \
+-      gdkmarshalers.h         \
+-@STRIP_END@
++      gdkmarshalers.h
+ libgdk_x11_2_0_la_SOURCES = $(common_sources)
+ libgdk_linux_fb_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
+--- gdk-pixbuf/Makefile.am.old 2003-01-27 23:19:07.000000000 +0000
++++ gdk-pixbuf/Makefile.am     2004-03-07 12:19:11.000000000 +0000
+@@ -238,7 +238,7 @@
+ endif
+ DEPS = libgdk_pixbuf-$(GTK_API_VERSION).la
+-INCLUDES = @STRIP_BEGIN@                      \
++INCLUDES =                    \
+       -DG_LOG_DOMAIN=\"GdkPixbuf\"            \
+       -I$(top_srcdir) -I$(top_builddir)       \
+       -I$(top_srcdir)/gdk-pixbuf              \
+@@ -252,8 +252,7 @@
+       @INCLUDED_LOADER_DEFINE@                \
+       @GTK_DEBUG_FLAGS@                       \
+       @GDK_PIXBUF_DEP_CFLAGS@                 \
+-      -DGDK_PIXBUF_ENABLE_BACKEND             \
+-@STRIP_END@
++      -DGDK_PIXBUF_ENABLE_BACKEND
+ AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
+ LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la
+@@ -281,7 +280,7 @@
+ # The GdkPixBuf library
+ #
+ libgdk_pixbufincludedir = $(includedir)/gtk-2.0/gdk-pixbuf
+-libgdk_pixbuf_2_0_la_SOURCES = @STRIP_BEGIN@ \
++libgdk_pixbuf_2_0_la_SOURCES =  \
+       gdk-pixbuf-i18n.h       \
+       gdk-pixbuf.c            \
+       gdk-pixbuf-animation.c  \
+@@ -291,14 +290,13 @@
+       gdk-pixbuf-scale.c      \
+       gdk-pixbuf-util.c       \
+       gdk-pixdata.c           \
+-      $(gdk_pixbuf_built_cfiles) \
+-@STRIP_END@
+-libgdk_pixbuf_2_0_la_LDFLAGS = @STRIP_BEGIN@ \
++      $(gdk_pixbuf_built_cfiles)
++
++libgdk_pixbuf_2_0_la_LDFLAGS =  \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
+       @LIBTOOL_EXPORT_OPTIONS@                                \
+       $(no_undefined)                                         \
+-      $(gdk_pixbuf_symbols)                                   \
+-@STRIP_END@
++      $(gdk_pixbuf_symbols)
+ libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_win32res_lo) $(GDK_PIXBUF_DEP_LIBS)
+ libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32res_lo)
+--- demos/Makefile.am.old      2003-06-06 01:52:59.000000000 +0100
++++ demos/Makefile.am  2004-03-07 12:20:23.000000000 +0000
+@@ -2,7 +2,7 @@
+ SUBDIRS = gtk-demo
+-INCLUDES = @STRIP_BEGIN@ \
++INCLUDES =  \
+       -I$(top_srcdir)                                 \
+       -I$(top_builddir)/gdk                           \
+       -DG_DISABLE_DEPRECATED                          \
+@@ -10,19 +10,17 @@
+       -DGDK_DISABLE_DEPRECATED                        \
+       -DGTK_DISABLE_DEPRECATED                        \
+       @GTK_DEBUG_FLAGS@                               \
+-      @GTK_DEP_CFLAGS@                                \
+-@STRIP_END@
++      @GTK_DEP_CFLAGS@
+ DEPS = \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
+       $(top_builddir)/gdk/@gdktargetlib@                              \
+       $(top_builddir)/gtk/@gtktargetlib@
+-LDADDS = @STRIP_BEGIN@                                                        \
++LDADDS =                                                      \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
+       $(top_builddir)/gdk/@gdktargetlib@                              \
+-      $(top_builddir)/gtk/@gtktargetlib@                              \
+-@STRIP_END@
++      $(top_builddir)/gtk/@gtktargetlib@
+ noinst_PROGRAMS =             \
+       testpixbuf              \
+--- docs/faq/Makefile.am.old   2002-03-06 03:59:12.000000000 +0000
++++ docs/faq/Makefile.am       2004-03-07 12:23:40.000000000 +0000
+@@ -14,15 +14,6 @@
+ dist-hook: html
+       cp -Rp $(srcdir)/html $(distdir)
+ else
+-html:
+-      echo "***"
+-      echo "*** Warning: FAQ not built"
+-      echo "***"
+-
+-pdf:
+-      echo "***"
+-      echo "*** Warning: FAQ not built"
+-      echo "***"
+ dist-hook:
+       echo "***"
+--- docs/tutorial/Makefile.am.old      2002-03-06 03:59:12.000000000 +0000
++++ docs/tutorial/Makefile.am  2004-03-07 12:24:42.000000000 +0000
+@@ -49,15 +49,6 @@
+ dist-hook: html
+       cp -Rp $(srcdir)/html $(distdir)
+ else
+-html:
+-      echo "***"
+-      echo "*** Warning: Tutorial not built"
+-      echo "***"
+-
+-pdf:
+-      echo "***"
+-      echo "*** Warning: Tutorial not built"
+-      echo "***"
+ dist-hook:
+       echo "***"
+--- demos/gtk-demo/Makefile.am.old     2003-06-09 22:58:32.000000000 +0100
++++ demos/gtk-demo/Makefile.am 2004-03-07 12:25:47.000000000 +0000
+@@ -4,7 +4,7 @@
+ ## These should be in the order you want them to appear in the 
+ ## demo app, which means alphabetized by demo title, not filename
+-demos = @STRIP_BEGIN@ \
++demos =       \
+       appwindow.c     \
+       button_box.c    \
+       changedisplay.c \
+@@ -21,10 +21,9 @@
+       sizegroup.c     \
+       stock_browser.c \
+       textview.c      \
+-      tree_store.c    \
+-@STRIP_END@
++      tree_store.c
+-INCLUDES = @STRIP_BEGIN@ \
++INCLUDES =  \
+       -DDEMOCODEDIR="\"$(democodedir)\""              \
+       -I$(top_srcdir)                                 \
+       -I$(top_builddir)/gdk                           \
+@@ -33,19 +32,17 @@
+       -DGDK_DISABLE_DEPRECATED                        \
+       -DGTK_DISABLE_DEPRECATED                        \
+       @GTK_DEBUG_FLAGS@                               \
+-      @GTK_DEP_CFLAGS@                                \
+-@STRIP_END@
++      @GTK_DEP_CFLAGS@
+ DEPS = \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
+       $(top_builddir)/gdk/@gdktargetlib@                              \
+       $(top_builddir)/gtk/@gtktargetlib@
+-LDADDS = @STRIP_BEGIN@                                                        \
++LDADDS =                                                      \
+       $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
+       $(top_builddir)/gdk/@gdktargetlib@                              \
+-      $(top_builddir)/gtk/@gtktargetlib@                              \
+-@STRIP_END@
++      $(top_builddir)/gtk/@gtktargetlib@
+ bin_PROGRAMS = gtk-demo
diff --git a/gtk+/gtk+-2.2.4/glib-2.0.m4 b/gtk+/gtk+-2.2.4/glib-2.0.m4
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/gtk+/gtk+-2.2.4/glib-gettext.m4 b/gtk+/gtk+-2.2.4/glib-gettext.m4
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/gtk+/gtk+-2.2.4/libtool-lossage.patch b/gtk+/gtk+-2.2.4/libtool-lossage.patch
new file mode 100644 (file)
index 0000000..e69de29
index b3ead08..13967e1 100644 (file)
@@ -8,15 +8,24 @@ RDEPENDS = "pango atk jpeg libpng xext"
 DEPENDS = "pango atk jpeg libpng xext"
 
 SRC_URI = http://ftp.gnome.org/pub/gnome/sources/gtk+/2.2/gtk+-${PV}.tar.bz2 \
+       http://handhelds.org/packages/gtk-2.0/gtk+-2.2.4.diff.bz2;patch=1;pnum=1 \
        file://${FILESDIR}/automake-lossage.patch;patch=1;pnum=0 \
        file://${FILESDIR}/configure-lossage.patch;patch=1;pnum=0 \
-       file://${FILESDIR}/no-demos.patch;patch=1
+       file://${FILESDIR}/no-demos.patch;patch=1 \
+       file://${FILESDIR}/libtool-lossage.patch;patch=1;pnum=0
 
 inherit autotools libtool pkgconfig
 
-EXTRA_OECONF = --without-libtiff
+do_configure_prepend() {
+       install -d m4
+       install ${FILESDIR}/glib-2.0.m4 m4/
+       install ${FILESDIR}/glib-gettext.m4 m4/
+}
+
+EXTRA_OECONF = --without-libtiff --enable-debug=no --disable-cruft
 
 SOV = "0.200.4"
+LIBV = "2.2.0"
 
 gtk_include = gtk.h gtkaccelgroup.h gtkaccellabel.h gtkaccelmap.h gtkaccessible.h gtkadjustment.h gtkalignment.h gtkarrow.h gtkaspectframe.h gtkbbox.h gtkbin.h gtkbindings.h gtkbox.h gtkbutton.h gtkcalendar.h gtkcelleditable.h gtkcellrenderer.h gtkcellrendererpixbuf.h gtkcellrenderertext.h gtkcellrenderertoggle.h gtkcheckbutton.h gtkcheckmenuitem.h gtkclipboard.h gtkclist.h gtkcolorsel.h gtkcolorseldialog.h gtkcombo.h gtkcontainer.h gtkctree.h gtkcurve.h gtkdebug.h gtkdialog.h gtkdnd.h gtkdrawingarea.h gtkeditable.h gtkentry.h gtkenums.h gtkeventbox.h gtkfilesel.h gtkfixed.h gtkfontsel.h gtkframe.h gtkgamma.h gtkgc.h gtkhandlebox.h gtkhbbox.h gtkhbox.h gtkhpaned.h gtkhruler.h gtkhscale.h gtkhscrollbar.h gtkhseparator.h gtkiconfactory.h gtkimage.h gtkimagemenuitem.h gtkimcontext.h gtkimcontextsimple.h gtkimmodule.h gtkimmulticontext.h gtkinputdialog.h gtkinvisible.h gtkitem.h gtkitemfactory.h gtklabel.h gtklayout.h gtklist.h gtklistitem.h gtkliststore.h gtkmain.h gtkmarshal.h gtkmenu.h gtkmenubar.h gtkmenuitem.h gtkmenushell.h gtkmessagedialog.h gtkmisc.h gtknotebook.h gtkobject.h gtkoldeditable.h gtkoptionmenu.h gtkpaned.h gtkpixmap.h gtkplug.h gtkpreview.h gtkprivate.h gtkprogress.h gtkprogressbar.h gtkradiobutton.h gtkradiomenuitem.h gtkrange.h gtkrc.h gtkruler.h gtkscale.h gtkscrollbar.h gtkscrolledwindow.h gtkselection.h gtkseparator.h gtkseparatormenuitem.h gtksettings.h gtksignal.h gtksizegroup.h gtksocket.h gtkspinbutton.h gtkstatusbar.h gtkstock.h gtkstyle.h gtktable.h gtktearoffmenuitem.h gtktext.h gtktextbuffer.h gtktextchild.h gtktextdisplay.h gtktextiter.h gtktextlayout.h gtktextmark.h gtktexttag.h gtktexttagtable.h gtktextview.h gtktipsquery.h gtktogglebutton.h gtktoolbar.h gtktooltips.h gtktree.h gtktreednd.h gtktreeitem.h gtktreemodel.h gtktreemodelsort.h gtktreeselection.h gtktreesortable.h gtktreestore.h gtktreeview.h gtktreeviewcolumn.h gtktypebuiltins.h gtktypeutils.h gtkvbbox.h gtkvbox.h gtkversion.h gtkviewport.h gtkvpaned.h gtkvruler.h gtkvscale.h gtkvscrollbar.h gtkvseparator.h gtkwidget.h gtkwindow.h
 
@@ -60,3 +69,44 @@ do_stage () {
 
        install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DIR}/share/aclocal/
 }
+
+python do_package_prepend() {
+       def do_split(root, pattern, format, description):
+               dvar = data.getVar('D', d, 1)
+               if not dvar:
+                       oe.error("D not defined")
+                       return
+
+               packages = string.split(data.getVar('PACKAGES', d, 1))
+               if not packages:
+                       oe.error("PACKAGES not defined")
+                       return
+
+               objs = os.listdir(dvar + root)
+               mainpkg = packages[0]
+               for o in objs:
+                       import re
+                       m = re.match(pattern, o)
+                       if not m:
+                               continue
+                       on = m.group(1)
+                       pkg = format % on       
+                       packages.append(pkg)
+                       data.setVar('FILES_' + pkg, os.path.join(root, o), d)
+                       data.setVar('RDEPENDS_' + pkg, mainpkg, d)
+                       data.setVar('DESCRIPTION_' + pkg, description % on, d)
+                                                               
+               data.setVar('PACKAGES', string.join(packages, ' '), d)
+
+       libdir = data.getVar('libdir', d, 1)
+       if not libdir:
+               oe.error("libdir not defined")
+               return
+
+       gtk_libdir = os.path.join(libdir, "gtk-2.0", data.getVar('LIBV', d))
+       loaders_root = os.path.join(gtk_libdir, 'loaders')
+       immodules_root = os.path.join(gtk_libdir, 'immodules')
+
+       do_split(loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s')
+       do_split(immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s')
+}