source: xsoft/graphweb/firefox.xml@ 350532c6

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 350532c6 was bc6b635, checked in by Andrew Benton <andy@…>, 13 years ago

Firefox gcc-4.7 patch

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9784 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 14.4 KB
RevLine 
[f939f05]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[f939f05]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[44a8f24e]7 <!ENTITY firefox-download-http
8 "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
9 <!ENTITY firefox-download-ftp
10 "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
[c1ae13c]11 <!ENTITY firefox-md5sum "4b07acf47857aff72776d805409cdd1b">
12 <!ENTITY firefox-size "75 MB">
[eb148eb]13 <!ENTITY firefox-buildsize "3 GB (33 MB installed)">
[d2e21cb0]14 <!ENTITY firefox-time "24 SBU (or 0.3 SBU if you're building against
[01ce75f8]15 an installed Xulrunner)">
[f939f05]16]>
17
[ffe47ca2]18<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
[b81991e1]19 <?dbhtml filename="firefox.html" ?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>Firefox-&firefox-version;</title>
27
28 <indexterm zone="firefox">
29 <primary sortas="a-Firefox">Firefox</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to Firefox</title>
34
[c1ae13c]35 <para>
36 <application>Firefox</application> is a stand-alone browser based on the
37 <application>Mozilla</application> codebase.
38 </para>
[b81991e1]39
[a66801a]40 &lfs71_checked;
[76ae9a2]41
[b81991e1]42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
[c1ae13c]45 <para>
46 Download (HTTP): <ulink url="&firefox-download-http;"/>
47 </para>
[b81991e1]48 </listitem>
49 <listitem>
[c1ae13c]50 <para>
51 Download (FTP): <ulink url="&firefox-download-ftp;"/>
52 </para>
[b81991e1]53 </listitem>
54 <listitem>
[c1ae13c]55 <para>
56 Download MD5 sum: &firefox-md5sum;
57 </para>
[b81991e1]58 </listitem>
59 <listitem>
[c1ae13c]60 <para>
61 Download size: &firefox-size;
62 </para>
[b81991e1]63 </listitem>
64 <listitem>
[c1ae13c]65 <para>
66 Estimated disk space required: &firefox-buildsize;
67 </para>
[b81991e1]68 </listitem>
69 <listitem>
[c1ae13c]70 <para>
71 Estimated build time: &firefox-time;
72 </para>
[b81991e1]73 </listitem>
74 </itemizedlist>
75
[bc6b635]76 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
77 <itemizedlist spacing="compact">
78 <listitem>
79 <para>
80 Required patch if you're using <application>GCC-4.7</application>:
81 <ulink url="&patch-root;/firefox-&firefox-version;_gcc-4.7-1.patch"/>
82 </para>
83 </listitem>
84 </itemizedlist>
85
[b81991e1]86 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Required</bridgehead>
[c1ae13c]89 <para role="required">
90 <xref linkend="alsa-lib"/>,
91 <xref linkend="gtk2"/>,
92 <xref linkend="zip"/> and
93 <xref linkend="unzip"/>.
94 </para>
95
96 <para>
97 Note: <application>libjpeg</application> and
98 <application>libpng</application> (patched for apng support) should have
99 been installed before <application>gdk-pixbuf</application> and should
100 exist on your system. If for some strange reason you haven't installed
101 them, you should remove the <option>--with-system-jpeg</option> and
102 <option>--with-system-png</option> options from the
103 <filename>mozconfig</filename> file created below.
104 </para>
[5a13c45]105
[1555d3d]106 <bridgehead renderas="sect4">Recommended</bridgehead>
[c1ae13c]107 <para role="recommended">
108 <xref linkend="yasm"/> or <xref linkend="libvpx"/>
109 (to allow <application>Firefox</application> to play webm videos).
110 </para>
[1555d3d]111
[b81991e1]112 <bridgehead renderas="sect4">Optional</bridgehead>
[c1ae13c]113 <para role="optional">
114 <xref linkend="dbus-glib"/>,
115 <xref linkend="startup-notification"/>,
116 <xref linkend="sqlite"/>,
117 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
118 <ulink url="http://libevent.org/">Libevent</ulink>,
119 <xref linkend="doxygen"/>,
120 <xref linkend="gnome-vfs"/> and
121 <xref linkend="libgnomeui"/> (for integration with the old version of
122 <application>Gnome</application>),
123 <xref linkend="libnotify"/>,
124 <xref linkend="nspr"/>, <xref linkend="nss"/>,
125 <xref linkend="xulrunner"/> (linking against an installed xulrunner makes
126 Firefox about 32 MB smaller, which is trivial compared to the size of
127 xulrunner),
128 <xref linkend="wireless_tools"/>,
129 <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing
130 the jemalloc code) and
131 <xref linkend="wget"/>
132 </para>
133
134 <para condition="html" role="usernotes">
135 User Notes: <ulink url="&blfs-wiki;/firefox"/>
136 </para>
[b81991e1]137 </sect2>
138
139 <sect2 role="installation">
140 <title>Installation of Firefox</title>
141
[c1ae13c]142 <para>
143 The configuration of <application>Firefox</application> is accomplished by
144 creating a <filename>mozconfig</filename> file containing the desired
145 configuration options. A default <filename>mozconfig</filename> is created
146 below. To see the entire list of available configuration options (and an
147 abbreviated description of each one), issue <command>./configure
148 --help</command>. You may also wish to review the entire file and
149 uncomment any other desired options. Create the file by issuing the
150 following command:
151 </para>
[5a13c45]152
[f0dcb37d]153<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
[89c9c781]154# If you have a multicore machine you can speed up the build by running
[41f2e90]155# several jobs at once, but if you have a single core, delete this line:
156mk_add_options MOZ_MAKE_FLAGS="-j4"
[aed37975]157
[1555d3d]158# If you have installed Yasm delete this option:
159ac_add_options --disable-webm
160
[e144d87]161# If you have installed DBus-Glib delete this option:
[74eaf91]162ac_add_options --disable-dbus
[aed37975]163
[e144d87]164# If you have installed wireless-tools delete this option:
[6d1bf0e]165ac_add_options --disable-necko-wifi
166
[e144d87]167# If you have installed libnotify delete this option:
168ac_add_options --disable-libnotify
169
[89c9c781]170# If you have installed xulrunner uncomment these two lines:
171# ac_add_options --with-system-libxul
172# ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;
173
[5eda319]174# Uncomment these if you have installed them:
[eb148eb]175# ac_add_options --with-system-nspr
176# ac_add_options --with-system-nss
[41f2e90]177# ac_add_options --enable-system-sqlite
178# ac_add_options --with-system-libvpx
179# ac_add_options --enable-startup-notification
[a0ace670]180# ac_add_options --enable-system-hunspell
[7133ec2]181# ac_add_options --with-system-libevent
[dc8a9549]182
[41f2e90]183mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
[c84d97ad]184ac_add_options --enable-official-branding
[a818e3c]185ac_add_options --prefix=/usr
[c84d97ad]186
[d2e21cb0]187# The rest of these options have no effect if you're
[c84d97ad]188# building against an already installed xulrunner:
[a0ace670]189ac_add_options --with-pthreads
[41f2e90]190ac_add_options --enable-system-ffi
[a0ace670]191ac_add_options --with-system-jpeg
192ac_add_options --with-system-png
[41f2e90]193ac_add_options --enable-system-cairo
[a0ace670]194ac_add_options --with-system-zlib
[41f2e90]195ac_add_options --enable-shared
196ac_add_options --disable-static
197ac_add_options --disable-debug
198ac_add_options --disable-crashreporter
[5a13c45]199ac_add_options --disable-installer
[aed37975]200ac_add_options --disable-updater
[89c9c781]201ac_add_options --disable-tests
[41f2e90]202EOF</userinput></screen>
[aed37975]203
[c1ae13c]204 <para>
205 Compile <application>Firefox</application> by issuing the following
206 commands:
207 </para>
[5a13c45]208
[bc6b635]209<screen><userinput>patch -p1 &lt; ../firefox-&firefox-version;_gcc-4.7-1.patch &amp;&amp;
210sed -i 's#VPX_CODEC_USE_INPUT_PARTITION#VPX_CODEC_USE_INPUT_FRAGMENTS#' configure &amp;&amp;
[f0dcb37d]211sed -i 's# ""##' browser/base/Makefile.in &amp;&amp;
[f0545c8]212make -f client.mk</userinput></screen>
[bccbdaea]213
[c1ae13c]214 <para>
215 This package does not come with a test suite.
216 </para>
[01ce75f8]217
[c1ae13c]218 <para>
219 If you have <emphasis>not</emphasis> linked
220 <application>Firefox</application> against an installed
221 <application>Xulrunner</application>:
222 </para>
[01ce75f8]223
[c1ae13c]224<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
[4a8e9f7]225
[c1ae13c]226 <para>
227 Now, as the <systemitem class="username">root</systemitem> user, if you
228 have <emphasis>not</emphasis> linked <application>Firefox</application>
229 against an installed <application>Xulrunner</application>, install the
230 package:
231 </para>
[5a13c45]232
[1f23aa4f]233<screen role="root"><userinput>mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
[5c79a939]234tar -xvf firefox-build-dir/dist/firefox-*.tar.bz2 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
[1f23aa4f]235ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin/firefox &amp;&amp;
[41f2e90]236mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
[1f23aa4f]237ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
238chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
[01ce75f8]239
[c1ae13c]240 <para>
241 If you <emphasis>have</emphasis> linked against an already installed
242 <application>Xulrunner</application>, as the
243 <systemitem class="username">root</systemitem> user:
244 </para>
[01ce75f8]245
246<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
247rm /usr/bin/firefox &amp;&amp;
248cat &gt; /usr/bin/firefox &lt;&lt; "EOF" &amp;&amp;
249#!/bin/bash
250/usr/lib/xulrunner-&xulrunner-version;/xulrunner /usr/lib/firefox-&firefox-version;/application.ini "${@}"
251EOF
252chmod 755 /usr/bin/firefox &amp;&amp;
253mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
254ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
255chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
[b81991e1]256 </sect2>
257
[361df3e]258 <sect2 role="commands">
259 <title>Command Explanations</title>
260
[c1ae13c]261 <para>
262 <command>sed -i 's#VPX_CODEC_USE_INPUT_PARTITION ...</command>: This fixes
263 <application>Firefox's</application> <command>configure</command>
264 script to properly detect <xref linkend="libvpx"/>. It is not needed if
265 you have libvpx-v0.9.7 or earlier installed or if you've not installed
266 <application>Libvpx</application>.
267 </para>
268
269 <para>
270 <command>sed -i 's# ""##' browser/base/Makefile.in</command>: This sed
271 removes an unprintable control character from the title bar.
272 </para>
273
274 <para>
275 <command>make -f client.mk ...</command>: Mozilla products are packaged to
276 allow the use of a configuration file which can be used to pass the
277 configuration settings to the <command>configure</command> command.
278 <command>make</command> uses the <filename>client.mk</filename> file to
279 get initial configuration and setup parameters.
280 </para>
281
282 <para>
283 <command>make -C firefox-build-dir/browser/installer</command>: this
284 creates a <application>Firefox</application> tarball similar to the ones
285 you can download from Mozilla.
286 </para>
287
288 <para>
289 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
290 <application>Firefox</application> in /usr/lib. The
291 <option>--strip-components=1</option> option removes the leading
292 'firefox' directory from the filenames, allowing us to untar it
293 into a versioned directory. Untaring it (instead of running make install)
294 prevents it installing
295 <filename class="directory">/usr/lib/firefox-devel-&firefox-version;</filename>
296 which contains about 430 MB of files. If you need any of those files,
297 they're in <xref linkend="xulrunner"/>
298 </para>
299
300 <para>
301 <command>make -C firefox-build-dir install</command>: This runs
302 <command>make install</command> in firefox-build-dir.
303 </para>
304
305 <para>
306 <command>ln -sfv ... /usr/bin/firefox</command>: this puts a symbolic link
307 to the <command>firefox</command> executable in your ${PATH}.
308 </para>
309
310 <para>
311 <command>mkdir -p /usr/lib/mozilla/plugins</command>: this checks
312 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
313 exists.
314 </para>
315
316 <para>
317 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: this
318 makes a symbolic link to
319 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
320 really needed, <application>Firefox</application> checks
321 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
322 default, we make the symbolic link to keep all the plugins installed in
323 one folder.
324 </para>
[b81991e1]325 </sect2>
326
[88cec02]327 <sect2 role="configuration">
328 <title>Configuring Firefox</title>
329
[c1ae13c]330 <para>
331 If you deleted the <option>--disable-webm</option> option from your
332 <filename>mozconfig</filename>, your <application>Firefox</application>
333 can play most YouTube videos without the need for the flash plugin. To
334 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
335 on 'Join the HTML5 Trial' (needs cookies enabled).
336 </para>
337
338 <para>
339 If you use a desktop environment like <application>Gnome</application> or
340 <application>KDE</application> you may like to create a
341 <filename>firefox.desktop</filename> file so that
342 <application>Firefox</application> appears in the panel's menus. If you
343 didn't enable startup-notification in your mozconfig change the
344 StartupNotify line to false. As the
345 <systemitem class="username">root</systemitem> user:
346 </para>
[31de6e7]347
348<screen role="root"><userinput>cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF"
349[Desktop Entry]
350Encoding=UTF-8
351Type=Application
352Name=Firefox
353Comment=Browse The Web
354Icon=firefox
355Exec=firefox
[5e2fb70]356Categories=Network;GTK;Application;Browser;WebBrowser;
[31de6e7]357StartupNotify=true
358Terminal=false
359EOF
360ln -sv -f /usr/lib/firefox-&firefox-version;/icons/mozicon128.png /usr/share/pixmaps/firefox.png</userinput></screen>
[88cec02]361 </sect2>
362
[b81991e1]363 <sect2 role="content">
364 <title>Contents</title>
365
366 <segmentedlist>
367 <segtitle>Installed Programs</segtitle>
368 <segtitle>Installed Libraries</segtitle>
369 <segtitle>Installed Directories</segtitle>
370
371 <seglistitem>
[dc8a9549]372 <seg>firefox</seg>
[c1ae13c]373 <seg>
374 Numerous libraries, browser components, plugins, extensions, and
375 helper modules installed in
376 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>.
377 </seg>
[1f23aa4f]378 <seg>/usr/lib/firefox-&firefox-version;</seg>
[b81991e1]379 </seglistitem>
380 </segmentedlist>
381
382 <variablelist>
383 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
384 <?dbfo list-presentation="list"?>
385 <?dbhtml list-presentation="table"?>
386
387 <varlistentry id="firefox-prog">
388 <term><command>firefox</command></term>
389 <listitem>
[c1ae13c]390 <para>
391 is a gtk2 internet browser that uses the Gecko rendering engine.
392 </para>
[b81991e1]393 <indexterm zone="firefox firefox-prog">
394 <primary sortas="b-firefox">firefox</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398 </variablelist>
399 </sect2>
[4d37129]400</sect1>
Note: See TracBrowser for help on using the repository browser.