libpurple and imprudence
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.
More information about the Devel