SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Firefox 3 can't really be used to build other applications anymore (it doesn't come with pkgconfig files). For that, you need XULRunner. If you're building XULRunner, then you might as well build Firefox 3 against it. Which is what my SlackBuild does.
The optimizations used are "-O3 -march=native". O3 is what Swiftfox uses, and "march=native" means that gcc chooses the optimizations based on the machine it's running on. Your build will be optimized for your machine, so don't distribute it.
The only dependency is Cairo 1.6. You can use Pat's SlackBuild to install it (just replace the source, and edit the SlackBuild to change the version number). Or you can grab fancier font rendering packages from the Beautiful Fonts in 12.1 thread. Daedra contributed packages that use the -lcd packages from Arch (read at least the first two pages). I contributed packages that use enhancements from Ubuntu.
While I've only tested these on a system with Gnome Slacky installed, I expect them to work on non-GNOME systems as well.
NOTE: The only version of Flash I recommend is version 9. The current Flash 10 release candidate crashes when I load Gamespot. If you're using GSlacky, be aware that it ships with its own Flash plugin, which I've also had trouble with.
There's no force flag so it should be ok... Firefox should ship with a "default plugin". So if it's there the symlink won't get created. Great idea tho. I hate /usr/lib/mozilla... That and progs like azureus don't look in that catch all/hackish directory that is /usr/lib/mozilla/plugins....
I've never built with configure. Suprised I've never tried it. I always use a .mozconfig and build in a different directory.
But yea. I'm a little bummed about the new gecko api. Means I'll probably drop firefox from my gnome offering. No need for it anymore.
Actually, it'd be super sweet if Slackware shipped xulrunner... Anything plugin related needs it now...
The symlink is correct. Firefox looks for plugins in its own "plugins" directory, which in this case is /usr/lib/firefox-3.0/plugins. This directory is not automatically created when you build against XULRunner. Slackware expects plugins to be in /usr/lib/mozilla/plugins. So making /usr/lib/firefox-3.0/plugins a symlink to /usr/lib/mozilla/plugins allows Firefox to see the plugins you've already installed.
As far as I know, getting Firefox to see /usr/lib/mozilla/plugins is impossible when you're building against XULRunner. The patch used by Slackware and BlueWhite64 doesn't work, and the (different) one used by GSB doesn't work either. So you need the symlink.
The symlink is correct. Firefox looks for plugins in its own "plugins" directory, which in this case is /usr/lib/firefox-3.0/plugins. This directory is not automatically created when you build against XULRunner. Slackware expects plugins to be in /usr/lib/mozilla/plugins. So making /usr/lib/firefox-3.0/plugins a symlink to /usr/lib/mozilla/plugins allows Firefox to see the plugins you've already installed.
As far as I know, getting Firefox to see /usr/lib/mozilla/plugins is impossible when you're building against XULRunner. The patch used by Slackware and BlueWhite64 doesn't work, and the (different) one used by GSB doesn't work either. So you need the symlink.
I don't see any reason not to symlink to /usr/lib/mozilla/plugins. Most software installs to mozilla/plugins, so plugins usually only end up in firefox/plugins if the user manually puts them there. This is what I used to do in my Swiftfox slackBuild, but I reverted to the Slackware style patch because Swiftfox sometimes shipped with a print plugin (probably useless).
Anyway, the slackBuilds do indeed look interesting, so I may test them out soon. Thank you for your contributions.
Edit:
I don't think you need the "#!/bin/bash" at the top of your doinst.sh.
Last edited by shadowsnipes; 06-30-2008 at 10:52 AM..
For dependencies, you need Daedra's FontConfig and Cairo packages from the Beautiful Fonts in 12.1 thread.
Are you sure that Daedra's Cairo package is the one needed for xulrunner? I just tried to run the xulrunner slackBuild on a clean 12.1 install after I installed the cairo-1.4.14 package and I got this
Code:
configure: warning: Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.
Requested 'cairo >= 1.6.0' but version of cairo is 1.4.14
configure: error: Library requirements (cairo >= 1.6.0 freetype2 fontconfig) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
make: *** No targets specified and no makefile found. Stop.
Perhaps you meant that we need to use the cairo patch on 1.6.0?
Also, I did not see a FontConfig package. There was just a fonts.conf file.
You need xulrunner to compile programs against! The pkgconfig files (with a .pc extension) that used to come with Firefox 3 have all been moved to xulrunner. Building xulrunner is the only way to get them.
Yea. The new gecko 1.9 API changed everything. This is why I think it would be a great idea for Slackware to add xulrunner to it's lineup. It's now become a pretty important package all around.
You'll have all the libs you see in the current firefox directory plus many needed pkgconfig files and a development sdk directory with the required hearders to build (many things) against. You can also snag a complete set of NSS headers as well (not part of the default install).
Once you have xulrunner on the system, building firefox, seamonkey, thunderbird et. all takes literally 2-3 minutes on a newer system and is a fraction of the size that firefox-2.x was...
Quote:
Originally Posted by dugan
... that used to come with Firefox 3 ...
I think you meant firefox 2...
Quote:
Originally Posted by shadowsnipes
What is the advantage of building firefox with XULrunner (versus with --disable-libxul)?
You have one centralized package containing all the necessary libs and headers to build any gecko based application against. Really nice to have and long overdue actually.
EDIT - Scratch my "extra NSS headers" comment. Looks like your covered with the default install of xulrunner.
BTW, what's the reasoning behind a new fontconfig package from the beatiful fonts thread? That shouldn't have anything to do with anything. Yea, you need a recent cairo and general "G libs" but that should be the only build time dependency if I'm not mistaken.
Granted, I haven't built any of it on Slackware yet. Waiting for the new Gnome release in a couple days, but I've migrated on my DIY build and I'm not doing anything funky with freetype, fontconfig or cairo. Are you sure your not just trying to pawn Daedra's font changes onto people?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
Advertisement
Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Click Here to receive a complimentary subscription courtesy of LQ.