These days, some people on the PyGTK mailing list have showed their disappointment with the apparent lack of support for GTK+ on the win32 platform.
As far as I can tell, the main problem lies in the lack of a convenient packaging due to lack of manpower, as the platform seems to build fine and win32 binaries are being offered, including all its dependencies.
The lack of good packaging probably hits harder on the bindings users, like the PyGTK ones, as they don’t need a C development chain but depend on a working GTK+ runtime and already have their own deployment problems to solve.
As either there’s not enough people interested in helping out with a more convenient packaging or the potentially interested ones don’t have the information, skills or time to join the effort, this post will try to gather some information that’s currently scattered around blogs, wiki pages or mailing lists in the hope that lowering the barrier to getting started can improve that situation:
- There’s a gtk+ on win32 packaging mailing list.
- Alberto Ruiz has blogged about the current status of gtk+ packaging on win32, his all-in-one pygtk installer for windows, and what he has been doing to improve the situation, by explaining the gtk+ build process on windows and throwing a call for help.
- John Stowers has also blogged about how to build the gtk+ stack using jhbuild on windows using msys and mingw and he has also explained his experience trying to get it to work.
- Fréderic Peters has accepted some patches to reduce the jhbuild dependencies to make it easier to get it working on win32.
- There’s some information on the gnome wiki on how to cross compile gtk+ for win32 using jhbuild.
- Ali Sabil has written a script to build win32 GTK+ mis installers. His code hasn’t been updated in some time and is in need of some testing to see if it still works or needs some update. It’s kept in a bazaar branch and can be fetched and used like this:
mkdir windows-build; cd windows-build;bzr branch http://people.collabora.co.uk/~asabil/bzr/buildows ;cd buildows; ./buildows
The script generates some configuration files and a
.batfile so you only need to copy the contents of the
windows-builddir to a windows machine and run the
.batfile to get the msi installer.
Alberto thinks the ideal solution would be the creation of msi installers. This allows easy mass deployments and gets good operating system integration, but while some of the needed tools (WiX) are open source, the toolchain isn’t (AFAIK), and being able to create the packages on a GNU/Linux box using cross-compilation and other native tools (wine/Mono/mingw) would be a great plus that would let GTK+ developers build their own win32 packages or the creation of GTK+ runtime packages using GNOME’s infrastructure.
We are sure that having a few motivated people willing to document the building and packaging process of gtk+ on windows can make a great difference here. Anyone is willing to scratch this itch?
Update: Alexander Shaduri is currently publishing an updated gtk+ runtime installer, a theme selector and a collection of themes within the gtk-win project on sourceforge. It can be downloaded here, as well as the NSIS configuration packages.
Update 2: Ali Sabil‘s buildows script is based on jhbuild. It fully works on a GNU/Linux box except for the last packaging step as WiX runs native code and he hasn’t got it to work using wine (he tried using a native dll under wine but couldn’t get it to work).
Update 3: There’s now a wiki page on live.gnome.org to collect all the relevant information about windows GTK+ packaging and the desired goals and a new chat room on gimpnet called #win32.