GTK 2 is supposed to be released at the end of June or maybe in July sometime.
So I figured I should probably get off my lazy ass and see how hard it was going
to be to port Gaim to GTK 2.
If I take the easy way, it turns out to be rather easy. 700-line diff easy, and 165 of those lines are just removing the
GNOME stuff from ./configure so that GTK 2 gets used instead of it. So here's
how to use that diff. (Please don't ask me questions about this, I'm not
supporting any of it, and especially, this is the BROKEN way of porting gaim, so
I'm not taking bug reports.)
Step 1. Make sure you're using GTK 1.2.9 or higher currently
You're going to have to install GTK 2 in order to use this patch, and if
you don't want to completely fuck up your system, you're going to want to keep
GTK 1.2 installed. GTK 1.2.9 has the nice properly that it can coexist with
GTK 2; GTK 1.2.8 cannot. So make sure you're using 1.2.9 or higher (I'm actually
using 1.2.10).
Step 2. Install pkg-config
pkg-config is the replacement
for glib-config, gtk-config, et al. You'll need to install it before you can
install GTK 2.
Step 3. Get glib, pango, and gtk+ out of GNOME's CVS
The patch isn't meant for GTK 1.3.5 (which is the last development release,
AFAIK). There were changes to the GdkPixbuf API between 1.3.5 and what's
currently in CVS, and this diff makes use of those changes. So get the glib,
pango, and gtk+ modules out of GNOME's CVS. Do this by first logging in:
cvs -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome login
Hit Enter at the password prompt
And then check out each module:
cvs -d :pserver:anonymous@anoncvs.gnome.org;/cvs/gnome co -r HEAD glib
cvs -d :pserver:anonymous@anoncvs.gnome.org;/cvs/gnome co -r HEAD pango
cvs -d :pserver:anonymous@anoncvs.gnome.org;/cvs/gnome co -r HEAD gtk+
Step 4. Compile glib, pango, and gtk+
I'm not going to give real detailed directions for this, because you should
be familiar with using software from CVS. But basically it's just the normal
./autogen.sh ; make ; make install. You need to have at least libtool 1.4
installed though, and automake 1.4-p1 as well.
Step 5. Get Gaim out of CVS
You should know how to do this by now. Directions are here.
Step 6. Apply the patch
OK, for those of you who have never applied a patch before, what you're
going to do is this. Go to the top level of the Gaim CVS tree you just checked
out. Then run
patch -p0 <../path/to/broken.diff
Make sure to give the right path to the patch. The 'patch' program will then
tell you which files it's patching, and how cleanly they applied.
Step 7. Compile Gaim and use it
Now you just need to do the normal ./autogen.sh ; make that you do for your
regular CVS tree. Have fun with it.
``Dedicated to the near-memory of Rob Flynn. Let's start remembering
people while they're still alive.''
- Mark Spencer -