mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-03 06:27:16 +08:00
Now that firefox2 is no longer supported upstream, move to firefox3. Thanks to the many people who have contributed to this, particularly to Simon Geard who pointed out that firefox can be used to build xulrunner, and to Jack Stone who helped me understand why the nss nd nspr libs need to be symlinked. All errors, are of course, my own. E&OE.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@7804 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
parent
1db74e9b22
commit
aed379752a
@ -451,6 +451,8 @@ $Date$
|
||||
<!ENTITY libxklavier-version "3.2">
|
||||
<!ENTITY freeglut-version "2.4.0">
|
||||
<!ENTITY goffice-version "0.6.1">
|
||||
<!-- The xulrunner version also appears in the firefox mozconfig as a literal -->
|
||||
<!ENTITY xulrunner-version "1.9.0.7">
|
||||
|
||||
<!-- Chapter 27 -->
|
||||
<!ENTITY sawfish-version "1.3">
|
||||
@ -604,7 +606,7 @@ $Date$
|
||||
|
||||
<!-- Chapter 36 -->
|
||||
<!ENTITY seamonkey-version "1.1.9">
|
||||
<!ENTITY firefox-version "2.0.0.15">
|
||||
<!ENTITY firefox-version "3.0.7">
|
||||
<!ENTITY galeon-version "2.0.1">
|
||||
<!-- <!ENTITY dillo-version "0.8.5"> removed -->
|
||||
|
||||
|
@ -55,6 +55,9 @@
|
||||
<para>[dj] - Added Root Certificates as recommended dependency to
|
||||
OpenSSL and changed installation path for ca-bundle.crt.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[ken] - Updated to firefox-3.0.7 / xulrunner-1.9.0.7.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
|
@ -40,5 +40,6 @@ $Date$
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="freeglut.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="goffice.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mesalib.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="xulrunner.xml"/>
|
||||
|
||||
</chapter>
|
||||
|
380
x/lib/xulrunner.xml
Normal file
380
x/lib/xulrunner.xml
Normal file
@ -0,0 +1,380 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY xulrunner-download-http "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;-source.tar.bz2">
|
||||
<!ENTITY xulrunner-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;-source.tar.bz2">
|
||||
<!-- md5sum and size should match firefox, but the buildize and time will differ -->
|
||||
<!ENTITY xulrunner-md5sum "9875c9237b532009df8e91c3785539a3">
|
||||
<!ENTITY xulrunner-size "35.3 MB">
|
||||
<!ENTITY xulrunner-buildsize "663 MB">
|
||||
<!ENTITY xulrunner-time "13.2 SBU">
|
||||
]>
|
||||
|
||||
<sect1 id="xulrunner" xreflabel="Xulrunner-&xulrunner-version;">
|
||||
<?dbhtml filename="xulrunner.html" ?>
|
||||
|
||||
<sect1info>
|
||||
<othername>$LastChangedBy$</othername>
|
||||
<date>$Date$</date>
|
||||
</sect1info>
|
||||
|
||||
<title>Xulrunner-&xulrunner-version;</title>
|
||||
|
||||
<indexterm zone="xulrunner">
|
||||
<primary sortas="a-Xulrunner">Xulrunner</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to Xulrunner</title>
|
||||
|
||||
<para><application>Xulrunner</application> is a runtime environment for XUL
|
||||
applications, and forms the major part of the <application>Mozilla</application>
|
||||
codebase. In particular, it provides the gecko engine together with pkgconfig
|
||||
files so that applications such as <application>Epiphany</application> and
|
||||
<application>Yelp</application> can use it.</para>
|
||||
|
||||
<note>
|
||||
<para>If you later build a newer version of <application>xulrunner</application>
|
||||
to pick up the latest security fixes, you <emphasis>must</emphasis> update the
|
||||
symlinks (including for nss, nspr if you are using the versions in
|
||||
<application>xulrunner</application>) and rebuild every application which uses
|
||||
gecko, including upgrading <application>firefox</application> if you have installed
|
||||
that.</para>
|
||||
</note>
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>Download (HTTP): <ulink url="&xulrunner-download-http;"/></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Download (FTP): <ulink url="&xulrunner-download-ftp;"/></para>
|
||||
<tip><para>When a new version of <application>firefox</application> is
|
||||
released, sometimes a corresponding new version of
|
||||
<application>xulrunner</application> appears at the same time. At other
|
||||
times it appears several days later or not at all. So far in the
|
||||
<application>firefox-3.0</application> series, every new release has
|
||||
created xulrunner libraries with a corresponding new version. Whenever
|
||||
a separate xulrunner tarball has been released, it has been bitwise
|
||||
identical to the corresponding firefox tarball. So, we will use the
|
||||
<application>firefox</application> tarball to save downloading this
|
||||
large package twice.</para></tip>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Download MD5 sum: &xulrunner-md5sum;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Download size: &xulrunner-size;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Estimated disk space required: &xulrunner-buildsize;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Estimated build time: &xulrunner-time;</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Xulrunner Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required"><xref linkend="gtk2"/>,
|
||||
<xref linkend="libidl"/>
|
||||
<xref linkend="pango"/>
|
||||
<xref linkend="python"/>, and
|
||||
<xref linkend="zip"/></para>
|
||||
|
||||
<para>Note: <application>libjpeg</application> should have been installed
|
||||
before <application>GTK+</application> and should exist on your system. If
|
||||
for some reason you haven't installed <application>libjpeg</application>,
|
||||
you should remove the <option>--with-system-jpeg</option> option from the
|
||||
<filename>.mozconfig</filename> file created below.</para>
|
||||
|
||||
<bridgehead renderas="sect4">Optional</bridgehead>
|
||||
<para role="optional"><xref linkend="dbus-glib"/>,
|
||||
<xref linkend="doxygen"/>,
|
||||
<xref linkend="curl"/> (only for crash-reporter),
|
||||
<xref linkend="gnome-vfs"/> and <xref linkend="libgnomeui"/>
|
||||
(for gnome integration),
|
||||
<xref linkend="lcms"/>,
|
||||
<xref linkend="libpng"/> (patched for apng support),
|
||||
<ulink url="http://sqlite.org/">SQLite</ulink>,
|
||||
<xref linkend="startup-notification"/>.
|
||||
<xref linkend="unzip"/>,
|
||||
<ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing the
|
||||
jemalloc code), and
|
||||
<xref linkend="wget"/></para>
|
||||
|
||||
<para condition="html" role="usernotes">User Notes:
|
||||
<ulink url="&blfs-wiki;/xulrunner"/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Xulrunner</title>
|
||||
|
||||
<!-- FIXME : I assume current OOo can't use xulrunner ?
|
||||
lines near the bottom of the file. If you are going to build the
|
||||
<application>OpenOffice</application> package and you want to use this
|
||||
<application>Xulrunner</application> installation as the default
|
||||
<application>Mozilla</application> source, ensure you uncomment the
|
||||
+ substitutions to stop the comment breaking the syntax
|
||||
<option>++enable-ldap+/option+ option in the file created below. -->
|
||||
<para>The configuration of <application>Xulrunner</application> is
|
||||
accomplished by creating a <filename>.mozconfig</filename> file containing
|
||||
the desired configuration options. A default <filename>.mozconfig</filename>
|
||||
is created below. To see the entire list of available configuration options
|
||||
(and an abbreviated description of each one), issue
|
||||
<command>./configure --help</command>. If you are going to use
|
||||
system-installed versions of the <application>NSS</application> and
|
||||
<application>NSPR</application> libraries, ensure you uncomment the two
|
||||
lines near the bottom of the file.
|
||||
You should review the entire file and comment or uncomment options as
|
||||
necessary. If you would prefer to download the file instead of creating
|
||||
it by typing or cut-and-pasting, you can find it at <ulink
|
||||
url="&files-anduin;/xulrunner-&xulrunner-version;-mozconfig"/>
|
||||
(the file must be installed in the root of the source tree
|
||||
<filename class='directory'>mozilla</filename> directory, and named
|
||||
<filename>.mozconfig</filename>).</para>
|
||||
|
||||
<screen><?dbfo keep-together="auto"?><userinput>cat > .mozconfig << "EOF"
|
||||
<literal># This file contains the options used in the Xulrunner build. You may
|
||||
# need to specify additional options for your specific build needs.
|
||||
# Use the information provided by running './configure --help' to
|
||||
# help you determine if you need to add any additional options.
|
||||
# Some additional options can be added by uncommenting the examples
|
||||
# in this file or adding options by inserting a line containing
|
||||
# 'ac_add_options --some-option-you-need'. Be aware that some accepted
|
||||
# options, such as '--with-system-bz2', do not affect the build.
|
||||
|
||||
# specify that we want to build xulrunner
|
||||
ac_add_options --enable-application=xulrunner
|
||||
|
||||
# Create an object directory and specify to build the package in that
|
||||
# directory. If desired, modify the location of the object directory
|
||||
# to a directory inside the source tree by removing '../' from the
|
||||
# line below.
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../xulrunner-build
|
||||
|
||||
# Specify the installation prefix. If you would prefer Xulrunner
|
||||
# installed in a different prefix, modify the line below to fit
|
||||
# your needs (the config will always be written to /etc/gre.d)
|
||||
ac_add_options --prefix=/usr
|
||||
|
||||
# apply a minimal level of optimization (-O)
|
||||
ac_add_options --enable-optimize
|
||||
|
||||
# These options are used so that the Xulrunner binaries are linked to
|
||||
# the system-installed copies of the specified libraries instead of
|
||||
# the source tree code which may not be the most recent versions (or,
|
||||
# for cairo, may contain additional patches) : with the exception of
|
||||
# libsqlite3, the libraries are statically linked - using the shipped
|
||||
# version of libsqlite3 has bee n reported to cause problems with other
|
||||
# applications which were using sqlite3.
|
||||
|
||||
# (the --enable-system options)
|
||||
# comment this if you want to use whatever patched version of cairo
|
||||
# is in the shipped mozilla tree, together with the system headers.
|
||||
ac_add_options --enable-system-cairo
|
||||
|
||||
# comment this if you have not installed lcms
|
||||
ac_add_options --enable-system-lcms
|
||||
|
||||
# comment this if you have not installed sqlite
|
||||
ac_add_options --enable-system-sqlite
|
||||
|
||||
# (the --with-system options)
|
||||
# comment this if you did not build libjpeg before gtk+-2
|
||||
ac_add_options --with-system-jpeg
|
||||
|
||||
# These two options enable support for building Xulrunner with
|
||||
# system-installed versions of the Network Security Services (NSS)
|
||||
# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
|
||||
# lines to enable support for system-installed NSS/NSPR instead of
|
||||
# building the versions shipped with xulrunner.
|
||||
#ac_add_options --with-system-nspr
|
||||
#ac_add_options --with-system-nss
|
||||
|
||||
# comment this if you have not built png with the apng patch
|
||||
ac_add_options --with-system-png
|
||||
|
||||
# The pthreads option is only used when building nspr
|
||||
# so you can comment this if you enable --with-system-nspr
|
||||
ac_add_options --with-pthreads
|
||||
|
||||
# zlib is in LFS
|
||||
ac_add_options --with-system-zlib
|
||||
|
||||
# (options to disable parts of the package)
|
||||
# This option is used to disable the a11y support in the Xulrunner
|
||||
# binaries. Comment out this option if you require a11y support.
|
||||
ac_add_options --disable-accessibility
|
||||
|
||||
# uncomment this if you did not build curl
|
||||
#ac_add_options --disable-crashreporter
|
||||
|
||||
# comment this if you have built dbus-glib
|
||||
ac_add_options --disable-dbus
|
||||
|
||||
# comment this if you have gnome-vfs and libgnomeui, and wish to
|
||||
# integrate xulrunner into your gnome desktop
|
||||
ac_add_options --disable-gnomevfs
|
||||
|
||||
# This option is added so that the Mozilla Installer program is not
|
||||
# built or installed. The program is not required for a BLFS
|
||||
# installation of Xulrunner.
|
||||
ac_add_options --disable-installer
|
||||
|
||||
# If you enable javaxpcom, you must have a java compiler installed.
|
||||
ac_add_options --disable-javaxpcom
|
||||
|
||||
# mochitest often causes problems
|
||||
ac_add_options --disable-mochitest
|
||||
|
||||
# This option is added so that test libraries and programs are not
|
||||
# built. These would only be required for debugging purposes.
|
||||
ac_add_options --disable-tests
|
||||
|
||||
# Disable the updater, which is not appropriate if you build from source
|
||||
ac_add_options --disable-updater
|
||||
|
||||
# (options to add extra parts of the package)
|
||||
# This option is used to enable source tree included LDAP support in
|
||||
# the Xulrunner binaries.
|
||||
###################################################################
|
||||
#
|
||||
# NOTE: You must uncomment this option if there is any chance of
|
||||
# compiling the OpenOffice package from source code using this copy
|
||||
# of Xulrunner for your Mozilla support.
|
||||
# This has NOT been tested, current versions of OpenOffice are
|
||||
# assumed not to compile against this version of xulrunner!
|
||||
#
|
||||
###################################################################
|
||||
#ac_add_options --enable-ldap
|
||||
|
||||
# Use the anti-phishing measures (a blacklist of sites)
|
||||
ac_add_options --enable-safe-browsing
|
||||
|
||||
# This option is used so that the debugging symbols are removed from
|
||||
# the installed binaries during the installation process. Comment out
|
||||
# this option if you may have a need to retain the debugging symbols
|
||||
# in the installed binaries (the resulting binaries will be about 7MB
|
||||
# bigger).
|
||||
ac_add_options --enable-strip
|
||||
|
||||
# Uncomment this option if you desire support for dual-monitor
|
||||
# display using the X-Window Xinerama libraries.
|
||||
#ac_add_options --enable-xinerama
|
||||
|
||||
# ('with' options)
|
||||
# This option identifies the default binary directory of the Xulrunner
|
||||
# installation and is used to locate Xulrunner's installed files. This
|
||||
# option is not required for end-user browsing, and is only used for
|
||||
# development purposes.
|
||||
#ac_add_options --with-default-mozilla-five-home=/usr/lib/xulrunner-&xulrunner-version;</literal>
|
||||
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>Compile <application>Xulrunner</application> by issuing the
|
||||
following commands:</para>
|
||||
|
||||
<screen><userinput>echo "Requires: nspr" >>xulrunner/installer/libxul-embedding.pc.in &&
|
||||
make -f client.mk build</userinput></screen>
|
||||
|
||||
<para>This package does not come with a test suite.</para>
|
||||
|
||||
<para>Now, as the <systemitem class="username">root</systemitem> user,
|
||||
install the package:</para>
|
||||
|
||||
<screen role="root"><userinput>make -f client.mk install &&
|
||||
for DL in \
|
||||
libnss3.so libnssutil3.so libsmime3.so libssl3.so libsoftokn3.so \
|
||||
libplds4.so libplc4.so libnspr4.so ; do
|
||||
ln -sv xulrunner-&xulrunner-version;/$DL /usr/lib/$DL
|
||||
done &&
|
||||
ln -sv mozilla-nspr.pc /usr/lib/pkgconfig/nspr.pc &&
|
||||
mkdir /usr/lib/mozilla &&
|
||||
ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins /usr/lib/mozilla/plugins</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<para><command>echo "Requires: nspr" >>xulrunner/installer/libxul-embedding.pc.in</command>
|
||||
: If you try to build <application>Yelp</application> without this, the
|
||||
prtypes header from nspr will not be found. It is arguable whose error this
|
||||
is (the code presumably works on earlier geckos), but this fix is unlikely
|
||||
to cause any damage in other packages.</para>
|
||||
|
||||
<para><command>make -f client.mk ...</command>: Mozilla products are
|
||||
packaged to allow the use of a configuration file which can be used to
|
||||
pass the configuration settings to the <command>configure</command>
|
||||
command. <command>make</command> uses the <filename>client.mk</filename>
|
||||
file to get initial configuration and setup parameters, then depending on
|
||||
the target parameter (<parameter>build</parameter> or
|
||||
<parameter>install</parameter>), either runs the
|
||||
<command>configure</command> script and compiles the package or installs
|
||||
the package.</para>
|
||||
|
||||
<para><command>for DL in ...</command>: The nspr and nss libraries shipped
|
||||
with this package are installed into /usr/lib/xulrunner-&xulrunner-version;
|
||||
which means they will not be found at runtime. By using symbolic links from
|
||||
<filename class="directory">/usr/lib</filename> they will be found and we can
|
||||
easily change the links to point to a newer version when we upgrade.</para>
|
||||
|
||||
<para><command>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins
|
||||
/usr/lib/mozilla/plugins</command>: Some packages will install browser plugins
|
||||
into /usr/lib/mozilla/plugins. By creating this as a symlink to the basic
|
||||
plugins we keep them all together.</para>
|
||||
|
||||
<tip>
|
||||
<para>When you upgrade xulrunner, remember to update the symlinks and to
|
||||
copy any additional plugins compiled agaisnt this series of xulrunner to the
|
||||
new plugin directory.</para>
|
||||
</tip>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Programs</segtitle>
|
||||
<segtitle>Installed Libraries</segtitle>
|
||||
<segtitle>Installed Directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>xulrunner</seg>
|
||||
<seg>Numerous libraries, browser components, plugins, extensions, and
|
||||
helper modules installed in <filename
|
||||
class='directory'>/usr/lib/xulrunner-&xulrunner-version;</filename></seg>
|
||||
<seg>/etc/gre.d, /usr/include/xulrunner-&xulrunner-version;,
|
||||
/usr/lib/xulrunner-&xulrunner-version;, and
|
||||
/usr/lib/xulrunner-devel-&xulrunner-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="xulrunner-prog">
|
||||
<term><command>xulrunner</command></term>
|
||||
<listitem>
|
||||
<para>is a shell script, useful for identifying the version
|
||||
installed.</para>
|
||||
<indexterm zone="xulrunner xulrunner-prog">
|
||||
<primary sortas="b-xulrunner">xulrunner</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
@ -6,10 +6,10 @@
|
||||
|
||||
<!ENTITY firefox-download-http "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;-source.tar.bz2">
|
||||
<!ENTITY firefox-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;-source.tar.bz2">
|
||||
<!ENTITY firefox-md5sum "ef827973830cc6453adf8ca3b88a9c6d">
|
||||
<!ENTITY firefox-size "38 MB">
|
||||
<!ENTITY firefox-buildsize "574 MB">
|
||||
<!ENTITY firefox-time "13 SBU">
|
||||
<!ENTITY firefox-md5sum "9875c9237b532009df8e91c3785539a3">
|
||||
<!ENTITY firefox-size "35.3 MB">
|
||||
<!ENTITY firefox-buildsize "674 MB (stand-alone) or 408MB (on xulrunner)">
|
||||
<!ENTITY firefox-time "13.4 SBU (stand-alone) or 0.3 SBU (on xulrunner)">
|
||||
]>
|
||||
|
||||
<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
|
||||
@ -32,6 +32,26 @@
|
||||
<para><application>Firefox</application> is a stand-alone browser
|
||||
based on the <application>Mozilla</application> codebase.</para>
|
||||
|
||||
<para>With the introduction of firefox-3, the <application>pkgconfig</application>
|
||||
files for the Gecko engine (and for <application>nss</application> and
|
||||
<application>nspr</application>) are not installed. This means that applications
|
||||
such as <application>Epiphany</application> can no longer be built against firefox,
|
||||
and must instead be built against xulrunner (which is actually the same code, but
|
||||
built in a different way). If you wish to build other packages which use Gecko (for
|
||||
the moment, probably only gnome-2.24 or later versions will recognize xulrunner),
|
||||
build <xref linkend="xulrunner"/> first.</para>
|
||||
|
||||
<tip>
|
||||
<para>Firefox is updated frequently as new vulnerabilities are found. Consult
|
||||
<ulink url="http://www.mozilla.org/security/known-vulnerabilities/">mozilla security</ulink>
|
||||
for details of what is fixed in newer releases. The editors cannot guess what
|
||||
will differ in newer versions: it should be straightforward to upgrade within the
|
||||
same series (3.0), but it is always possible that newer versions will have increased
|
||||
dependencies, or that something using the nss or gecko libraries will break. If you
|
||||
update, begin by updating <application>xulrunner</application> if you use that, then
|
||||
update firefox (ensuring the libxul-sdk option points to the new version).</para>
|
||||
</tip>
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
@ -56,9 +76,16 @@
|
||||
|
||||
<bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Recommended</bridgehead>
|
||||
<para role="optional"><xref linkend="xulrunner"/> which shares all these
|
||||
dependencies, or for a standalone firefox the following Required and
|
||||
Optional dependencies:</para>
|
||||
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required"><xref linkend="gtk2"/>,
|
||||
<xref linkend="libidl"/>, and
|
||||
<xref linkend="libidl"/>
|
||||
<xref linkend="pango"/>
|
||||
<xref linkend="python"/>, and
|
||||
<xref linkend="zip"/></para>
|
||||
|
||||
<para>Note: <application>libjpeg</application> should have been installed
|
||||
@ -67,17 +94,20 @@
|
||||
you should remove the <option>--with-system-jpeg</option> option from the
|
||||
<filename>.mozconfig</filename> file created below.</para>
|
||||
|
||||
<bridgehead renderas="sect4">Recommended</bridgehead>
|
||||
<para role="recommended"><xref linkend="nss"/>(if you will be installing
|
||||
any other package that utilizes NSS/NSPR, such as
|
||||
<application>Thunderbird</application>,
|
||||
<application>SeaMonkey</application>,
|
||||
<application>Evolution</application>, or
|
||||
<application>OpenOffice</application>)</para>
|
||||
|
||||
<bridgehead renderas="sect4">Optional</bridgehead>
|
||||
<para role="optional"><xref linkend="unzip"/> and
|
||||
<xref linkend="libgnomeui"/> (to build the gnomevfs extension)</para>
|
||||
<para role="optional"><xref linkend="dbus-glib"/>,
|
||||
<xref linkend="doxygen"/>,
|
||||
<xref linkend="curl"/> (only for crash-reporter),
|
||||
<xref linkend="gnome-vfs"/> and <xref linkend="libgnomeui"/>
|
||||
(for gnome integration),
|
||||
<xref linkend="lcms"/>,
|
||||
<xref linkend="libpng"/> (patched for apng support),
|
||||
<ulink url="http://sqlite.org/">SQLite</ulink>,
|
||||
<xref linkend="startup-notification"/>.
|
||||
<xref linkend="unzip"/>,
|
||||
<ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing the
|
||||
jemalloc code), and
|
||||
<xref linkend="wget"/></para>
|
||||
|
||||
<para condition="html" role="usernotes">User Notes:
|
||||
<ulink url="&blfs-wiki;/firefox"/></para>
|
||||
@ -100,6 +130,8 @@
|
||||
<application>Firefox</application> installation as the default
|
||||
<application>Mozilla</application> source, ensure you uncomment the
|
||||
<option>--enable-ldap</option> option in the file created below.
|
||||
If you are building against <application>Xulrunner</application> you
|
||||
must uncomment the 'xulrunner' item.
|
||||
You may also wish to review the entire file and uncomment any other desired
|
||||
options. If you would prefer to download the file instead of creating it by
|
||||
typing or cut-and-pasting, you can find it at <ulink
|
||||
@ -110,14 +142,18 @@
|
||||
command:</para>
|
||||
|
||||
<screen><?dbfo keep-together="auto"?><userinput>cat > .mozconfig << "EOF"
|
||||
<literal># This file contains the options used in the Firefox build. You may
|
||||
# need to specify additional options for your specific build needs.
|
||||
<literal># This file contains the options used to build firefox on top
|
||||
# of xulrunner. If you do not wish to build xulrunner, make the changes
|
||||
# noted for a 'standalone browser'. You may need to specify additional
|
||||
# options for your specific build needs (if you are building 'standalone')
|
||||
# Use the information provided by running './configure --help' to
|
||||
# help you determine if you need to add any additional options.
|
||||
# Some additional options can be added by uncommenting the examples
|
||||
# in this file or adding options by inserting a line containing
|
||||
# 'ac_add_options --some-option-you-need'.
|
||||
|
||||
# build the browser
|
||||
ac_add_options --enable-application=browser
|
||||
|
||||
# Use the default settings specified in the source tree
|
||||
. $topsrcdir/browser/config/mozconfig
|
||||
@ -130,47 +166,79 @@ mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../firefox-build
|
||||
|
||||
# Specify the installation prefix. If you would prefer Firefox
|
||||
# installed in a different prefix, modify the line below to fit
|
||||
# your needs. You'll also need to modify some of the instructions in
|
||||
# your needs. You may also need to modify some of the instructions in
|
||||
# the BLFS book to point to your desired prefix.
|
||||
ac_add_options --prefix=/usr
|
||||
|
||||
# These options are used so that the Firefox binaries are linked to
|
||||
# the system-installed copies of the specified libraries instead of
|
||||
# the source tree code which may not be the most recent versions.
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --with-system-png
|
||||
ac_add_options --with-system-jpeg
|
||||
# Compile with a minimal level of optimization
|
||||
ac_add_options --enable-optimize
|
||||
|
||||
# (the --enable-system options)
|
||||
# comment this if you want to use whatever patched version of cairo
|
||||
# is in the shipped mozilla tree, together with the system headers
|
||||
ac_add_options --enable-system-cairo
|
||||
|
||||
# This option causes the installed binaries to have the official
|
||||
# Firefox name embedded in them. Due to license restrictions, you
|
||||
# may not distribute binaries created using this option.
|
||||
ac_add_options --enable-official-branding
|
||||
# comment this if you have not installed lcms - firefox will use
|
||||
# its own copy
|
||||
ac_add_options --enable-system-lcms
|
||||
|
||||
# This option is used to enable support for rendering SVG files in the
|
||||
# Firefox browser. Comment out the line to disable the option.
|
||||
ac_add_options --enable-svg
|
||||
# comment this if you have not installed sqlite, firefox will use
|
||||
# its own old copy
|
||||
ac_add_options --enable-system-sqlite
|
||||
|
||||
# This option is used so that the debugging symbols are removed from
|
||||
# the installed binaries during the installation process. Comment out
|
||||
# this option if you may have a need to retain the debugging symbols
|
||||
# in the installed binaries. Note that this can substantially
|
||||
# increase the size of the installed binaries.
|
||||
ac_add_options --enable-strip
|
||||
# (the --with-system options)
|
||||
# comment this if you did not build libjpeg before gtk+-2
|
||||
ac_add_options --with-system-jpeg
|
||||
|
||||
# This option is added so that test libraries and programs are not
|
||||
# built. These would only be required for debugging purposes.
|
||||
ac_add_options --disable-tests
|
||||
# These two options enable support for building Firefox with
|
||||
# system-installed versions of the Network Security Services (NSS)
|
||||
# and Netscape Portable Runtime (NSPR) libraries. We build these
|
||||
# as part of xulrunner, so we can use them here. For a standalone
|
||||
# firefox you might want to comment these.
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
|
||||
# comment this if you have not installed png with the apng patch
|
||||
ac_add_options --with-system-png
|
||||
|
||||
# uncomment this if you are building nspr as part of firefox
|
||||
#ac_add_options --with-pthreads
|
||||
|
||||
# zlib is in LFS
|
||||
ac_add_options --with-system-zlib
|
||||
|
||||
# (options to disable parts of the package)
|
||||
# This option is used to disable the a11y support in the Firefox
|
||||
# binaries. Comment out this option if you require a11y support.
|
||||
ac_add_options --disable-accessibility
|
||||
|
||||
# uncomment this if you did not build curl
|
||||
#ac_add_options --disable-crashreporter
|
||||
|
||||
# comment this if you have built dbus-glib
|
||||
ac_add_options --disable-dbus
|
||||
|
||||
# comment this if you have gnome-vfs and libgnomeui, and wish to
|
||||
# integrate firefox into your gnome desktop
|
||||
ac_add_options --disable-gnomevfs
|
||||
|
||||
# This option is added so that the Mozilla Installer program is not
|
||||
# built or installed. The program is not required for a BLFS
|
||||
# installation of Firefox.
|
||||
ac_add_options --disable-installer
|
||||
|
||||
# This option is used to disable the a11y support in the Firefox
|
||||
# binaries. Comment out this option if you require a11y support.
|
||||
ac_add_options --disable-accessibility
|
||||
# The mochitest is a separate test feature and has caused problems
|
||||
# in the past.
|
||||
ac_add_options --disable-mochitest
|
||||
|
||||
# This option is added so that test libraries and programs are not
|
||||
# built. These would only be required for debugging purposes.
|
||||
ac_add_options --disable-tests
|
||||
|
||||
# The updater is not useful if you build from source.
|
||||
ac_add_options --disable-updater
|
||||
|
||||
# (options to add extra parts of the package)
|
||||
# This option is used to enable source tree included LDAP support in
|
||||
# the Firefox binaries.
|
||||
###################################################################
|
||||
@ -178,110 +246,69 @@ ac_add_options --disable-accessibility
|
||||
# NOTE: You must uncomment this option if there is any chance of
|
||||
# compiling the OpenOffice package from source code using this copy
|
||||
# of Firefox for your Mozilla support.
|
||||
# This has NOT been tested, current versions of OpenOffice are
|
||||
# assumed not to compile agaisnt this version of xulrunner!
|
||||
#
|
||||
###################################################################
|
||||
#ac_add_options --enable-ldap
|
||||
|
||||
# This option causes the installed binaries to have the official
|
||||
# Firefox name embedded in them. Due to license restrictions, you
|
||||
# may not distribute binaries created using this option. It also
|
||||
# means you get a popup EULA when you first run firefox.
|
||||
# If you disable this, the browser will call itself Minefield.
|
||||
ac_add_options --enable-official-branding
|
||||
|
||||
# use the anti-phishing blacklist
|
||||
ac_add_options --enable-safe-browsing
|
||||
|
||||
# This option is used so that the debugging symbols are removed from
|
||||
# the installed binaries during the installation process. Comment out
|
||||
# this option if you may have a need to retain the debugging symbols
|
||||
# in the installed binaries (the resulting binaries will be about 7MB
|
||||
# bigger).
|
||||
ac_add_options --enable-strip
|
||||
|
||||
# Uncomment this option if you desire support for dual-monitor
|
||||
# display of Firefox using the X-Window Xinerama libraries.
|
||||
#ac_add_options --enable-xinerama
|
||||
|
||||
# These two options enable support for building Firefox with
|
||||
# system-installed versions of the Network Security Services (NSS)
|
||||
# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
|
||||
# lines to enable support for system-installed NSS/NSPR.
|
||||
#ac_add_options --with-system-nss
|
||||
#ac_add_options --with-system-nspr
|
||||
|
||||
# Complex scripts such as Thai can only be rendered in Firefox with the
|
||||
# help of Pango. This option significantly slows rendering, so only use
|
||||
# it if necessary.
|
||||
#ac_add_options --enable-pango
|
||||
|
||||
# ('with' options)
|
||||
# This option identifies the default binary directory of the Firefox
|
||||
# installation and is used to locate Firefox's installed files. This
|
||||
# option is not required for end-user browsing, and is only used for
|
||||
# development purposes.
|
||||
#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;</literal>
|
||||
|
||||
# Point to the xulrunner libraries - comment this for a standalone browser
|
||||
ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;
|
||||
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>Compile <application>Firefox</application> by issuing the
|
||||
following commands:</para>
|
||||
|
||||
<screen><userinput>cat >> layout/build/Makefile.in << "EOF" &&
|
||||
ifdef MOZ_ENABLE_CANVAS
|
||||
EXTRA_DSO_LDOPTS += $(XLDFLAGS) -lX11 -lXrender
|
||||
endif
|
||||
EOF
|
||||
|
||||
sed -i "s/^ enum$/& xptinfo_enum_1/" \
|
||||
xpcom/reflect/xptinfo/public/xptinfo.h &&
|
||||
|
||||
make -f client.mk build</userinput></screen>
|
||||
<screen><userinput>make -f client.mk build</userinput></screen>
|
||||
|
||||
<para>This package does not come with a test suite.</para>
|
||||
|
||||
<para>Now, as the <systemitem class="username">root</systemitem> user,
|
||||
install the package:</para>
|
||||
|
||||
<screen role="root"><userinput>make -f client.mk install &&
|
||||
<screen role="root"><userinput>make -f client.mk install</userinput></screen>
|
||||
|
||||
install -v -m755 -d /usr/lib/firefox-&firefox-version;/chrome/icons/default &&
|
||||
ln -v -s ../../../icons/default.xpm \
|
||||
/usr/lib/firefox-&firefox-version;/chrome/icons/default &&
|
||||
<para>If you are building firefox on xulrunner, as the
|
||||
<systemitem class="username">root</systemitem> user enter the following
|
||||
symbolic link:</para>
|
||||
|
||||
chown -v -R root:root \
|
||||
/usr/lib/firefox-&firefox-version;/extensions/inspector@mozilla.org/*</userinput></screen>
|
||||
|
||||
<para>If you enabled LDAP support in the <application>Firefox</application>
|
||||
build, install some additional interface headers as the
|
||||
<systemitem class="username">root</systemitem> user:</para>
|
||||
|
||||
<screen role="root"><userinput>install -v -m644 ../firefox-build/dist/public/ldap-private/* \
|
||||
/usr/include/firefox-&firefox-version;/ldap</userinput></screen>
|
||||
|
||||
<para>If you built <application>Firefox</application> utilizing
|
||||
system-installed NSS and NSPR libraries, the
|
||||
<filename>firefox-ns*.pc</filename> <application>pkgconfig</application>
|
||||
files are broken as they point to the wrong directories where the actual
|
||||
libraries and interface headers are located. Issue the following commands
|
||||
as the <systemitem class="username">root</systemitem> user to replace the
|
||||
broken files with symbolic links to known good files:</para>
|
||||
|
||||
<screen role="root"><userinput>ln -v -sf nss.pc /usr/lib/pkgconfig/firefox-nss.pc &&
|
||||
ln -v -sf nspr.pc /usr/lib/pkgconfig/firefox-nspr.pc</userinput></screen>
|
||||
|
||||
<para>If you did <emphasis role="strong">NOT</emphasis> build
|
||||
<application>Firefox</application> utilizing system-installed NSS and
|
||||
NSPR libraries, issue the following commands as the
|
||||
<systemitem class="username">root</systemitem> user to install the NSS
|
||||
interface headers:</para>
|
||||
|
||||
<screen role="root"><userinput>install -v -m755 -d /usr/include/firefox-&firefox-version;/nss &&
|
||||
cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h \
|
||||
/usr/include/firefox-&firefox-version;/nss</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>You should run <command>/usr/bin/firefox</command> once as the
|
||||
<systemitem class="username">root</systemitem> user (or any user with
|
||||
write privileges) to create some necessary additional files in the
|
||||
<filename class='directory'>/usr</filename> hierarchy.</para>
|
||||
</note>
|
||||
<screen role="root"><userinput>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins
|
||||
/usr/lib/firefox-$firefox-version;/plugins</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<para><command>'EXTRA_DSO_LDOPTS' += -lX11 -lXrender ...</command>:
|
||||
Building the layout backend will break when the canvas element is enabled
|
||||
without adding these two required libraries.</para>
|
||||
|
||||
<para><command>sed -i "s/^ enum$/& xptinfo_enum_1/" ...</command>:
|
||||
This command is used to fix an anonymous enum in an external/public
|
||||
interface header file.</para>
|
||||
|
||||
<para><command>make -f client.mk ...</command>: Mozilla products are
|
||||
packaged to allow the use of a configuration file which can be used to
|
||||
pass the configuration settings to the <command>configure</command>
|
||||
@ -292,15 +319,22 @@ cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h \
|
||||
<command>configure</command> script and compiles the package or installs
|
||||
the package.</para>
|
||||
|
||||
<para><command>install -v -m755 -d .../chrome/icons/default</command> and
|
||||
<!--<para><command>install -v -m755 -d .../chrome/icons/default</command> and
|
||||
<command>ln -v -s ../../../icons/default.xpm ...</command>: These two
|
||||
commands are used to create a symlink in the required directory so that
|
||||
the proper icon is displayed in the taskbar and when
|
||||
<application>Firefox</application> windows are minimized.</para>
|
||||
<application>Firefox</application> windows are minimized.</para> -->
|
||||
|
||||
<para><command>chown -v -R root:root ...</command>: This command changes
|
||||
the ownership of some installed files to more appropriate user:group
|
||||
names.</para>
|
||||
<para><command>ln -s /usr/lib/xulrunner-&xulrunner-version;/plugins
|
||||
/usr/lib/firefox-$firefox-version;/plugins</command>:
|
||||
<application>Firefox</application> looks for plugins in its own directory,
|
||||
but when building on <application>xulrunner</application> the plugins were
|
||||
installed by that package.</para>
|
||||
|
||||
<tip>
|
||||
<para>If you upgrade firefox, ensure that any additional plugins are moved to
|
||||
the plugin directory of the new version.</para>
|
||||
</tip>
|
||||
|
||||
</sect2>
|
||||
|
||||
@ -369,7 +403,8 @@ cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h \
|
||||
|
||||
<para>Some packages install Mozilla plugins into the default system-wide
|
||||
directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
|
||||
If desired, create symbolic links in the <application>Firefox</application>
|
||||
If you have not already done this for <application>Xulrunner</application>
|
||||
create symbolic links in the <application>Firefox</application>
|
||||
plugin directory
|
||||
<filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
|
||||
to the files in the default plugin directory (you should link to the actual
|
||||
|
Loading…
Reference in New Issue
Block a user