source: xsoft/graphweb/seamonkey.xml@ 5b0a978e

10.0 10.1 11.0 11.1 11.2 lazarus plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since 5b0a978e was 5b0a978e, checked in by Ken Moffat <ken@…>, 3 years ago

Update notes on building in chroot, for
mozilla packages needing python multiprocessing.

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

  • Property mode set to 100644
File size: 17.5 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 seamonkey-download-http "&mozilla-http;/seamonkey/releases/&seamonkey-version;/source/seamonkey-&seamonkey-version;.source.tar.xz">
8 <!ENTITY seamonkey-download-ftp " ">
9 <!ENTITY seamonkey-md5sum "0cb5b34ea2194ec1a7e48ba21049cf35">
10 <!ENTITY seamonkey-size "277 MB">
11 <!ENTITY seamonkey-buildsize "6.9 GB (154 MB installed)">
12 <!ENTITY seamonkey-time "29 SBU (on a 4-core machine)">
13]>
14
15<sect1 id="seamonkey" xreflabel="SeaMonkey-&seamonkey-version;">
16 <?dbhtml filename="seamonkey.html" ?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>SeaMonkey-&seamonkey-version;</title>
24
25 <indexterm zone="seamonkey">
26 <primary sortas="a-SeaMonkey">SeaMonkey</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to SeaMonkey</title>
31
32 <para>
33 <application>SeaMonkey</application> is a browser suite, the Open Source
34 sibling of <application>Netscape</application>. It includes the browser,
35 composer, mail and news clients, and an IRC client. It is the follow-on
36 to the Mozilla browser suite.
37 </para>
38
39 <para>
40 The Mozilla project also hosts two subprojects that aim to satisfy the
41 needs of users who don't need the complete browser suite or prefer to have
42 separate applications for browsing and e-mail. These subprojects are
43 <xref linkend="firefox"/> and <xref linkend="thunderbird"/>. Both are
44 based on the <application>Mozilla</application> source code.
45 </para>
46
47 &lfs91_checked;
48
49 <bridgehead renderas="sect3">Package Information</bridgehead>
50 <itemizedlist spacing="compact">
51 <listitem>
52 <para>
53 Download (HTTP): <ulink url="&seamonkey-download-http;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download (FTP): <ulink url="&seamonkey-download-ftp;"/>
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download MD5 sum: &seamonkey-md5sum;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Download size: &seamonkey-size;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated disk space required: &seamonkey-buildsize;
74 </para>
75 </listitem>
76 <listitem>
77 <para>
78 Estimated build time: &seamonkey-time;
79 </para>
80 </listitem>
81 </itemizedlist>
82
83 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
84 <itemizedlist spacing="compact">
85 <listitem>
86 <para>
87 Required patch for building with rustc &gt;= 1.41
88 <ulink url="&patch-root;/seamonkey-&seamonkey-version;-rust_fixes-1.patch"/>
89 </para>
90 </listitem>
91 </itemizedlist>
92
93 <note>
94 <para>
95 The tarball
96 <emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
97 untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
98 </para>
99 </note>
100
101 <bridgehead renderas="sect3">SeaMonkey Dependencies</bridgehead>
102
103 <bridgehead renderas="sect4">Required</bridgehead>
104 <para role="required">
105 <xref linkend="autoconf213"/>,
106 both <xref linkend="gtk2"/> and <xref linkend="gtk3"/>,
107 <xref linkend="rust"/>,
108 <xref linkend="unzip"/>,
109 <xref linkend="yasm"/>, and
110 <xref linkend="zip"/>
111 </para>
112
113 <bridgehead renderas="sect4">Recommended</bridgehead>
114 <para role="recommended">
115 <xref linkend="icu"/>,
116 <xref linkend="libevent"/>,
117 <!--<xref linkend="libvpx"/>, Causes build failures similar to Firefox -->
118 <xref linkend="nspr"/>,
119 <xref linkend="nss"/>,
120 <xref linkend="pulseaudio"/>, and
121 <xref linkend="sqlite"/>
122 </para>
123<!--
124 <bridgehead renderas="sect4">Optional</bridgehead>
125 <para role="optional">
126 <xref linkend="sqlite"/> (not recommended due to potential
127 security concerns)
128 </para>
129-->
130 <note>
131 <para>
132 If you don't install recommended dependencies, then internal copies of
133 those packages will be used. They might be tested to work, but they can
134 be out of date or contain security holes.
135 </para>
136 </note>
137<!--
138 <note>
139 <para>
140 You must have installed <application>Openssl</application> before
141 <application>Python 2</application> or the build system will quickly
142 fail with output including "ImportError: cannot import name
143 HTTPSHandler". If you are in any doubt about this (e.g. upgrading from
144 an older version of Seamonkey), check if
145 <filename>/usr/lib/python&python2-majorver;/lib-dynload/_ssl.so</filename>
146 exists. If it does not, reinstall <xref linkend="python2"/> (after
147 installing <xref linkend="openssl"/>. The latest version of any
148 <emphasis>currently maintained</emphasis> version of Openssl should be
149 satisfactory if already installed.
150 </para>
151 </note>
152-->
153 <bridgehead renderas="sect4">Optional</bridgehead>
154 <para role="optional">
155 <xref linkend="alsa-lib"/>,
156 <xref linkend="curl"/>,
157 <xref linkend="dbus-glib"/>,
158 <xref linkend="doxygen"/>,
159 <xref linkend="GConf"/>,
160 <xref linkend="gst10-plugins-base"/> (and other plugins, only for tests),
161 <xref linkend="openjdk"/>,
162 <xref linkend="startup-notification"/>,
163 <xref linkend="valgrind"/>,
164 <xref linkend="wget"/>,
165 <xref linkend="wireless_tools"/>, and
166 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>
167 </para>
168
169 <para condition="html" role="usernotes">
170 User Notes: <ulink url="&blfs-wiki;/seamonkey"/>
171 </para>
172
173 </sect2>
174
175 <sect2 role="installation">
176 <title>Installation of SeaMonkey</title>
177
178 <para>
179 The configuration of <application>SeaMonkey</application> is accomplished
180 by creating a <filename>mozconfig</filename> file containing the desired
181 configuration options. A default <filename>mozconfig</filename> file is
182 created below. To see the entire list of available configuration options
183 (and an abbreviated description of each one), issue
184 <command>./configure --help</command>. You may also wish to review the
185 entire file and uncomment any other desired options. Create the file by
186 issuing the following command:
187 </para>
188
189<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
190<literal># If you have a multicore machine, all cores will be used by default.
191# If desired, you can reduce the number of cores used, e.g. to 1, by
192# uncommenting the next line and setting a valid number of CPU cores.
193#mk_add_options MOZ_MAKE_FLAGS="-j1"
194
195# If you have installed DBus-Glib comment out this line:
196ac_add_options --disable-dbus
197
198# If you have installed dbus-glib, and you have installed (or will install)
199# wireless-tools, and you wish to use geolocation web services, comment out
200# this line
201ac_add_options --disable-necko-wifi
202
203# Uncomment these lines if you have installed optional dependencies:
204#ac_add_options --enable-system-hunspell
205#ac_add_options --enable-startup-notification
206
207# Uncomment the following option if you have not installed PulseAudio
208#ac_add_options --disable-pulseaudio
209# and uncomment this if you installed alsa-lib instead of PulseAudio
210#ac_add_options --enable-alsa
211
212# Comment out following option if you have gconf installed
213ac_add_options --disable-gconf
214
215# Comment out following options if you have not installed
216# recommended dependencies:
217ac_add_options --enable-system-sqlite
218ac_add_options --with-system-libevent
219ac_add_options --with-system-nspr
220ac_add_options --with-system-nss
221ac_add_options --with-system-icu
222<!-- seems OK with icu-60, seamonkey-2.49
223# Use the internal version of icu due to execution problems-->
224
225# The BLFS editors recommend not changing anything below this line:
226ac_add_options --prefix=/usr
227ac_add_options --enable-application=suite
228
229ac_add_options --disable-crashreporter
230ac_add_options --disable-updater
231ac_add_options --disable-tests
232
233ac_add_options --enable-optimize="-O2"
234ac_add_options --enable-strip
235ac_add_options --enable-install-strip
236
237# not recognized since 2.53.1 - ac_add_options --enable-gio
238ac_add_options --enable-official-branding
239# not recognized since 2.53.1 - ac_add_options --enable-safe-browsing
240# not recognized since 2.53.1 - ac_add_options --enable-url-classifier
241
242# From firefox-40 (and the corresponding version of seamonkey),
243# using system cairo caused seamonkey to crash
244# frequently when it was doing background rendering in a tab.
245# This appears to again work in seamonkey-2.49.2
246ac_add_options --enable-system-cairo
247ac_add_options --enable-system-ffi
248ac_add_options --enable-system-pixman
249
250ac_add_options --with-pthreads
251
252ac_add_options --with-system-bz2
253ac_add_options --with-system-jpeg
254ac_add_options --with-system-png
255ac_add_options --with-system-zlib</literal>
256EOF</userinput></screen>
257
258 <note>
259 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
260 href="../../xincludes/mozshm.xml"/>
261 <!-- if this package switches to using ./mach, replace the
262 folliowing by including mozmach.xml -->
263 <para>
264 Second, either as the <systemitem class="username">root</systemitem>
265 user export the <envar>$SHELL</envar> environment variable using
266 <command>export SHELL=/bin/sh</command> or else prepend
267 <envar>SHELL=/bin/sh</envar> when running the first
268 <command>make</command> command.
269 </para>
270 </note>
271
272 <para>
273 Apply the patch to allow seamonkey to build with the current version of
274 <command>rustc</command>:
275 </para>
276
277<screen><userinput>patch -Np1 -i ../seamonkey-&seamonkey-version;-rust_fixes-1.patch</userinput></screen>
278
279 <!--
280 <para>
281 <application>GCC-9</application> generates some false positives with
282 <command>-Werror=format</command>, which prevent building
283 <application>SeaMonkey</application>. Remove this flag with the
284 following command:
285 </para>
286
287<screen><userinput>grep -rl - - '-Werror=format' | xargs sed -i 's/error=format/no-&amp;/'</userinput></screen>
288 Does not seem to be needed anymore with 2.53.1 -renodr -->
289
290 <para>
291 Remove a function definition, which is incompatible with the one in
292 glibc-2.30:
293 </para>
294
295<screen><userinput>sed -i -e '/pid_t gettid/,+3 s@^@//@' mozilla/tools/profiler/core/platform.h</userinput></screen>
296
297 <!-- Doesn't seem to be needed anymore with 2.53.1
298 <para>
299 Remove a search for an unneeded library:
300 </para>
301
302<screen><userinput>sed -i '/USE_LIBS/,+2 s/^/#/' mozilla/security/manager/ssl/moz.build</userinput></screen>
303 -->
304 <!--
305 <para>
306 Remove some unneeded files not removed during the release process:
307 </para>
308
309<screen><userinput>rm -rf .git mozilla/.git</userinput></screen>
310 -->
311 <para>
312 Compile <application>SeaMonkey</application> by running the following
313 commands:
314 </para>
315
316<screen><userinput>CC=gcc CXX=g++ make -f client.mk</userinput></screen>
317
318 <note>
319 <para>
320 The CC and CXX variables above are only needed if
321 <xref linkend="llvm"/> is installed and you do not want to use clang.
322 </para>
323 </note>
324
325 <para>
326 This package does not come with a test suite.
327 </para>
328
329 <para>
330 Install <application>SeaMonkey</application> by issuing the following
331 commands as the <systemitem class="username">root</systemitem> user:
332 </para>
333
334
335<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
336chown -R 0:0 /usr/lib/seamonkey-&seamonkey-version; &amp;&amp;
337
338cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
339<!-- Not needed: see above
340 <para>
341 Set the compilation flags back to their original values:
342 </para>
343
344<screen><userinput>export CFLAGS=$CFLAGS_HOLD &amp;&amp;
345export CXXFLAGS=$CXXFLAGS_HOLD &amp;&amp;
346unset CFLAGS_HOLD CXXFLAGS_HOLD</userinput></screen>
347-->
348<!--
349 <bridgehead renderas="sect3" id="devel-seamonkey" xreflabel="SeaMonkey">
350 All the Development Libraries and Headers
351 </bridgehead>
352
353 <para>
354 If you want to install the full <application>SeaMonkey</application>
355 development environment, as the
356 <systemitem class="username">root</systemitem> user:
357 </para>
358
359<screen role="nodump"><userinput>make -C obj* install</userinput></screen>
360
361 <note>
362 <para>
363 The build directory is set by the make procedure and is dependent on
364 the system architecture, but the directory name starts with 'obj'.
365 </para>
366 </note>
367 Does not seem to be valid with 2.53.1-->
368 </sect2>
369
370 <sect2 role="commands">
371 <title>Command Explanations</title>
372<!--
373 <para>
374 <command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
375 settings work around code which gcc6 and later would otherwise regard as
376 out-of-specification and allow it to produce a working program.
377 </para>
378-->
379 <para>
380 <command>make -f client.mk</command>: Mozilla products are packaged to
381 allow the use of a configuration file which can be used to pass the
382 configuration settings to the <command>configure</command> command.
383 <command>make</command> uses the <filename>client.mk</filename> file to
384 get initial configuration and setup parameters.
385 </para>
386
387 </sect2>
388
389 <sect2 role="configuration">
390 <title>Configuring SeaMonkey</title>
391
392 <para>
393 For installing various <application>SeaMonkey</application> plugins, refer
394 to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's PluginDoc
395 Project</ulink>.
396 </para>
397
398 <para>
399 Along with using the <quote>Preferences</quote> menu to configure
400 <application>SeaMonkey</application>'s options and preferences to suit
401 individual tastes, finer grain control of many options is only available
402 using a tool not available from the general menu system. To access this
403 tool, you'll need to open a browser window and enter
404 <systemitem role="url">about:config</systemitem> in the address bar. This
405 will display a list of the configuration preferences and information
406 related to each one. You can use the <quote>Filter:</quote> bar to enter
407 search criteria and narrow down the listed items. Changing a preference
408 can be done using two methods. One, if the preference has a boolean value
409 (True/False), simply double-click on the preference to toggle the value
410 and two, for other preferences simply right-click on the desired line,
411 choose <quote>Modify</quote> from the menu and change the value. Creating
412 new preference items is accomplished in the same way, except choose
413 <quote>New</quote> from the menu and provide the desired data into the
414 fields when prompted.
415 </para>
416
417 <tip>
418 <para>
419 There is a multitude of configuration parameters you can tweak to
420 customize <application>SeaMonkey</application>. A very extensive list of
421 these parameters can be found at
422 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
423 </para>
424 </tip>
425
426 <para>
427 If you use a desktop environment like <application>Gnome</application> or
428 <application>KDE</application> you may wish to create a
429 <filename>seamonkey.desktop</filename> file so that
430 <application>SeaMonkey</application> appears in the panel's menus. If you
431 didn't enable <application>Startup-Notification</application> in your
432 mozconfig change the StartupNotify line to false. As the
433 <systemitem class="username">root</systemitem> user:
434 </para>
435
436<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
437
438cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
439<literal>[Desktop Entry]
440Encoding=UTF-8
441Type=Application
442Name=SeaMonkey
443Comment=The Mozilla Suite
444Icon=seamonkey
445Exec=seamonkey
446Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
447StartupNotify=true
448Terminal=false</literal>
449EOF
450
451ln -sfv /usr/lib/seamonkey-&seamonkey-version;/chrome/icons/default/default128.png \
452 /usr/share/pixmaps/seamonkey.png</userinput></screen>
453 </sect2>
454
455 <sect2 role="content">
456 <title>Contents</title>
457
458 <segmentedlist>
459 <segtitle>Installed Programs</segtitle>
460 <segtitle>Installed Libraries</segtitle>
461 <segtitle>Installed Directory</segtitle>
462
463 <seglistitem>
464 <seg>seamonkey</seg>
465 <seg>
466 Numerous libraries, browser, and email/newsgroup components, plugins,
467 extensions, and helper modules installed in <filename
468 class="directory">/usr/lib/seamonkey-&seamonkey-version;</filename>
469 </seg>
470 <seg>
471 <!--/usr/include/seamonkey-&seamonkey-version; (optional),-->
472 /usr/lib/seamonkey-&seamonkey-version;
473 <!--/usr/lib/seamonkey-devel-&seamonkey-version; (optional), and
474 /usr/share/idl/seamonkey-&seamonkey-version; (optional)-->
475 </seg>
476 </seglistitem>
477 </segmentedlist>
478
479 <variablelist>
480 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
481 <?dbfo list-presentation="list"?>
482 <?dbhtml list-presentation="table"?>
483
484 <varlistentry id="seamonkey-prog">
485 <term><command>seamonkey</command></term>
486 <listitem>
487 <para>
488 is the Mozilla browser/email/newsgroup/chat client suite.
489 </para>
490 <indexterm zone="seamonkey seamonkey-prog">
491 <primary sortas="b-seamonkey">seamonkey</primary>
492 </indexterm>
493 </listitem>
494 </varlistentry>
495 </variablelist>
496 </sect2>
497</sect1>
Note: See TracBrowser for help on using the repository browser.