30 October 2011

Building PyGTK for MyPaint

Continued from here. MyPaint require that PyGTK (GDK) to support numpy otherwise mypaint won't run. The debate is people said that the proper way to build python module is by using MSVC compiler since that's what python windows used with. While there is officially a library for GCC named libpythonXY.a some argue how stable a mixed build is.

IMHO gtk binding is bridging python and GTK, so what's the point using MSVC if GTK Runtime was build with GCC(MinGW)? Nah that's just my excuse because I don't know how to build it with MSVC :)

I've tested that I can use MinGW's pygtk with MSVC's pygobject with MinGW's GTK with MSVC's Python 2.6 and MinGW's MyPaint.... errr

Alright lets make it all MinGW's except for python shall we:

26 October 2011

Building GTK2 for MyPaint Windows

This post explain more detailed Windows port of MyPaint situation. I hope my english is understandable :)


MyPaint, the package

  • In windows mypaint use py2exe for bootstrapping and bundling with minor change in favor mypaint's builtin logging.
  • Mypaint is currently targeted only for win32, win64 is in experimental stage
  • Mypaint consist of a small portion of C++ library (which is why it need to be compiled) and the rest is in pure python. Mypaint require pygtk (with numpy support), numpy, GTK and optionally a particular version of psyco (a python accelerator)
  • Mypaint is squeezed! I kind of proud with this :) I have made mypaint stay around 8MB since version 0.7. All executable is packed with UPX at brute level. Furthermore brushes preview images have been pngcrush'ed.
  • Mypaint installer use NSIS with solid lzma compression. I believe this should be changed to msi

25 October 2011

Windows 8 DP, too soon isn't it?

Woah I must be a stonehead living in a cave using XP playing freecell! Windows 8 developer review? its migration should be smooth though with competitor remain to be the dying XP (if it released before XP support ended) Oh does it drop 32-bit support too? wow I should change my blog title to survive...

The future is tablet pc, there is no point of making another resource-hog generation of Vista, they should make XP-like with NT 6 kernel! And make one same Windows for all devices (says 32bit for mobile and 64bit for desktop/server)

One funny thing, M$ has confusing versioning, they said 7 but actually NT 6.1 and 8 when it's NT 6.2 but they keep Server version with year version. However the build revision does relate a.k.a 7600 for 7 then  8x00 for 8 so they are analogue to Macintosh versioning where minor version update is a "new" mac (don't forget that 10 is mac major version).

14 October 2011

GTK 3.2 still not quite there...

In my last quick review GTK seems take major change from 2.x (or it was just old windows specific bugs?). With version 3.2 from last September, things a little bit sketchy and raw now which I do not even dare to post a screenshot. Some issues that I quickly spot (from gtk3-demo):

- It's surprising that Glib 2.30's "make check" fail in almost all tests using GCC 4.3 but build successfully with GCC 4.6.
- Pango's win32 module (2.29.4) is broken so we got no text.. umm no glyph
- GTK native win32 theme still broken too (oh yeah that's important aesthetic aspect)
- DnD not working
- Problem with clipboard? pasting empty data trigger crash...
- The dreaded gdk window toplevel issue is still there.. So I doubt if tablet is working.. too bad for MyPaint

I'm not sure if most of them were windows specific or not...

The good news is gobject introspection (1.30) is almost there, I can build it but I'm stuck with gir generation. This is cool! ever since pygi merged in pygobject, the new win32 pygobject is meaningless cause pygi isn't there. With pygobject 3.0 and proper pygi in near future (hopefully) we can finally say goodbye to pygtk and other bindings and bring python 3.x too. But right now it's not quite there...