May 26, 2013 posted by Martin Husemann
I use a NetBSD/sparc64 machine (a dual sun blade 2500 silver) as desktop. Of course this sometimes requires me fixing some of the desktop software I use. Luckily, as a software developer, my requirements are quite simple and most software I need (editors, gimp, xsane, ...) just works.
One of the itching points used to be Firefox. Late in the Firefox 4.0 release cycle some changes landed in the mozilla main tree that broke it for sparc64 - and for a while no one knew how to fix it.
When lately I had the need to test a web app with all "strange" clients available (I even booted my macppc into MacOS and tried the ancient safari version) I noticed that my sparc64 firefox (3.6.28) was not usable for testing - firefox did not have websocket support back then, which the app I was testing needed.
I checked out the mozilla mercurial tree for the firefox alpha version, applied all pkgsrc patches (we lyhave plenty!) and modified the configuration to generate a debuggable version, and after surprisingly little effort I had it building.
Of course it did not run.
So I started to debugging it (which is not for the light hearted, as you can imagine). Thanks to some bank holiday plus additional bridge day off I used a long weekend and managed to get it running:
Then I tried to run my websocket app again, but it crashed imediately. So I fired up gdb one more time, and this time everything was fixed quickly. My app now runs fine (sorry, no pictures here, it is not yet public).
I filed all necessary changes as bugzilla tickets upstream and am working with the responsible maintainers to get them included.
This will be available in pkgsrc as soon as the official firefox 22 release is imported into pkgsrc.