Alan: >> The gobject-introspection module installs: >> * typelib files to /usr/lib/girepository-1.0 >> * GIR files to /usr/share/gir-1.0 >> >> for the following modules: >> * OpenGL >> * Glib >> * cairo >> * fontconfig >> * freetype2 >> * libxml2 >> * xfixes >> * xft >> * xlib > > Since many of those come from another consolidation (X), how are > they kept in sync when new versions of the libraries are delivered? > > Should the files for each library be packaged with the library itself > instead of in the common packages?
Yes, that is the long-term goal. The gir-repository module is a temporary module to provide bootstrapping until that happens. Though for the lower-level libraries outside of the GNOME stack, it might make sense to continue delivering them as static files. Note these are only needed to define very stable and common type definitions and interfaces that are used in other libraries that use gobject-introspection, for example. I have attached the gir and typelib files for these modules. They are very small, unlike the ones that are generated from the source code. For example, the Xlib gir file only provides bindings for very basic things like: Atom, Display, Drawable, GC, KeyCode, KeySym, Picture, Screen, VisualID, Window, XEvent, XConfigureEvent, XID, Pixmap, XImage, XFontStruct, XTrapezoid, XVisualInfo, XWindowAttributes, and XOpenDisplay. Another example, the libxml file only defines Node, NodePtr, Doc, DocPtr, NsPtr, Char, and TextWriter, Interfaces that are unlikely to change, in other words. Note that no modules use gobject-introspection yet (aside from clutter 1.0 which also nothing uses). The main value in adding these modules now is that it provides users with the ability to do development work on modules that require these modules, such as GNOME Shell. Brian