source: xsoft/graphweb/seamonkey.xml@ 532e5c9

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 xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 532e5c9 was 532e5c9, checked in by Ken Moffat <ken@…>, 22 months ago

SeaMonkey - use clang instead of gcc.

  • Property mode set to 100644
File size: 15.7 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 "173512018674c9036cb54d35ded4a23f">
10 <!ENTITY seamonkey-size "275 MB">
11 <!ENTITY seamonkey-buildsize "4.5 GB (155 MB installed)">
12 <!ENTITY seamonkey-time "13 SBU (with parallelism=4)">
13]>
14
15<sect1 id="seamonkey" xreflabel="SeaMonkey-&seamonkey-version;">
16 <?dbhtml filename="seamonkey.html" ?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>SeaMonkey-&seamonkey-version;</title>
23
24 <indexterm zone="seamonkey">
25 <primary sortas="a-SeaMonkey">SeaMonkey</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to SeaMonkey</title>
30
31 <para>
32 <application>SeaMonkey</application> is a browser suite, a descendant
33 of <application>Netscape</application>. It includes the browser,
34 composer, mail and news clients, and an IRC client.
35 </para>
36
37 <para>
38 It is the community-driven follow-on to the Mozilla Application Suite,
39 created after Mozilla decided to focus on separate applications for
40 browsing and e-mail. Those applications are
41 <xref linkend="firefox"/> and <xref linkend="thunderbird"/>.
42 </para>
43
44 &lfs111_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&seamonkey-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&seamonkey-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &seamonkey-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &seamonkey-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &seamonkey-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &seamonkey-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
81 <itemizedlist spacing="compact">
82 <listitem>
83 <para>
84 Required patch:
85 <ulink url="&patch-root;/seamonkey-&seamonkey-version;-security_fix-1.patch"/>
86 </para>
87 </listitem>
88 </itemizedlist>
89
90 <note>
91 <para>
92 The tarball
93 <emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
94 untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
95 </para>
96 </note>
97
98 <bridgehead renderas="sect3">SeaMonkey Dependencies</bridgehead>
99
100 <bridgehead renderas="sect4">Required</bridgehead>
101 <para role="required">
102 <xref linkend="autoconf213"/>,
103 both <xref linkend="gtk2"/> and <xref linkend="gtk3"/>,
104 <xref linkend="python2"/>,
105 <xref linkend="rust"/>,
106 <xref linkend="unzip"/>,
107 <xref linkend="yasm"/>, and
108 <xref linkend="zip"/>
109 </para>
110
111 <bridgehead renderas="sect4">Recommended</bridgehead>
112 <para role="recommended">
113 <xref linkend="icu"/>,
114 <xref linkend="libevent"/>,
115 <!--<xref linkend="libvpx"/>, Causes build failures similar to Firefox -->
116 <xref linkend="libwebp"/>
117 <xref linkend="nasm"/>,
118 <xref linkend="nspr"/>,
119 <xref linkend="nss"/>, and
120 <xref linkend="pulseaudio"/>
121 <!-- <xref linkend="sqlite"/> system version no longer supported -->
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 <bridgehead renderas="sect4">Optional</bridgehead>
139 <para role="optional">
140 <xref linkend="alsa-lib"/>,
141 <xref linkend="curl"/>,
142 <xref linkend="dbus-glib"/>,
143 <xref linkend="doxygen"/>,
144 <xref linkend="GConf"/>,
145 <xref linkend="gst10-plugins-base"/> (and other plugins, only for tests),
146 <!--<xref linkend="openjdk"/>, Not seen in logs -->
147 <xref linkend="startup-notification"/>,
148 <xref linkend="valgrind"/>,
149 <xref linkend="wget"/>,
150 <xref linkend="wireless_tools"/>,
151 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>, and
152 <ulink url="https://facebook.github.io/watchman/">Watchman</ulink>
153 </para>
154
155 <para condition="html" role="usernotes">
156 User Notes: <ulink url="&blfs-wiki;/seamonkey"/>
157 </para>
158
159 </sect2>
160
161 <sect2 role="installation">
162 <title>Installation of SeaMonkey</title>
163
164 <para>
165 The configuration of <application>SeaMonkey</application> is accomplished
166 by creating a <filename>mozconfig</filename> file containing the desired
167 configuration options. A default <filename>mozconfig</filename> file is
168 created below. To see the entire list of available configuration options
169 (and an abbreviated description of each one), issue
170 <command>./configure --help</command>. You may also wish to review the
171 entire file and uncomment any other desired options. Create the file by
172 issuing the following command:
173 </para>
174
175<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
176<literal># If you have a multicore machine, all cores will be used
177
178# If you have installed DBus-Glib comment out this line:
179ac_add_options --disable-dbus
180
181# If you have installed dbus-glib, and you have installed (or will install)
182# wireless-tools, and you wish to use geolocation web services, comment out
183# this line
184ac_add_options --disable-necko-wifi
185
186# Uncomment these lines if you have installed optional dependencies:
187#ac_add_options --enable-system-hunspell
188#ac_add_options --enable-startup-notification
189
190# Uncomment the following option if you have not installed PulseAudio
191#ac_add_options --disable-pulseaudio
192# and uncomment this if you installed alsa-lib instead of PulseAudio
193#ac_add_options --enable-alsa
194
195# Comment out following option if you have gconf installed
196ac_add_options --disable-gconf
197<!-- comments cause a blank line, following was for icu in the past
198 seems OK with icu-60, seamonkey-2.49
199 line below was with comment and explanation
200# Use the internal version of icu due to execution problems-->
201# Comment out following options if you have not installed
202# recommended dependencies:
203ac_add_options --with-system-icu
204ac_add_options --with-system-libevent
205ac_add_options --with-system-nspr
206ac_add_options --with-system-nss
207ac_add_options --with-system-webp
208
209# The elf-hack is reported to cause failed installs (after successful builds)
210# on some machines. It is supposed to improve startup time and it shrinks
211# libxul.so by a few MB - comment this if you know your machine is not affected.
212ac_add_options --disable-elf-hack
213
214# Seamonkey has some additional features that are not turned on by default,
215# such as an IRC client, calendar, and DOM Inspector. The DOM Inspector
216# aids with designing web pages. Comment these options if you do not
217# desire these features.
218ac_add_options --enable-calendar
219ac_add_options --enable-dominspector
220ac_add_options --enable-irc
221
222# The BLFS editors recommend not changing anything below this line:
223ac_add_options --prefix=/usr
224ac_add_options --enable-application=comm/suite
225
226ac_add_options --disable-crashreporter
227ac_add_options --disable-updater
228ac_add_options --disable-tests
229
230# rust-simd does not compile with recent versions of rust.
231# It is disabled in recent versions of firefox
232ac_add_options --disable-rust-simd
233
234ac_add_options --enable-optimize="-O2"
235ac_add_options --enable-strip
236ac_add_options --enable-install-strip
237ac_add_options --enable-official-branding
238
239# The option to use system cairo was removed in 2.53.9.
240ac_add_options --enable-system-ffi
241ac_add_options --enable-system-pixman
242
243ac_add_options --with-system-bz2
244ac_add_options --with-system-jpeg
245ac_add_options --with-system-png
246ac_add_options --with-system-zlib</literal>
247EOF</userinput></screen>
248
249 <note>
250 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
251 href="../../xincludes/mozshm.xml"/>
252 <!--<para>
253 Second, either as the <systemitem class="username">root</systemitem>
254 user export the <envar>$SHELL</envar> environment variable using
255 <command>export SHELL=/bin/sh</command> or else prepend
256 <envar>SHELL=/bin/sh</envar> when running the first
257 <command>make</command> command.
258 </para>-->
259 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
260 href="../../xincludes/mozmach.xml"/>
261 </note>
262
263 <para>
264 Apply a patch to fix a critical security vulnerability in Seamonkey:
265 </para>
266
267<screen><userinput>patch -Np1 -i ../seamonkey-&seamonkey-version;-security_fix-1.patch</userinput></screen>
268
269 <para>
270 Compile <application>SeaMonkey</application> by running the following
271 commands:
272 </para>
273
274<screen><userinput>export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib &amp;&amp;
275./mach configure &amp;&amp;
276./mach build</userinput></screen>
277
278
279 <!-- comment this since llvm must have been installed for rust
280 <note>
281 <para>
282 The CC and CXX variables above are only needed if
283 <xref linkend="llvm"/> is installed and you do not want to use clang.
284 </para>
285 </note>-->
286
287 <para>
288 This package does not come with a test suite.
289 </para>
290
291 <para>
292 Install <application>SeaMonkey</application> by issuing the following
293 commands as the <systemitem class="username">root</systemitem> user:
294 </para>
295
296
297<screen role="root"><userinput>./mach install &amp;&amp;
298chown -R 0:0 /usr/lib/seamonkey &amp;&amp;
299
300cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
301
302 </sect2>
303
304 <sect2 role="commands">
305 <title>Command Explanations</title>
306
307 <para>
308 <command>export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm
309 RANLIB=llvm-ranlib</command>:
310 With the introduction of <application>gcc-12</application>, many
311 more warnings are generated when compiling mozilla applications
312 and that results in a much slower, and slightly larger, build.
313 Although upstream mozilla code defaults to using
314 <application>llvm</application> unless overridden, the older configure
315 code in <application>SeaMonkey</application> defaults to gcc and needs
316 to have the programs all specified.
317 <!-- ken: I checked without specifying and it used gcc, g++ so I added all as
318 had been necessary in the past. Perhaps only CC and CXX are really needed, -->
319 </para>
320
321 <para>
322 <command>./mach configure</command>: This validates the supplied
323 dependencies and the <filename>mozconfig</filename>.
324 </para>
325
326 <para>
327 <option>./mach build --verbose</option>: Use this alternative if you
328 need details of which files are being compiled, together with any C or
329 C++ flags being used. But do not add '--verbose' to the install command,
330 it is not accepted there.
331 </para>
332
333 <para>
334 <option>./mach build -jN</option>: The build should, by default, use
335 all the online CPU cores. If using all the cores causes the build to swap
336 because you have insufficient memory, using fewer cores can be faster.
337 </para>
338
339 </sect2>
340
341 <sect2 role="configuration">
342 <title>Configuring SeaMonkey</title>
343
344 <para>
345 For installing various <application>SeaMonkey</application> add-ons, refer
346 to <ulink url="https://addons.thunderbird.net/en-US/seamonkey/">Add-ons
347 for Seamonkey</ulink>.
348 </para>
349
350 <para>
351 Along with using the <quote>Preferences</quote> menu to configure
352 <application>SeaMonkey</application>'s options and preferences to suit
353 individual tastes, finer grain control of many options is only available
354 using a tool not available from the general menu system. To access this
355 tool, you'll need to open a browser window and enter
356 <systemitem role="url">about:config</systemitem> in the address bar. This
357 will display a list of the configuration preferences and information
358 related to each one. You can use the <quote>Search:</quote> bar to enter
359 search criteria and narrow down the listed items. Changing a preference
360 can be done using two methods. One, if the preference has a boolean value
361 (True/False), simply double-click on the preference to toggle the value
362 and two, for other preferences simply right-click on the desired line,
363 choose <quote>Modify</quote> from the menu and change the value. Creating
364 new preference items is accomplished in the same way, except choose
365 <quote>New</quote> from the menu and provide the desired data into the
366 fields when prompted.
367 </para>
368
369<!-- The URL no longer exists.
370 <tip>
371 <para>
372 There is a multitude of configuration parameters you can tweak to
373 customize <application>SeaMonkey</application>. A very extensive list of
374 these parameters can be found at
375 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
376 </para>
377 </tip>
378-->
379 <para>
380 If you use a desktop environment like <application>Gnome</application> or
381 <application>KDE</application> you may wish to create a
382 <filename>seamonkey.desktop</filename> file so that
383 <application>SeaMonkey</application> appears in the panel's menus. If you
384 didn't enable <application>Startup-Notification</application> in your
385 mozconfig change the StartupNotify line to false. As the
386 <systemitem class="username">root</systemitem> user:
387 </para>
388
389<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
390
391cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
392<literal>[Desktop Entry]
393Encoding=UTF-8
394Type=Application
395Name=SeaMonkey
396Comment=The Mozilla Suite
397Icon=seamonkey
398Exec=seamonkey
399Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
400StartupNotify=true
401Terminal=false</literal>
402EOF
403
404ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
405 /usr/share/pixmaps/seamonkey.png</userinput></screen>
406 </sect2>
407
408 <sect2 role="content">
409 <title>Contents</title>
410
411 <segmentedlist>
412 <segtitle>Installed Programs</segtitle>
413 <segtitle>Installed Libraries</segtitle>
414 <segtitle>Installed Directory</segtitle>
415
416 <seglistitem>
417 <seg>seamonkey</seg>
418 <seg>
419 Numerous libraries, browser, and email/newsgroup components, plugins,
420 extensions, and helper modules installed in
421 <filename class="directory">/usr/lib/seamonkey</filename>
422 </seg>
423 <seg>
424 /usr/lib/seamonkey
425 </seg>
426 </seglistitem>
427 </segmentedlist>
428
429 <variablelist>
430 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
431 <?dbfo list-presentation="list"?>
432 <?dbhtml list-presentation="table"?>
433
434 <varlistentry id="seamonkey-prog">
435 <term><command>seamonkey</command></term>
436 <listitem>
437 <para>
438 is the Mozilla browser/email/newsgroup/chat client suite
439 </para>
440 <indexterm zone="seamonkey seamonkey-prog">
441 <primary sortas="b-seamonkey">seamonkey</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445 </variablelist>
446 </sect2>
447
448</sect1>
Note: See TracBrowser for help on using the repository browser.