libpurple and imprudence

Kevin Stange kevin at simguy.net
Wed Mar 30 18:34:28 EDT 2011


 On Wed, 30 Mar 2011 15:04:15 -0700, chris-tuchs at hushmail.com wrote:
> Hi again,
>
> Maybe my first message was too broad in scope?  My general goal
> is to hack imprudence into looking like plugins to libpurple.  To
> do that I need to learn to write libpurple plugins.
>
> The docs I found at
> http://developer.pidgin.im/wiki/CHowTo/BasicPluginHowto seem good
> in general.  In detail though, when I try to follow and get to
> the point it says "download a source tarball. You will want to
> use the source tarball that matches the version of Pidgin you are
> running", then I run into my first problem.
>
> I'm not running pidgin, and though I will if it makes starting
> development easier, I eventually will stop using pidgin and
> switch to using imprudence.

 If you are developing plugins, you will want to decide what level of 
 compatibility you want to assure.  Some linux distributions ship earlier 
 versions of Pidgin and backport fixes.  Your best bet is to consider 
 what platforms you hope to support and then find out what versions of 
 Pidgin they ship in supported releases.  Code compiled against (and 
 using the documentation for) 2.0.x of Pidgin is compatible with all 
 future versions in major version 2.  Code compiled against (and using 
 the documentation for) 2.7.y will be compatible only with 2.7.0 and 
 higher, up to the end of major version 2.  If you are fine with code 
 that runs only against the latest version of Pidgin, then you may choose 
 to simply use the latest source.

> The second problem is how do I find what is the correct version
> of the tarballs for the libraris/dependancies that "sudo apt-get
> build-dep pidgin" ensured were installed?  And/or the ones that
> pidgin needs?

 libpurple is included in the Pidgin tarball and creating UI-agnostic 
 plugins would be dependent upon the libpurple library and not Pidgin.  
 The libpurple version and Pidgin version are always the same in a source 
 tarball.  You shouldn't need to worry about the libraries that Pidgin 
 and liburple are dependent upon very much.  The ones installed via 
 build-dep are most likely sufficient for building Pidgin and libpurple, 
 as well as generating and testing the source of your plugin.  In most 
 cases, you probably won't be importing headers directly for most of 
 these libraries or linking against them unless your plugins use them.  
 The versions you have installed will be irrelevant so long as they were 
 usable by Pidgin and libpurple.  Common exceptions would likely be 
 glibc, glib and GTK+.

> The third problem is, assuming I knew what version to get, where
> would I find the source tarballs?  That also isn't obvious to me
> from the website.

 You shouldn't need source tarballs for any of Pidgin's dependencies 
 unless your distribution is lacking those libraries.  build-dep should 
 be sufficient unless you intend to directly use them in your plugins and 
 personally want (or want to test with) different versions than the ones 
 your distribution provides.

> Really, I am not clueless.  I've done this kind of work before,
> and thousands of people are using the results right now.  I won't
> be nearly so noisy after I get started, I suspect, but getting
> started is daunting me.

 Hopefully that's enough to get you started, but if you have other 
 questions, please make sure to reply back to the list.

 Kevin




More information about the Devel mailing list