GTK+ (and PyGTK) on win32

GTK+ logoThese 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:

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.

Yay Planet Gnome!

Pygtk splash screenshotThis is my first post after being added to the planet.gnome.org feed, so, thanks to Jeff Waugh for it and to Alberto Ruiz for putting his hackergotchi skills to my service! :).

For those that don’t use to hang on the #pygtk IRC channel, I’ll briefly introduce myself.

My GNOME related activities are mainly tied to the PyGTK project the Python bindings to GTK+, working mostly on keeping the site up-to-date, and give some help on IRC, besides contributing translations and documentation to the project. Thanks to Johan, Gustavo, Kiko and Finlay for helping to get into it and make PyGTK rock.

Besides that, I’m a young architect living in Madrid which some years ago got deeply in love with free software as a hobbyist programmer who was eager to learn.

As Alberto Ruiz already posted and you may already know, we are trying to refactor a bit the www.pygtk.org website, so as to make it easier to find and navigate its contents and keep a bit more focused.

We’d like to help new contributors to get involved in keeping the project rolling. So these are some of the tasks we’d like to slowly achieve, and, as always, any help is much appreciated:

  • Choose the right words for the website key navigational categories.

    The key points here, IMHO, are using simple words, avoid technical terms, being descriptive but terse, concise and precise. Suggestions are welcome :).

    Ideally, we’d like to simplify it, dividing the information into the ‘Know about PyGTK’, ‘Get PyGTK’, ‘Learn’, ‘Participate’ categories, and finally use them as the four entry points for the site contents, similarly to what the RoR folks are doing.

  • Publish the PyGTK FAQ on HTML and PDF formats.

    Now that the PyGTK FAQ lives in the gnome.org wiki, we’d like to have scripts to fetch those contents and generate static HTML and PDF versions from them. It would serve also as a backup measure.

    It’s already possible to get a docbook version from MoinMoin pages, and a docbook to HTML and PDF is already in place for the PyGTK reference and PyGTK tutorial, but it has not been tested for this purpose, and we still miss a (python) script to fetch the FAQ pages and drive the static HTML and PDF generation.

  • Get a small screenshot (200x150px) for each of the apps in the PyGTK application list.

    This is all about writing GUI apps, but we still don’t show what they look like!.

  • Take screenshots for our the introductory pages.

    Besides explaining what PyGTK can do, we should show an attractive bunch of PyGTK apps running on various platforms (win32, OSX and other less common platform screenshots are specially welcome), as being multiplatform, the easy to take language and powerful toolkit are PyGTK’s strong points.

  • Build and document how to create pygtk installers for the win32 platform

    Most people using the website to get PyGTK are using that platform, as ,on GNU/Linux, distros do a great job and interpreted or compiled languages are equally hard to install, but the problem gets harder on platforms without a sensible packaging system that almost exclusively rely on unmanaged installation of disperse binaries. An this last is what Woe32, as the gettext crew calls it, is doing.

    Alberto is doing a incredibly great and superb job to achieve easy distribution of PyGTK (and GTK+) apps, but further help would be very welcome. Work out a gtk+pygtk+py2exe toolchain is something that could be interestng.

  • Write/collect PyGTK articles to cover all skill levels.

    IMHO, we excel in covering basic and advanced skills, but we lack intermediate level documentation. There’s not too much information about application design patterns, model/presentation decoupling, how to write custom widgets or extending GTK+/Gnome using PyGTK… Probably these are hard to explain, as they’re not very detailed or very general concepts, but a mix of subtle criteria and making it all fit, but we shouldn’t avoid trying to get them explained. Some of the articles in the Gnome Journal were great in that respect, and the applications list tries to fill this gap showing examples that may help understand how other programmers do it.

If you feel like giving a shot to any of these, just show up on the #pygtk IRC channel on gimpnet and introduce yourself :).

Gnome Foundation Membership

Gnome logoWoohoo! I received this mail some days ago:

Dear Rafael Villar Burke,

We are pleased to inform you that you are now part of the GNOME
Foundation Membership. You are now eligible to become a candidate
for election and to vote in the annual Board of Directors elections
held each November.

[…]

For more information about the GNOME Foundation, visit the GNOME
Foundation’s web page at:
http://foundation.gnome.org

Thanks for your contributions to GNOME.

Sincerely,

The GNOME Foundation Membership Committee

Some years ago I would have dreamt about this, but never thought it could become true. I’m really happy both for the membership and for what it means :).

GUADEC 2006

Gnome logo
This is my first post on the rvburke site blog and I’ll try to keep blogging here regularly. I expect the main topics will range from architecture, structural engineering and free software, so, if you’re interested in them, keep tuned!.

Esta es mi primera entrada en el blog, que supongo que acabará tratando principalmente sobre cuestiones de arquitectura, cálculo y diseño de estructuras y software libre. Procuraré ir actualizando el contenido y escribir regularmente.

Continuar leyendo «GUADEC 2006»