source: xsoft/graphweb/seamonkey.xml@ 2b5deee

11.3 12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 2b5deee was 2b5deee, checked in by Douglas R. Reno <renodr@…>, 14 months ago

Fix seamonkey crash if Seamonkey is compiled with rustc-1.67 or later.

See https://gitlab.com/frg/seamonkey-253-patches/-/commit/ad8c88d4ad606d24f7ae784a41eaeb06776881f5
for more details.

  • Property mode set to 100644
File size: 16.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 "d04916f10d082a503af9a309184365dd">
10 <!ENTITY seamonkey-size "249 MB">
11 <!ENTITY seamonkey-buildsize "3.2 GB (159 MB installed)">
12 <!ENTITY seamonkey-time "11 SBU (with parallelism=4)">
13]>
14
15<sect1 id="seamonkey" xreflabel="SeaMonkey-&seamonkey-version;">
16 <?dbhtml filename="seamonkey.html" ?>
17
18
19 <title>SeaMonkey-&seamonkey-version;</title>
20
21 <indexterm zone="seamonkey">
22 <primary sortas="a-SeaMonkey">SeaMonkey</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to SeaMonkey</title>
27
28 <para>
29 <application>SeaMonkey</application> is a browser suite, a descendant
30 of <application>Netscape</application>. It includes the browser,
31 composer, mail and news clients, and an IRC client.
32 </para>
33
34 <para>
35 It is the community-driven follow-on to the Mozilla Application Suite,
36 created after Mozilla decided to focus on separate applications for
37 browsing and e-mail. Those applications are
38 <xref linkend="firefox"/> and <xref linkend="thunderbird"/>.
39 </para>
40
41 &lfs113_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&seamonkey-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&seamonkey-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &seamonkey-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &seamonkey-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &seamonkey-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &seamonkey-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77 <!--
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing="compact">
80 <listitem>
81 <para>
82 Required patch:
83 <ulink url="&patch-root;/seamonkey-&seamonkey-version;-security_fix-1.patch"/>
84 </para>
85 </listitem>
86 </itemizedlist>
87-->
88
89 <note>
90 <para>
91 The tarball
92 <emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
93 untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
94 </para>
95 </note>
96
97 <bridgehead renderas="sect3">SeaMonkey Dependencies</bridgehead>
98
99 <bridgehead renderas="sect4">Required</bridgehead>
100 <para role="required">
101 <xref linkend="autoconf213"/>,
102 <xref linkend="cbindgen"/>,
103 <xref linkend="gtk3"/>,
104 <xref linkend="python2"/>,
105 <xref linkend="unzip"/>,
106 <xref linkend="yasm"/>, and
107 <xref linkend="zip"/>
108 </para>
109
110 <bridgehead renderas="sect4">Recommended</bridgehead>
111 <para role="recommended">
112 <xref linkend="icu"/>,
113 <xref linkend="libevent"/>,
114 <!--<xref linkend="libvpx"/>, Causes build failures similar to Firefox -->
115 <xref linkend="libwebp"/>,
116 <xref linkend="llvm"/> (with clang),
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="https://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# Disabling debug symbols makes the build much smaller and a little
210# faster. Comment this if you need to run a debugger. Note: This is
211# required for compilation on i686.
212ac_add_options --disable-debug-symbols
213
214# The elf-hack is reported to cause failed installs (after successful builds)
215# on some machines. It is supposed to improve startup time and it shrinks
216# libxul.so by a few MB - comment this if you know your machine is not affected.
217ac_add_options --disable-elf-hack
218
219# Seamonkey has some additional features that are not turned on by default,
220# such as an IRC client, calendar, and DOM Inspector. The DOM Inspector
221# aids with designing web pages. Comment these options if you do not
222# desire these features.
223ac_add_options --enable-calendar
224ac_add_options --enable-dominspector
225ac_add_options --enable-irc
226
227# The BLFS editors recommend not changing anything below this line:
228ac_add_options --prefix=/usr
229ac_add_options --enable-application=comm/suite
230
231ac_add_options --disable-crashreporter
232ac_add_options --disable-updater
233ac_add_options --disable-tests
234
235# rust-simd does not compile with recent versions of rust.
236# It is disabled in recent versions of firefox
237ac_add_options --disable-rust-simd
238
239ac_add_options --enable-optimize="-O2"
240ac_add_options --enable-strip
241ac_add_options --enable-install-strip
242ac_add_options --enable-official-branding
243
244# The option to use system cairo was removed in 2.53.9.
245ac_add_options --enable-system-ffi
246ac_add_options --enable-system-pixman
247
248ac_add_options --with-system-bz2
249ac_add_options --with-system-jpeg
250ac_add_options --with-system-png
251ac_add_options --with-system-zlib</literal>
252EOF</userinput></screen>
253
254 <note>
255 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
256 href="../../xincludes/mozshm.xml"/>
257 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
258 href="../../xincludes/mozmach.xml"/>
259 </note>
260
261 <!--
262 <para>
263 Apply a patch to fix a critical security vulnerability in Seamonkey:
264 </para>
265
266<screen><userinput>patch -Np1 -i ../seamonkey-&seamonkey-version;-security_fix-1.patch</userinput></screen>
267-->
268
269 <para>
270 First remove an obsolete flag in python code, that has been removed
271 in python-3.11:
272 </para>
273
274<screen><userinput>grep -rl \"rU\" | xargs sed -i 's/"rU"/"r"/'</userinput></screen>
275
276<!-- Causes issues since xpidl is python2 in Seamonkey
277 <para>
278 Then fix an issue with regular expressions in python-3.11:
279 </para>
280
281<screen><userinput>sed -e 's/?s)\./?s:.)/' \
282 -e '/?m)/{s/?m)/?m:/;s/\$"/$)"/}' \
283 -e '/?s)%/{s/?s)/?s:/;s/?"/?)"/}' \
284 -i xpcom/idl-parser/xpidl/xpidl.py</userinput></screen>
285-->
286
287 <para>
288 Next, work around a problem in the Python virtual environment:
289 </para>
290
291<screen><userinput>sed -i "/if sys.executable !=/i\ open(join(bin_dir, 'pyvenv.cfg'), 'w').close()" \
292 third_party/python/virtualenv/virtualenv.py</userinput></screen>
293
294 <para>
295 Next, work around a crash that occurs when playing audio when Seamonkey
296 is compiled with rustc-1.67 or higher:
297 </para>
298
299<screen><userinput>sed -i '/USE_PULSE_RUST/d' media/libcubeb/src/moz.build</userinput></screen>
300
301 <para>
302 Compile <application>SeaMonkey</application> by running the following
303 commands:
304 </para>
305
306<screen><userinput>export CC=clang CXX=clang++ &amp;&amp;
307./mach configure || ./mach configure &amp;&amp;
308./mach build</userinput></screen>
309
310
311 <!-- comment this since llvm must have been installed for rust
312 <note>
313 <para>
314 The CC and CXX variables above are only needed if
315 <xref linkend="llvm"/> is installed and you do not want to use clang.
316 </para>
317 </note>-->
318
319 <para>
320 This package does not come with a test suite.
321 </para>
322
323 <para>
324 Install <application>SeaMonkey</application> by issuing the following
325 commands as the <systemitem class="username">root</systemitem> user:
326 </para>
327
328
329<screen role="root"><userinput>./mach install &amp;&amp;
330chown -R 0:0 /usr/lib/seamonkey &amp;&amp;
331
332cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
333
334 </sect2>
335
336 <sect2 role="commands">
337 <title>Command Explanations</title>
338
339 <para>
340 <command>export CC=clang CXX=clang++</command>:
341 With the introduction of <application>gcc-12</application>, many
342 more warnings are generated when compiling mozilla applications
343 and that results in a much slower, and larger, build. Furthermore,
344 building with GCC on i?86 is currently broken.
345 Although upstream mozilla code defaults to using
346 <application>llvm</application> unless overridden, the older configure
347 code in <application>SeaMonkey</application> defaults to gcc.
348 </para>
349
350 <para>
351 <command>./mach configure || ./mach configure</command>: This validates
352 the supplied dependencies and the <filename>mozconfig</filename>.
353 This is run twice because problems with mach will cause it to fail the
354 first time.
355 </para>
356
357 <para>
358 <option>./mach build --verbose</option>: Use this alternative if you
359 need details of which files are being compiled, together with any C or
360 C++ flags being used. But do not add '--verbose' to the install command,
361 it is not accepted there.
362 </para>
363
364 <para>
365 <option>./mach build -jN</option>: The build should, by default, use
366 all the online CPU cores. If using all the cores causes the build to swap
367 because you have insufficient memory, using fewer cores can be faster.
368 </para>
369
370 </sect2>
371
372 <sect2 role="configuration">
373 <title>Configuring SeaMonkey</title>
374
375 <para>
376 For installing various <application>SeaMonkey</application> add-ons, refer
377 to <ulink url="https://addons.thunderbird.net/en-US/seamonkey/">Add-ons
378 for Seamonkey</ulink>.
379 </para>
380
381 <para>
382 Along with using the <quote>Preferences</quote> menu to configure
383 <application>SeaMonkey</application>'s options and preferences to suit
384 individual tastes, finer grain control of many options is only available
385 using a tool not available from the general menu system. To access this
386 tool, you'll need to open a browser window and enter
387 <systemitem role="url">about:config</systemitem> in the address bar. This
388 will display a list of the configuration preferences and information
389 related to each one. You can use the <quote>Search:</quote> bar to enter
390 search criteria and narrow down the listed items. Changing a preference
391 can be done using two methods. One, if the preference has a boolean value
392 (True/False), simply double-click on the preference to toggle the value
393 and two, for other preferences simply right-click on the desired line,
394 choose <quote>Modify</quote> from the menu and change the value. Creating
395 new preference items is accomplished in the same way, except choose
396 <quote>New</quote> from the menu and provide the desired data into the
397 fields when prompted.
398 </para>
399
400<!-- The URL no longer exists.
401 <tip>
402 <para>
403 There is a multitude of configuration parameters you can tweak to
404 customize <application>SeaMonkey</application>. A very extensive list of
405 these parameters can be found at
406 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
407 </para>
408 </tip>
409-->
410 <para>
411 If you use a desktop environment like <application>Gnome</application> or
412 <application>KDE</application> you may wish to create a
413 <filename>seamonkey.desktop</filename> file so that
414 <application>SeaMonkey</application> appears in the panel's menus. If you
415 didn't enable <application>Startup-Notification</application> in your
416 mozconfig change the StartupNotify line to false. As the
417 <systemitem class="username">root</systemitem> user:
418 </para>
419
420<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
421
422cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
423<literal>[Desktop Entry]
424Encoding=UTF-8
425Type=Application
426Name=SeaMonkey
427Comment=The Mozilla Suite
428Icon=seamonkey
429Exec=seamonkey
430Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
431StartupNotify=true
432Terminal=false</literal>
433EOF
434
435ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
436 /usr/share/pixmaps/seamonkey.png</userinput></screen>
437 </sect2>
438
439 <sect2 role="content">
440 <title>Contents</title>
441
442 <segmentedlist>
443 <segtitle>Installed Programs</segtitle>
444 <segtitle>Installed Libraries</segtitle>
445 <segtitle>Installed Directory</segtitle>
446
447 <seglistitem>
448 <seg>seamonkey</seg>
449 <seg>
450 Numerous libraries, browser, and email/newsgroup components, plugins,
451 extensions, and helper modules installed in
452 <filename class="directory">/usr/lib/seamonkey</filename>
453 </seg>
454 <seg>
455 /usr/lib/seamonkey
456 </seg>
457 </seglistitem>
458 </segmentedlist>
459
460 <variablelist>
461 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
462 <?dbfo list-presentation="list"?>
463 <?dbhtml list-presentation="table"?>
464
465 <varlistentry id="seamonkey-prog">
466 <term><command>seamonkey</command></term>
467 <listitem>
468 <para>
469 is the Mozilla browser/email/newsgroup/chat client suite
470 </para>
471 <indexterm zone="seamonkey seamonkey-prog">
472 <primary sortas="b-seamonkey">seamonkey</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
476 </variablelist>
477 </sect2>
478
479</sect1>
Note: See TracBrowser for help on using the repository browser.