« Matt and Beth's Wedding | Main | Captcha »

Pidgin on OS X

While in general, building Pidgin (formally Gaim) on Mac OS X would be a futile exercise since Adium is already an excellent IM app based on libgaim, Pidgin also includes a console interface called finch. Adium is a brilliant, native IM app on OS X, and my primary IM app of choice. However, there are often times where I need a command line equivalent. Up until now I have been using centericq, and its new fork centerim, on Cygwin. Unfortunately, it no longer seems to work on OS X. I therefore turned to Pidgin. Building it was a deceptively difficult task. Here's what I learnt:

Pidgin requires a relatively new version of glib, the base library that is part of GTK. It also requires recent version of gnutls. Obtaining these two libraries turned out to be a bit of a challenge. Here's my solution. First get the latest version of fink:

Package manager version: 0.27.6
Distribution version: 0.8.1.rsync

At this point in time it is not possible to get fink to self update to this version, so I blew away my /sw directory (time for a clean up anyway) and downloaded the new image. Make sure you add unstable/main and unstable/crypto to the Trees: entry in /sw/etc/fink.conf (the latest version of fink configure can actually handle this option). With the unstable tree enabled in this version of fink, it is possible to install version 2.12.12-2 of glib2-shlibs. You'll need that (fink install glib2-shlibs). I don't think version 2.12.2 will do.

I used MacPorts to install version 1.6.3 of GnuTLS. You'll need that (port install gnutls).

You'll need a newer version of Python than comes with Tiger. I used the MacPython package to install version 2.4.4. Link

Finally I had to pull it all together in a way the pidgin build system could understand it. I extracted the pidgin-2.1.0.tar.gz archive and used this configure line:

./configure --disable-gtkui --enable-gnutls \
--with-gnutls-includes=/opt/local/include/ \
--with-gnutls-libs=/opt/local/lib/ \
--with-dbus-services=/opt/local/share/dbus-1/services \
--disable-doxygen

Nasty, eh? With all this in place, the configure finally went well and building is as simply as typing "make".

Now to actually using finch - I'm tempted to claim that console based windowing systems universally suck, because it is a dumb idea. Resizing and moving overlapping windows with the keyboard? Eh. Anyway, I finally got things working reasonably well by using finch through screen from Cygwin (ssh'ed into OS X), as long as the TERM environment variable was explicitly set to 'rxvt-cygwin-native'. Without screen I couldn't get the arrow keys working. With screen I had to press esc, quickly followed by the relevant key to emulate meta commands. Note that actually using screen's multiple sessions tends to screw up the Terminal rendering. It's all still a bit glitchy, and can take some persuading to respond to commands, but finally everything is at least working.

TrackBack

TrackBack URL for this entry:
http://heath.hrsoftworks.net/cgi-bin/mt-tracker.cgi/126

Post a comment