GNOME Bugzilla – Bug 352196
libgnomecanvas' interface doesn't seem to depend on pango or pangoft2
Last modified: 2006-11-14 15:07:11 UTC
Hi, In libgnomecanvas-2.0.pc.in, one can read Requires: libart-2.0 pango pangoft2 gtk+-2.0 But when reading libgnomecanvas headers, one can't find a single mention of pango. Libgnomecanvas itself uses them, but it shouldn't expose them externally (since that imposes spurious dependencies). The dependencies should hence be split into Requires: libart-2.0 gtk+-2.0 Requires.private: pango pangoft2
Can you provide some documentation about »Requires.private«
Grmbl, they forgot to document it in man pkgconfig... Requires.private is the same as Libs.private, but for Requires. Some debian person proposed the following: Requires.private: This line should list any private packages in use. Private packages are packages which are not exposed through your library, but are needed in the case of static linking. In the libgnomecanvas case, the interface doesn't expose pango objects, so pango packages are not exposed through your library, so you can put them in Requires.private instead of Requires, making the dynamic dependencies lighter.
So, can you please add a link to the pkgconfig checkin that introduces this feature plus the version number of the first release that contains it? Please understand that I'm just trying to be careful about not breaking gnome-canvas (and requiring the correct pkgconfig version also belongs to that as well). Thank you, Samuel.
From pkg-config's ChangeLog: 2005-06-27 Tollef Fog Heen <tfheen@err.no> ... * configure.in: Release 0.18 ... * pkg.h (struct _Package): Add requires_private
2006-11-14 Sven Herzberg <herzi@gnome-de.org> * configure.in: depend on pkg-config 0.18 * libgnomecanvas/libgnomecanvas-2.0.pc.in: move pango dependencies to Requires.private. Closes bug #352196 (Bug reported by Samuel Thibault)