Builds for gtk2 additional widgets

There has been a great deal of work done to get some additional gtk widgets as extensions for PHP-GTK2. These widgets include GtkSourceview, GtkSpell2, GtkHtml, GtkExtra, LibGlade and LibSexy (now watch as the hits climb over having sexy in this blog post...)

I have these extensions building on windows, or have found someone else who is building them for windows. You can find downloads that are either the full distributions (if no one else is building them) and/or the runtimes + items needed to build with PHP-GTK2 at my callicore build site with the other gtk libraries.

I also built enchant and aspell. All the builds are done with msys and mingw with --mms-bitfields so they'll work perfectly with things compiled by msvc. (This is the way the official distribution for gtk is built as well)

I have two versions of gtksourceview compiled. First of all, you REALLY shouldn't use anything but the latest version on windows. There have been numerous fixes for windows goofs. Secondly, versions that were ported to windows require at least the 2.8 runtime (which means no win95/98/ME support for it). Third, until the developers port printing from libgnomeprint to the new 2.10 printing system php-gtk2 doesn't support printing, so I'm distributing a version built without print support as well, since it won't be used anyway (and then you don't have to worry about gnomeprint and the whole nine yards.) - it might be nice to have an ifdef at runtime to do the print support as well. We'll see.

GtkHtml is the only big bad guy of these extensions when it comes to dependencies. It's a part of gnome and uses quite a few gnome pieces, from libgnomeprint on down to gconf. In addition - if you're using a php-gtk2 script with gtkhtml you have to start it with gconfd-2 | php myscript . However, the requirements are smaller than gtkmozembed.

I also have gtkspell3 building for windows. The api is totally different from 2 and it uses enchant instead of aspell as a backend, so it will need a new gtk extension (probably gtkspell3) - that's on the todolist.

For my next trick I'll be working on getting something worked out for gtkscintilla. The actual Gtkscintilla itself hasn't been supported or updated in a LONG time, but it's still a standard on most distributions. Scintilla itself, on the other hand, is very actively developed. There are currently two available php-gtk2 extensions, one uses gtkscintilla, one uses scintilla. Only caveat? Gtkscintilla uses an OLD version of scintilla and doesn't build on windows. Scintilla is much newer with nice features...but so far no one can seem to build it on Linux. So either someone needs to update gtkscintilla (and get it working for windows) - or someone needs to figure out how to build scintilla on linux. Until then, we don't have a cross-platform scintilla extension.

The other thing I need to work on is mozembed. The thing is barely supported on windows (the guy who was working on it has since stopped) - is HUGE and a BEAR to work with (involves installing an entire gre and currently doesn't work with firefox gre on windows)'s just a mess. But we'll see what happens.


Fernando Correa da Conceição

You said that the scintilla do not build on linux, the version direct from scintilla, not the version in cvs. This is not true, at last I can build it, and is easy, but now i lost the files. If you want I can do it again and send to you the files. The only question I have is that scintilla buid a static lib and not a so, and I do not know how to add it to the makefile on linux, at last not in the correct way. When I build it, I do a ./configure and after this I edit the makefile to add the file scintilla.a to it.rnThe important thing: if you make it work on windows, I will make it work on linux, and I really want it working, as you can see in some messages I posted on php-gtk-dev in the past.rnAnd: thanks to make all the extensions work on windows, for me this is very important!!!rnrnPS: i was more than a month without internet access, so it is the reason from this late comment

2007-03-31 9:57 pm

Post a Reply