source: xsoft/graphweb/firefox.xml@ fcd66369

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since fcd66369 was fcd66369, checked in by Igor Živković <igor@…>, 11 years ago

add option to install firefox and thunderbird with system cairo

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

  • Property mode set to 100644
File size: 16.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
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">
11 <!ENTITY firefox-md5sum "0fa25582fb5e0fba37c9f1add8370af2">
12 <!ENTITY firefox-size "111 MB">
13 <!ENTITY firefox-buildsize "4.9 GB (48 MB installed) (or 794 MB and 4.6 MB if using Xulrunner)">
14 <!ENTITY firefox-time "58 SBU (0.31 SBU if using Xulrunner)">
15]>
16
17<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
18 <?dbhtml filename="firefox.html" ?>
19
20 <sect1info>
21 <othername>$LastChangedBy$</othername>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>Firefox-&firefox-version;</title>
26
27 <indexterm zone="firefox">
28 <primary sortas="a-Firefox">Firefox</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to Firefox</title>
33
34 <para>
35 <application>Firefox</application> is a stand-alone browser based on the
36 <application>Mozilla</application> codebase.
37 </para>
38
39 &lfs74_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&firefox-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&firefox-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &firefox-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &firefox-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &firefox-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &firefox-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing='compact'>
77 <listitem>
78 <para>Recommended patch: <ulink
79 url="&patch-root;/firefox-&firefox-version;-search_box_fix-1.patch"/></para>
80 </listitem>
81 <listitem>
82 <para>Optional patch: <ulink
83 url="&patch-root;/firefox-&firefox-version;-system_cairo-1.patch"/></para>
84 </listitem>
85 </itemizedlist>
86
87 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
88
89 <bridgehead renderas="sect4">Required</bridgehead>
90 <para role="required">
91 <xref linkend="alsa-lib"/>,
92 <xref linkend="gtk2"/>,
93 <xref linkend="zip"/>, and
94 <xref linkend="unzip"/>
95 </para>
96
97 <bridgehead renderas="sect4">Recommended</bridgehead>
98 <para role="recommended">
99 <xref linkend="libevent"/>,
100 <xref linkend="libvpx"/>,
101 <xref linkend="nspr"/>,
102 <xref linkend="nss"/>,
103 <xref linkend="sqlite"/> and
104 <xref linkend="yasm"/>
105 </para>
106
107 <note>
108 <para>
109 If you don't install recommended dependencies,
110 then internal copies of those packages will
111 be used. They might be tested to work, but
112 they can be out of date or contain security
113 holes.
114 </para>
115 </note>
116
117 <bridgehead renderas="sect4">Optional</bridgehead>
118 <para role="optional">
119 <xref linkend="curl"/>,
120 <xref linkend="dbus-glib"/>,
121 <xref linkend="doxygen"/>,
122 <xref linkend="gst-plugins-base"/>,
123 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
124 <xref linkend="libnotify"/>,
125 <xref linkend="startup-notification"/>,
126 <xref linkend="wget"/>,
127 <xref linkend="wireless_tools"/> and
128 <xref linkend="xulrunner"/>
129 </para>
130
131 <para condition="html" role="usernotes">
132 User Notes: <ulink url="&blfs-wiki;/firefox"/>
133 </para>
134 </sect2>
135
136 <sect2 role="installation">
137 <title>Installation of Firefox</title>
138
139 <para>
140 There are two major methods for building
141 <application>Firefox</application>. In the standard case, the entire suite
142 of libraries is built and installed. In the other, most of the system is
143 built using the procedures found in <xref linkend="xulrunner"/>. This is
144 advantageous if you are planning to build other related packages such as
145 <xref linkend="icedtea-web"/>. With either build method, you need to run
146 the main build procedure below with the appropriate options in the
147 <filename>mozconfig</filename> file. Then use the appropriate install
148 instructions depending on the chosen build method.
149 </para>
150
151 <para>
152 The configuration of <application>Firefox</application> is accomplished by
153 creating a <filename>mozconfig</filename> file containing the desired
154 configuration options. A default <filename>mozconfig</filename> is created
155 below. To see the entire list of available configuration options (and an
156 abbreviated description of each one), issue <command>./configure
157 --help</command>. You may also wish to review the entire file and
158 uncomment any other desired options.
159 Create the file by issuing the following command:
160 </para>
161
162<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
163# If you have a multicore machine, firefox will now use all the cores by
164# default. Exceptionally, you can reduce the number of cores, e.g. to 1,
165# by uncommenting the next line and setting a valid number of CPU cores.
166#mk_add_options MOZ_MAKE_FLAGS="-j1"
167
168# If you have installed DBus-Glib comment out this line:
169ac_add_options --disable-dbus
170
171# If you have installed wireless-tools comment out this line:
172ac_add_options --disable-necko-wifi
173
174# If you have installed libnotify comment out this line:
175ac_add_options --disable-libnotify
176
177# Uncomment these lines if you have installed optional dependencies:
178# GStreamer is necessary for H.264 video playback in HTML5 Video Player
179#ac_add_options --enable-gstreamer
180#ac_add_options --enable-system-hunspell
181#ac_add_options --enable-startup-notification
182
183# Uncomment this line if you compiled Cairo with --enable-tee switch and want
184# to use it instead of the bundled one:
185#ac_add_options --enable-system-cairo
186
187# If you have not installed Yasm then uncomment this line:
188#ac_add_options --disable-webm
189
190# If you have installed xulrunner uncomment the next two ac_add_options lines
191# and check that the sdk will be set by running pkg-config in a subshell
192# and has not become hardcoded or empty when you created this file
193#ac_add_options --with-system-libxul
194#ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)
195
196# Comment out following options if you have not installed
197# recommended dependencies:
198ac_add_options --enable-system-sqlite
199ac_add_options --with-system-libevent
200ac_add_options --with-system-libvpx
201ac_add_options --with-system-nspr
202ac_add_options --with-system-nss
203
204# It is recommended not to touch anything below this line
205ac_add_options --prefix=/usr
206ac_add_options --enable-application=browser
207
208ac_add_options --disable-crashreporter
209ac_add_options --disable-installer
210ac_add_options --disable-updater
211ac_add_options --disable-debug
212ac_add_options --disable-tests
213
214ac_add_options --enable-optimize
215ac_add_options --enable-strip
216ac_add_options --enable-install-strip
217
218ac_add_options --enable-gio
219ac_add_options --enable-official-branding
220ac_add_options --enable-safe-browsing
221ac_add_options --enable-url-classifier
222
223ac_add_options --enable-system-ffi
224ac_add_options --enable-system-pixman
225
226ac_add_options --with-pthreads
227
228ac_add_options --with-system-bz2
229ac_add_options --with-system-jpeg
230ac_add_options --with-system-png
231ac_add_options --with-system-zlib
232
233mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
234EOF</userinput></screen>
235
236 <para>
237 If you are building against an already installed <application>Xulrunner</application>
238 apply the patch:
239 </para>
240
241<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-search_box_fix-1.patch
242</userinput></screen>
243
244 <para>
245 If you are building against a system-installed <application>Cairo</application>
246 apply the patch:
247 </para>
248
249<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-system_cairo-1.patch
250</userinput></screen>
251
252 <para>
253 Compile <application>Firefox</application> by issuing the following
254 commands:
255 </para>
256
257<screen><userinput>sed -i 's@ ""@@' browser/base/Makefile.in &amp;&amp;
258make -f client.mk</userinput></screen>
259
260 <para>
261 This package does not come with a test suite.
262 </para>
263
264 <para>
265 If you have <emphasis>not</emphasis> linked
266 <application>Firefox</application> against an installed
267 <application>Xulrunner</application>:
268 </para>
269
270<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
271
272 <para>
273 Now, as the <systemitem class="username">root</systemitem> user, if you
274 have <emphasis>not</emphasis> linked <application>Firefox</application>
275 against an installed <application>Xulrunner</application>, install the
276 package:
277 </para>
278
279<screen role="root"><userinput>rm -rf /usr/lib/firefox-&firefox-version; &amp;&amp;
280mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
281
282tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
283 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
284chown -R -v root:root /usr/lib/firefox-&firefox-version; &amp;&amp;
285
286ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
287
288mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
289ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
290
291 <para>
292 If you <emphasis>have</emphasis> linked against an already installed
293 <application>Xulrunner</application>, as the
294 <systemitem class="username">root</systemitem> user:
295 </para>
296
297<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
298ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
299ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
300
301mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
302ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
303
304 <bridgehead renderas="sect3" id="npapi-firefox" xreflabel="Firefox">
305 NPAPI Headers
306 </bridgehead>
307
308 <para>
309 The above instructions just install the parts you need to run
310 <application>Firefox</application>. If you want to compile
311 <xref linkend="gnash"/>, the open source version of Flash, copy some
312 headers that Gnash needs into /usr/include, as the
313 <systemitem class="username">root</systemitem> user:
314 </para>
315
316<screen role="root"><userinput>rm -rf /usr/include/npapi &amp;&amp;
317mkdir -v /usr/include/npapi &amp;&amp;
318cp -v dom/plugins/base/*.h /usr/include/npapi</userinput></screen>
319
320 <note>
321 <para>
322 You don't need to install the headers if you have built
323 <application>Firefox</application> against
324 <application>Xulrunner</application>.
325 </para>
326 </note>
327
328 </sect2>
329
330 <sect2 role="commands">
331 <title>Command Explanations</title>
332
333 <para>
334 <command>sed -i 's@ ""@@' browser/base/Makefile.in</command>: This sed
335 removes an unprintable control character from the title bar.
336 </para>
337
338 <para>
339 <command>make -f client.mk ...</command>: Mozilla products are packaged to
340 allow the use of a configuration file which can be used to pass the
341 configuration settings to the <command>configure</command> command.
342 <command>make</command> uses the <filename>client.mk</filename> file to
343 get initial configuration and setup parameters.
344 </para>
345
346 <para>
347 <command>make -C firefox-build-dir/browser/installer</command>: this
348 creates a <application>Firefox</application> tarball similar to the ones
349 you can download from Mozilla.
350 </para>
351
352 <para>
353 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
354 <application>Firefox</application> in /usr/lib. The
355 <option>--strip-components=1</option> option removes the leading
356 'firefox' directory from the filenames, allowing us to untar it
357 into a versioned directory.
358 </para>
359
360 <para>
361 <command>make -C firefox-build-dir install</command>: This runs
362 <command>make install</command> in firefox-build-dir.
363 </para>
364
365 <para>
366 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
367 to the <command>firefox</command> executable in your <envar>PATH</envar>
368 variable.
369 </para>
370
371 <para>
372 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
373 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
374 exists.
375 </para>
376
377 <para>
378 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
379 command creates a symbolic link to
380 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
381 really needed, as <application>Firefox</application> checks
382 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
383 default, but the symbolic link is made to keep all the plugins installed in
384 one folder.
385 </para>
386
387 </sect2>
388
389 <sect2 role="configuration">
390 <title>Configuring Firefox</title>
391
392 <para>
393 If you deleted the <option>--disable-webm</option> option from your
394 <filename>mozconfig</filename>, your <application>Firefox</application>
395 can play most YouTube videos without the need for the flash plugin. To
396 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
397 on 'Join the HTML5 Trial' (needs cookies enabled).
398 </para>
399
400 <para>
401 If you use a desktop environment like <application>Gnome</application> or
402 <application>KDE</application> you may like to create a
403 <filename>firefox.desktop</filename> file so that
404 <application>Firefox</application> appears in the panel's menus. If you
405 didn't enable startup-notification in your mozconfig change the
406 StartupNotify line to false. As the
407 <systemitem class="username">root</systemitem> user:
408 </para>
409
410<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
411mkdir -pv /usr/share/pixmaps &amp;&amp;
412
413cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
414<literal>[Desktop Entry]
415Encoding=UTF-8
416Name=Firefox Web Browser
417Comment=Browse the World Wide Web
418GenericName=Web Browser
419Exec=firefox %u
420Terminal=false
421Type=Application
422Icon=firefox
423Categories=GNOME;GTK;Network;WebBrowser;
424MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
425StartupNotify=true</literal>
426EOF
427
428ln -sfv /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
429 /usr/share/pixmaps/firefox.png</userinput></screen>
430
431 </sect2>
432
433 <sect2 role="content">
434 <title>Contents</title>
435
436 <segmentedlist>
437 <segtitle>Installed Programs</segtitle>
438 <segtitle>Installed Libraries</segtitle>
439 <segtitle>Installed Directories</segtitle>
440
441 <seglistitem>
442 <seg>
443 firefox
444 </seg>
445 <seg>
446 Numerous libraries, browser components, plugins, extensions, and
447 helper modules installed in
448 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
449 </seg>
450 <seg>
451 /usr/include/npapi and
452 /usr/lib/firefox-&firefox-version;
453 </seg>
454 </seglistitem>
455 </segmentedlist>
456
457 <variablelist>
458 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
459 <?dbfo list-presentation="list"?>
460 <?dbhtml list-presentation="table"?>
461
462 <varlistentry id="firefox-prog">
463 <term><command>firefox</command></term>
464 <listitem>
465 <para>
466 is a <application>GTK+ 2</application> internet browser that uses the
467 Mozilla Gecko rendering engine.
468 </para>
469 <indexterm zone="firefox firefox-prog">
470 <primary sortas="b-firefox">firefox</primary>
471 </indexterm>
472 </listitem>
473 </varlistentry>
474
475 </variablelist>
476
477 </sect2>
478
479</sect1>
Note: See TracBrowser for help on using the repository browser.