Wednesday, July 23, 2008

XULRunner

GNU IceCat - GNU's version of FirefoxLet's see:

  • Firefox uses XULRunner, check.
  • Icecat uses XULRunner, check.
  • Swiftweasel uses XULRunner, check.
  • Seamonkey uses XULRunner, check.
  • Swiftfox uses XULRunner, check.
  • Songbird uses XULRunner, check.
And if one installs such packages, they will get XULRunner installed for each package, except that Firefox shares XULRunner with other applications, such as Thunderbird for example, and the other packages don't share their XULRunner.

The official Arch package of Firefox is so amazingly small in size, because everything is already in the XULRunner package. So this have been hunting me for a while, wanting to do the same, and rely on the official XULRunner if possible, or re-compile it if needed. Once I know how, it would solve a big problem in my life, and help easy lives of many others.

Anyone installing XULRunner more than once on their systems would probably agree that it would be nice to save the time compiling it, everytime a new version is released, and also the harddisk space. I mean, who would say no to gain more disk space while everything works like they were, if not better?

Need to figure out how exactly to do this. The part about compiling XULRunner is easy. It's exactly like compiling Firefox. The part where I get other packages to use it is the missing piece here.

Couple of problems:
1. Applications that should work with XULRunner, don't work, like Zekr package. The auther says we should just point the application to Firefox's directory, or XULRunner, or any varint or flavor of Firefox. Sadly, every attempt of mine to make it use XULRunner was a faliure. Many many hours wasted on this. Tried to point it to directory of Swiftwesel, and tried now with GNU IceCat, only to fail. Finally pointing it to SeaMonkey's directory worked. The auther assures me it would work with just XULRunner, so I am missing something here.

2. I need to make sure XULRunner is completely free software (as in librty and freedom), because I'm a Free Software activist, and to get it to work with GNU IceCat. Compiling IceCat is different a bit from compiling Firefox directly. This bit of differece is something I need to figure out. The default confugure options are different, and gave me nightmares to find out working one.

How can we compile with less Gnome dependencies, for those who want it so? Because me having Gnome installed (among other DEs/WMs) should not makes me assume everyone would install/accept such dependencies, and they have the right.
--enable-toolkit-cairo-gtk2
--enable-default-toolkit=cairo-gtk2
what about --disable-toolkit-qt?
What about --enable-system-cairo?
--enable-libxul or --disable-libxul ? And why --with-libxul-sdk=/usr/lib/xulrunner-devel-1.9 fails with IceCat in both cases?
What is cairo anyway? And is it better to use it or not? What is pango?
So many things to know, which I don't know yet and finding diffeculty understanding what I read about them, with my limited time.

On a side note, I've read it few times that Songbird would need special configuration for XULRunner anyway, meaning that it likely won't use the system shared XULRunner.

No comments: