new client plans and libpurple

Patrick Cloke clokep at
Thu Mar 28 09:06:27 EDT 2013

I'm unsure if this will help you or not, but Instantbird [1] is a libpurple
client with a native look & feel on each operation system (it doesn't use
the Windows API directly, it uses the Mozilla toolkit).  Additionally,
we've been compiling libpurple( + protocols)/glib/libxml2 into a single dll
using MSVC 2010 and have some hacks to get this to work (we usually
upstream our patches to libpurple, but glib/libxml2 can be a bit difficult
to compile on Windows, IIRC).



On Thu, Mar 28, 2013 at 12:11 AM, z <z-one at> wrote:

> (changed to my real name once I noticed what it was set to in
> Thunderbird...)
> It's good to know that most if not all the features on my wishlist can be
> realized somehow with libpurple.
>  You have no idea how happy it makes us that someone wants to write a
>> "native"
>> Windows client based on libpurple.  We've wanted one for years, but to
>> the best
>> of our knowledge, every attempt has died off due to lack of time (mostly)
>> or
>> ability (rarely).  A native Windows client would be a great service to the
>> Windows-using portion of our community, and if done right, I think the
>> majority
>> of us would recommend that our Windows users switch to it.
> Thank you for the encouraging words. I will probably need it because this
> doesn't seem to be such an easy ride as I first thought. I expected
> difficulties in linking but I spent the past 3-4 hours and all I got is a
> single libpurple.dll compiled under MSVS Express 2012. I will have to look
> into the documentation to find out whether I need all the other dll's
> included with Pidgin and figure out how to compile them. The time I lost
> with this is mainly because some stupid configuration settings hidden deep
> inside the Visual Studio's interface, not related to libpurple. Though
> finding out that it is not related took time as well.
> The only compiler error (apart from the obvious warnings that were all the
> kind you can ignore) was because of this line in plugin.c (line 871):
>         if (!g_getenv("PURPLE_LEAKCHECK_**HELP") && !RUNNING_ON_VALGRIND)
> That "RUNNING_ON_VALGRIND" which is a define for code between a { ... }
> block caused a syntax error, but commenting it out solved the problem. It
> was a no-op when not using valgrind, so excluding it in the project doesn't
> cause any harm hopefully.
> I don't know which functions will have to be exported from the dll yet, so
> that part of the work is still far from done.
>  There are a number of challenges that you'll face, such as compiler/linker
>> issues (if you use Visual Studio .NET to build your UI, you either have to
>> compile and link against the Windows Driver Development Kit's libraries or
>> rebuild libpurple and all its dependencies to use msvcrt{7,8,9,10}.dll
>> for one).
> I don't know yet whether I will be using .NET, though I consider writing
> the interface in C#. I code mainly in C++ and I have a home made library
> for managing windows, but I don't want to make that open, so something
> freely available would be the best.
> ______________________________**_________________
> Devel mailing list
> Devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list