source: xsoft/graphweb/seamonkey.xml@ b1fb2a9

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since b1fb2a9 was 69d1a8e, checked in by Ken Moffat <ken@…>, 4 years ago

Update to rustc-1.42.0 to again use system llvm for a smaller build,
but indicate why system llvm is a bad idea if using earlier llvm.
Patch seamonkey for this rustc version, its build is much slower.

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

  • Property mode set to 100644
File size: 17.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 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><para>
259 If you are compiling <application>SeaMonkey</application> in chroot, make
260 sure you have the <envar>SHELL</envar> environment variable set or prepend
261 <envar>SHELL=/bin/sh</envar> to the first make command below.
262 </para></note>
263
264 <para>
265 Apply the patch to allow seamonkey to build with the current version of
266 <command>rustc</command>:
267 </para>
268
269<screen><userinput>patch -Np1 -i ../seamonkey-&seamonkey-version;-rust_fixes-1.patch</userinput></screen>
270
271 <!--
272 <para>
273 <application>GCC-9</application> generates some false positives with
274 <command>-Werror=format</command>, which prevent building
275 <application>SeaMonkey</application>. Remove this flag with the
276 following command:
277 </para>
278
279<screen><userinput>grep -rl - - '-Werror=format' | xargs sed -i 's/error=format/no-&amp;/'</userinput></screen>
280 Does not seem to be needed anymore with 2.53.1 -renodr -->
281
282 <para>
283 Remove a function definition, which is incompatible with the one in
284 glibc-2.30:
285 </para>
286
287<screen><userinput>sed -i -e '/pid_t gettid/,+3 s@^@//@' mozilla/tools/profiler/core/platform.h</userinput></screen>
288
289 <!-- Doesn't seem to be needed anymore with 2.53.1
290 <para>
291 Remove a search for an unneeded library:
292 </para>
293
294<screen><userinput>sed -i '/USE_LIBS/,+2 s/^/#/' mozilla/security/manager/ssl/moz.build</userinput></screen>
295 -->
296 <!--
297 <para>
298 Remove some unneeded files not removed during the release process:
299 </para>
300
301<screen><userinput>rm -rf .git mozilla/.git</userinput></screen>
302 -->
303 <para>
304 Compile <application>SeaMonkey</application> by running the following
305 commands:
306 </para>
307
308<screen><userinput>CC=gcc CXX=g++ make -f client.mk</userinput></screen>
309
310 <note>
311 <para>
312 The CC and CXX variables above are only needed if
313 <xref linkend="llvm"/> is installed and you do not want to use clang.
314 </para>
315 </note>
316
317 <para>
318 This package does not come with a test suite.
319 </para>
320
321 <para>
322 Install <application>SeaMonkey</application> by issuing the following
323 commands as the <systemitem class="username">root</systemitem> user:
324 </para>
325
326
327<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
328chown -R 0:0 /usr/lib/seamonkey-&seamonkey-version; &amp;&amp;
329
330cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
331<!-- Not needed: see above
332 <para>
333 Set the compilation flags back to their original values:
334 </para>
335
336<screen><userinput>export CFLAGS=$CFLAGS_HOLD &amp;&amp;
337export CXXFLAGS=$CXXFLAGS_HOLD &amp;&amp;
338unset CFLAGS_HOLD CXXFLAGS_HOLD</userinput></screen>
339-->
340<!--
341 <bridgehead renderas="sect3" id="devel-seamonkey" xreflabel="SeaMonkey">
342 All the Development Libraries and Headers
343 </bridgehead>
344
345 <para>
346 If you want to install the full <application>SeaMonkey</application>
347 development environment, as the
348 <systemitem class="username">root</systemitem> user:
349 </para>
350
351<screen role="nodump"><userinput>make -C obj* install</userinput></screen>
352
353 <note>
354 <para>
355 The build directory is set by the make procedure and is dependent on
356 the system architecture, but the directory name starts with 'obj'.
357 </para>
358 </note>
359 Does not seem to be valid with 2.53.1-->
360 </sect2>
361
362 <sect2 role="commands">
363 <title>Command Explanations</title>
364<!--
365 <para>
366 <command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
367 settings work around code which gcc6 and later would otherwise regard as
368 out-of-specification and allow it to produce a working program.
369 </para>
370-->
371 <para>
372 <command>make -f client.mk</command>: Mozilla products are packaged to
373 allow the use of a configuration file which can be used to pass the
374 configuration settings to the <command>configure</command> command.
375 <command>make</command> uses the <filename>client.mk</filename> file to
376 get initial configuration and setup parameters.
377 </para>
378
379 </sect2>
380
381 <sect2 role="configuration">
382 <title>Configuring SeaMonkey</title>
383
384 <para>
385 For installing various <application>SeaMonkey</application> plugins, refer
386 to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's PluginDoc
387 Project</ulink>.
388 </para>
389
390 <para>
391 Along with using the <quote>Preferences</quote> menu to configure
392 <application>SeaMonkey</application>'s options and preferences to suit
393 individual tastes, finer grain control of many options is only available
394 using a tool not available from the general menu system. To access this
395 tool, you'll need to open a browser window and enter
396 <systemitem role="url">about:config</systemitem> in the address bar. This
397 will display a list of the configuration preferences and information
398 related to each one. You can use the <quote>Filter:</quote> bar to enter
399 search criteria and narrow down the listed items. Changing a preference
400 can be done using two methods. One, if the preference has a boolean value
401 (True/False), simply double-click on the preference to toggle the value
402 and two, for other preferences simply right-click on the desired line,
403 choose <quote>Modify</quote> from the menu and change the value. Creating
404 new preference items is accomplished in the same way, except choose
405 <quote>New</quote> from the menu and provide the desired data into the
406 fields when prompted.
407 </para>
408
409 <tip>
410 <para>
411 There is a multitude of configuration parameters you can tweak to
412 customize <application>SeaMonkey</application>. A very extensive list of
413 these parameters can be found at
414 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
415 </para>
416 </tip>
417
418 <para>
419 If you use a desktop environment like <application>Gnome</application> or
420 <application>KDE</application> you may wish to create a
421 <filename>seamonkey.desktop</filename> file so that
422 <application>SeaMonkey</application> appears in the panel's menus. If you
423 didn't enable <application>Startup-Notification</application> in your
424 mozconfig change the StartupNotify line to false. As the
425 <systemitem class="username">root</systemitem> user:
426 </para>
427
428<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
429
430cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
431<literal>[Desktop Entry]
432Encoding=UTF-8
433Type=Application
434Name=SeaMonkey
435Comment=The Mozilla Suite
436Icon=seamonkey
437Exec=seamonkey
438Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
439StartupNotify=true
440Terminal=false</literal>
441EOF
442
443ln -sfv /usr/lib/seamonkey-&seamonkey-version;/chrome/icons/default/default128.png \
444 /usr/share/pixmaps/seamonkey.png</userinput></screen>
445 </sect2>
446
447 <sect2 role="content">
448 <title>Contents</title>
449
450 <segmentedlist>
451 <segtitle>Installed Programs</segtitle>
452 <segtitle>Installed Libraries</segtitle>
453 <segtitle>Installed Directory</segtitle>
454
455 <seglistitem>
456 <seg>seamonkey</seg>
457 <seg>
458 Numerous libraries, browser, and email/newsgroup components, plugins,
459 extensions, and helper modules installed in <filename
460 class="directory">/usr/lib/seamonkey-&seamonkey-version;</filename>
461 </seg>
462 <seg>
463 <!--/usr/include/seamonkey-&seamonkey-version; (optional),-->
464 /usr/lib/seamonkey-&seamonkey-version;
465 <!--/usr/lib/seamonkey-devel-&seamonkey-version; (optional), and
466 /usr/share/idl/seamonkey-&seamonkey-version; (optional)-->
467 </seg>
468 </seglistitem>
469 </segmentedlist>
470
471 <variablelist>
472 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
473 <?dbfo list-presentation="list"?>
474 <?dbhtml list-presentation="table"?>
475
476 <varlistentry id="seamonkey-prog">
477 <term><command>seamonkey</command></term>
478 <listitem>
479 <para>
480 is the Mozilla browser/email/newsgroup/chat client suite.
481 </para>
482 <indexterm zone="seamonkey seamonkey-prog">
483 <primary sortas="b-seamonkey">seamonkey</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487 </variablelist>
488 </sect2>
489</sect1>
Note: See TracBrowser for help on using the repository browser.