Re: Pango perl bindings




On Mar 26, 2008, at 3:49 PM, Jeffrey Ratcliffe wrote:
On 26/03/2008, Torsten Schoenfeld <kaffeetisch gmx de> wrote:
Yes, I think it does make sense to be able to use pango independently of
Gtk2.  The question is how to do the separation in a
backwards-compatible way.

Why try to be truly backwards-compatible? Why not simply deprecate
Gtk2::Pango, but don't remove it for the time being. Make Gtk2 depend
on Pango, as you say. Do all maintenance in Pango only, and after
Pango usage has become widespread, remove Gtk2::Pango.

Without a namespace change, we can't really ever remove things that have been in stable releases. The reason is that doing so would break existing code that we do not control.

And, we've reserved the idea of moving to the Gtk3 namespace for the bindings of gtk+ 3.x.

So, Gtk2::Pango must always be there.

The primary option is simply to yellow-wire[1] all of the Gtk2::Pango APIs over to the new namespace, mark them deprecated in the docs, and promote the use of the new stuff. See also our handling of Gtk2::SimpleList and Gtk2::Ex::SimpleList, and Gtk2::CodeGen versus Glib::CodeGen.

Another option is to split all the Gtk2::Pango stuff into a second XS extension installed by Gtk2; you'd have to have Gtk2 installed to use Gtk2::Pango, but would not have to load it into memory. Not as clean, and harder on the build infrastructure, but easier on the compatibility issues.

For the record, when all this got started, we assumed (wrongly, it appears) that no one would want to use pango without gtk+. A secondary reason was to avoid toplevel namespace pollution on CPAN.


[1] http://www.faqs.org/docs/jargon/Y/yellow-wire.html but i think the usage i'm more accustomed to appear in the jargon file as http://www.faqs.org/docs/jargon/P/purple-wire.html

--
Doing a good job around here is like wetting your pants in a dark suit; you get a warm feeling, but no one notices.
  -- unknown





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]