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.
Yea, I have fontconfig-2.5.0 and freetype-2.3.5 installed on my DIY build and everything built just fine. I do know that a cairo 1.6.x and pixman 0.10.x IS needed, however. pixman should be new enough on Slack (haven't checked) so you should just need a plain old vanilla cairo-1.6.x in order to build xulrunner.
The official cairo.SlackBuild for 1.4.x should work just fine when building a new cairo... Might also want to look into a possible updated pycairo if anyone does that tho... It might still be in the 1.4 range if I'm not mistaken but couldn't hurt to get rebuilt anyway. Same goes for pango.
And, just incase any higher ups are reading this and contemplating xulrunner, it is of course a new API. Might want to let things settle. I have to use a development version of totem to get it to build the plugin.
Stable librsvg seems to like 1.9 just fine but vlc needs CPPFLAGS appended and a --with-mozilla-sdk-path= switch to configure..... Not a big deal but it'll be alot nicer once people catch up and it's all recognized automatically...
Yea, I have fontconfig-2.5.0 and freetype-2.3.5 installed on my DIY build and everything built just fine. I do know that a cairo 1.6.x and pixman 0.10.x IS needed, however. pixman should be new enough on Slack (haven't checked) so you should just need a plain old vanilla cairo-1.6.x in order to build xulrunner.
The official cairo.SlackBuild for 1.4.x should work just fine when building a new cairo... Might also want to look into a possible updated pycairo if anyone does that tho... It might still be in the 1.4 range if I'm not mistaken but couldn't hurt to get rebuilt anyway. Same goes for pango.
Just to clear up a few things, you only need cairo <1.6.0 if you are compiling with the --enable-system-cairo option. Firefox uses it's own internal cairo code which will by pass any system settings you have made. this specifically relates to my beautiful fonts thread because if you want to use sub-pixel renderig with firefox it will have to be compiled with --enable-system-cairo which requires cairo 1.6.0 or higher and the newest patch for sub-pixel rendering with cairo requires a new option in fontconfig to work properly which is why you need fontconfig 2.6.0. However if you don't want or need sub-pixel rendering then just remove the --enable-system-cairo option and it will compile fine
Or - to complicate things further, you just use the new subpixel patch OR the old one (see the font thread) with a latest cairo 1.6.4, ignore the new fontconfig and still have your fonts looking nice.
As Dugan mentioned the recent fontconfig version is not necessary for the patched (und unpatched) recent Cairo versions and for --enable-system-cairo in FF3, you just need it for certain fontconfig options if you'd like to use them.
I use the more or less same font style as Daedra with patched recent Cairo and FF3 compiled with --enable-system-cairo, but without recent fontconfig, because it's (still) on a Slack 12.0.
What is the advantage of building firefox with XULrunner
Here's another point.
Firefox and Xulrunner are different projects and therefore, updated separately. Release.mozila.org has five versions of Firefox 2 and only four versions of Xulrunner 1.8. Firefox and Xulrunner's releases do not coincide.
What happens when there is a new Firefox but no new Xulrunner? If you built Firefox and Xulrunner separately, then you would only need to spend a five minutes minutes compiling Firefox and linking it against Xulrunner. But if you built Xulrunner into Firefox to get a standalone Firefox, then you would have to spend 50 minutes (45 of which are wasted) compiling both.
I haven't tried your suggestion to try --disable-libxul, but I will. Even if it does create the needed pkgconfig files though, building Xulrunner separately is a better decision.
Firefox and Xulrunner are different projects and therefore, updated separately. Release.mozila.org has five versions of Firefox 2 and only four versions of Xulrunner 1.8. Firefox and Xulrunner's releases do not coincide.
What happens when there is a new Firefox but no new Xulrunner? If you built Firefox and Xulrunner separately, then you would only need to spend a five minutes minutes compiling Firefox and linking it against Xulrunner. But if you built Xulrunner into Firefox to get a standalone Firefox, then you would have to spend 50 minutes (45 of which are wasted) compiling both.
I haven't tried your suggestion to try --disable-libxul, but I will. Even if it does create the needed pkgconfig files though, building Xulrunner separately is a better decision.
I totally agree since as you said the compile times are drastically reduced (for more than just firefox). I don't really have a good reason to regularly build firefox at this point in time, but if I do this in the future I will definitely be building xulrunner separately. Thanks for all your (and others') input.
Speaking of custom icons, I wonder why you aren't using them (in Firefox, not in /usr/share/pixmaps) instead of the built-in firefox icons? You just have to specify the directory with the icon(s) at configure time I think (instead of using --enable-official-branding).
Last edited by shadowsnipes; 07-10-2008 at 11:17 PM..
I'm sure it could, however, I'm afraid I'm going to have to call the Mozilla Police now....
It would probably be easier just to replace the official .png/.xpm's with the new one before you build if your going to go the source route... I'm thinking anyway.... Which sometimes isn't good for me.
Might be a good idea to run update-desktop-database on the firefox post-install because of MimeType=.... Also, /usr/lib/xulrunner-$VERSION should be appended to LD_LIBRARY_PATH by one means or another. If someone uninstalls Seamonkey, your nss/nspr libs won't be found at runtime and programs will break.
Just a matter of personal style I suppose, but I also like to --disable-installer and --disable-updater if they are going to be native packages handled by pkgtool. Good way to loose control over your packages if it's automatically updated.... --disable-crashreporter is also good because mozilla could care less about an "un-official" build....
Can't say that I'm a big fan of /usr/lib/mozilla either but to each his own...
edit- (sorry) - You've also got a hard wired dependency on imagemagick within your scripts... A conditional might be more appropriate.
Good suggestions. I've uploaded new SlackBuilds that incorporate them.
Quote:
Might be a good idea to run update-desktop-database on the firefox post-install because of MimeType=....
Done!
Quote:
Also, /usr/lib/xulrunner-$VERSION should be appended to LD_LIBRARY_PATH by one means or another.
Good point. I now set it in /etc/profile.d and print a message telling the user how to make the changes take effect (log out, log back in).
Quote:
I also like to --disable-installer and --disable-updater if they are going to be native packages handled by pkgtool. Good way to loose control over your packages if it's automatically updated.... --disable-crashreporter is also good because mozilla could care less about an "un-official" build....
You've convinced me. I now pass all of these to Firefox's configure script.
Quote:
You've also got a hard wired dependency on imagemagick within your scripts... A conditional might be more appropriate.
And here we need to ask ourselves... would a conditional needlessly complicate the SlackBuild? Can we not just assume that the user has ImageMagick installed? I don't know. But I decided to take your recommendation and have the conditional.
Quote:
Can't say that I'm a big fan of /usr/lib/mozilla either but to each his own...
You mean symlinking /usr/lib/mozilla/plugins to /usr/lib/firefox-3.0/plugins to get access to installed plugins? There's no other way to do it.
As with the current versions of my Ubuntu font rendering SlackBuilds, the current Firefox and XULRunner SlackBuilds untar the sources in /tmp/build/source, package them in /tmp/build/package, and output tgz files in /tmp/build/output. This work better for me than simply putting everything in /tmp.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.