Tuesday, September 8, 2009

A Time to Introspect

GObject Introspection looks to be the future of GNOME language bindings, and the good news is, you need not wait until 3.0 to use it. I have just finished adding all the components currently available to Ports SVN, together with Seed, a WebKit-based JavaScript interpreter which automatically includes "bindings" to any of 30+ libraries which ship with Introspection data.

Here is a screenshot of several Seed examples using the GTK+, Clutter, VTE, and WebKit libraries through GObject Introspection. The LightsOff game shown there will be part of GNOME Games 2.28, but I've made a preview of the latest beta release available. All this will be part of the next upload, which I hope will be this week or next.

Wednesday, June 24, 2009

Google Gadgets for Linux

I just added a screenshot of Xfce 4.6.1 with Google Gadgets for Linux (which I just finished building today) and Konqueror 4.2.4 running on my new computer. Unfortunately, XWin multiwindow mode doesn't have the compositing support to make GGL look right, but it works fine on a desktop.

Wednesday, June 17, 2009

The Path of Evolution

GNOME Evolution, that is. This is one of those packages that has been bugging me for years; it would build but not run. But in the process of buildings Contacts, Dates, and Tasks, which also use Evolution-Data-Server but have very simple interfaces, I discovered that NSS still wasn't working, causing E-D-S to not initialize. So I rebuilt E-D-S and Evolution without NSS, and voila, it runs like a charm.

So Evolution will be part of the next upload, albeit without SSL support, together with the rest of GNOME 2.26.2. As for SSL support, as much as I would like to have it, I'll admit trying to fix NSPR/NSS again isn't my highest priority right now. (Why can't they use something more normal, like GnuTLS, instead?) As always, PTC.

Thursday, October 2, 2008

New website

While SunSite.dk has been an accommodating host of an ever-growing Ports repository, recent issues with downtime, responsiveness, and storage limits (albeit generous) have held up progress over the last few months. While I am grateful for all their help, the time has come to find another home.

Thanks to the graciousness of a sourceware.org admin, Cygwin Ports has found a new home for the website and package repository. This will allow for easier updating and continued expansion of Ports' offerings. The sunsite.dk package repository has been removed, and all website links now point to our new home.

I invite all Ports users to visit the new website, and follow the directions there to update their packages. As always, questions/comments/issues/testimonials/thanks/etc. go to the cygwin-ports-general list.

Monday, May 12, 2008

Netscape plugins

What does Netscape have to do with Cygwin, you ask? Didn't I just say that anything Mozilla-related doesn't work yet on Cygwin?

Fortunately we still have one working browser on Cygwin: Konqueror. The nsplugins package allows Konqueror to load and use Netscape-compatible plugins. At the next upload, there will be two such working plugins: DjView3 and Xine. I tried, but failed, to get swfdec-mozilla 0.5 working as well; another try with 0.6 will have to wait for GNOME 2.22.

Yes, swfdec itself and the swfdec-gnome player are working, but I had to disable sound support. Enabling the OSS sound support would lock up video playback while the audio was playing. In the meantime, at least it works for games.

If you're looking to play YouTube videos within Cygwin, a recent Linux.com article lists several downloaders. FFmpeg support allows the following applications to play the FLV videos: ffplay (ffmpeg), gxine, kaffeine, kmplayer, kplayer, mplayer, totem, vlc, xine (xine-ui).

GtkMozEmbed challenge

One of the biggest things missing from Ports' GNOME is GtkMozEmbed, nowadays often provided by XULRunner. This would allow adding, updating, or new features for the following packages, among others:
Devhelp
Epiphany
Galeon
Kazehakase
Liferea
MonoDevelop
Yelp
Mozilla::DOM
Gtk2::MozEmbed
pygtkmozembed
ruby-gtkmozembed
Besides being extremely large (34MB source), Mozilla has always abused Cygwin as a build platform for MinGW/MSVC. I really don't like it when people do that. Cygwin is a fairly capable platform of its own accord, not just a means to an unrelated end, and treating it otherwise is not just insulting to those of us who use and develop it, but confuses new users to no end. (Which is why I'd be glad to see the end of -mno-cygwin as well.)

But since GNOME starting using GtkMozEmbed a few years ago, I've taken a few attempts at removing all the anti-Cygwin hacks, all ending without a successful build. A recent (partially successful) experiment with Netscape plugins in Konqueror inspired me to try again. Thanks to Gentoo's ebuild, I managed to get a successful build, but it just crashes (although sometimes a window appears for a split second). My gut feeling is that it's a problem in the XPCOM initialization, but at this point it's way beyond me.

So here's the challenge for anyone who chooses to accept it: get XULRunner to run. To get you started, here's my cygport and patch. You'll need GTK+ and the GNOME libs from Ports (with their -devel packages) as prerequisites. The build can be tested with the included TestGtkEmbed.exe, or build and install both Mozilla::DOM and Gtk2::MozEmbed and try the examples. (The latter require a recent patch to cygport.)

If you do succeed, please drop a note to the mailing list with your modified cygport and patch.

Monday, December 3, 2007

KDE and gamin

In the Ports builds of KDE 3.5.8, I enabled FAM (with gamin) support in kdelibs. Unfortunately, the tradeoff has been excessive CPU usage by gam_server, much more than is normal with GNOME. Some googling showed that this may not be unique to Cygwin, but can happen on Linux as well. While I'd be interested to hear if anyone has noticed any positive effects from the FAM support, at this point, I think I'm going to have to rebuild kdelibs without it.