I'm in the middle of a long weekend, and without too many things to do, so I've spending it trying something that I was looking forward to do from some time now. Build GTK+ and all its dependencies from scratch for win32.
Since I started all this PyGTK on Windows thing, one of the very first problems that I realized is, GTK+ redistribution on windows for third party apps just sucks. We cannot expect Windows users to take care on the GTK+ runtime versions they already have installed (we cannot expect that from Linux users also, but package managers already do that job). However, it's not trivial to build gtk+ for windows (now I know how much pain it is), so most third party apps just ask users to install the GTK+ runtime, or package the runtime installer inside the application installer, like Gaim (sorry, pidgim) does for instance. I can imagine most users saying, what the hell is GTK+ and why are you asking me to install it? (You can replace the 'GTK+' string with 'Java', 'Python', 'Mono', it's the same problem for all them).

Layout idea stolen from GMAE ;)
So my goal is to find a way that anyone can build and package their own tool chain, but avoiding the pain of dealing with configure and cross building issues. For that purposes I've created a jhbuildrc so people just grab it and add their own tool chain by inheriting from the standard module set. And after 3 days of burning out my cpu and patching weird packages like zlib or jpeg, you can get a fresh jhbuildrc that only needs jhbuild and mingw32 to be installed.
My personal challenge now is produce an installable package runtime like the gladewin32 one, but releasing the NSiS scripts so anyone can build their own installers. This could be really helpful for projects like Pidgin so they don't need third party installers.
Right now I'm wondering to automate the override of the unneeded parts, like the whole gettext stuff. This is really easy with the {PANGO, ATK+, GTK+} set since tml already has zip builders that only gets the imprescindible stuff. But I need to figure out what can be done with the underlaying bits.
Now I wonder where to put all this stuff since I would like to keep them on a visible place so people don't loose their time trying to do what I did, I will try to ask to the release team what do they think. By the way, even after all the pain, is impressive to see how everything was built successfully, kudos to tml for the huge efforts for port and support the whole stack on the Win32 platform.