source: xsoft/graphweb/seamonkey.xml@ 1859ee6

12.1 ken/TL2024 lazarus plabs/newcss python3.11 rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 1859ee6 was 1859ee6, checked in by Pierre Labastie <pierre.labastie@…>, 5 months ago

Remove links to deleted wiki pages

See https://wiki.linuxfromscratch.org/blfs/ticket/18952

  • Property mode set to 100644
File size: 16.4 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 "6ac064816caa2c3fe6bc1f130bd9599b">
10 <!ENTITY seamonkey-size "241 MB">
11 <!ENTITY seamonkey-buildsize "4.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 &lfs120_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 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
78 <itemizedlist spacing="compact">
79 <listitem>
80 <para>
81 Required patch:
82 <ulink url="&patch-root;/seamonkey-&seamonkey-version;-consolidated_fixes-1.patch"/>
83 </para>
84 </listitem>
85 <listitem>
86 <para>
87 Required Python module:
88 <ulink url="&pymodules-dl;/s/setuptools/setuptools-&setuptools-version;.tar.gz"/>
89 </para>
90 <para>
91 This module has already been installed in LFS, but now we need
92 to rebuild its wheel package for the SeaMonkey build system.
93 </para>
94 </listitem>
95 </itemizedlist>
96
97 <note>
98 <para>
99 The tarball
100 <emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
101 untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
102 </para>
103 </note>
104
105 <bridgehead renderas="sect3">Seamonkey Dependencies</bridgehead>
106
107 <bridgehead renderas="sect4">Required</bridgehead>
108 <para role="required">
109 <!--xref linkend="autoconf213"/-->
110 <xref linkend="cbindgen"/>,
111 <xref linkend="gtk3"/>,
112 <xref linkend="nodejs"/>,
113 <xref linkend="six"/>,
114 <xref linkend="unzip"/>,
115 <xref linkend="yasm"/>, and
116 <xref linkend="zip"/>
117 </para>
118
119 <bridgehead renderas="sect4">Recommended</bridgehead>
120 <para role="recommended">
121 <xref linkend="icu"/>,
122 <xref linkend="libevent"/>,
123 <!--<xref linkend="libvpx"/>, Causes build failures similar to Firefox -->
124 <xref linkend="libwebp"/>,
125 <xref linkend="llvm"/> (with clang),
126 <xref linkend="nasm"/>,
127 <xref linkend="nspr"/>,
128 <xref linkend="nss"/>, and
129 <xref linkend="pulseaudio"/>
130 <!-- <xref linkend="sqlite"/> system version no longer supported -->
131 </para>
132<!--
133 <bridgehead renderas="sect4">Optional</bridgehead>
134 <para role="optional">
135 <xref linkend="sqlite"/> (not recommended due to potential
136 security concerns)
137 </para>
138-->
139 <note>
140 <para>
141 If you don't install recommended dependencies, then internal copies of
142 those packages will be used. They might be tested to work, but they can
143 be out of date or contain security holes.
144 </para>
145 </note>
146
147 <bridgehead renderas="sect4">Optional</bridgehead>
148 <para role="optional">
149 <xref linkend="alsa-lib"/>,
150 <xref linkend="dbus-glib"/>,
151 <xref linkend="startup-notification"/>,
152 <xref linkend="valgrind"/>,
153 <xref linkend="wget"/>,
154 <xref linkend="wireless_tools"/>,
155 <ulink url="https://hunspell.sourceforge.net/">Hunspell</ulink>,
156 <ulink url="https://gitlab.gnome.org/Archive/gconf">Gconf</ulink>, and
157 <ulink url="https://facebook.github.io/watchman/">Watchman</ulink>
158 </para>
159
160 </sect2>
161
162 <sect2 role="installation">
163 <title>Installation of Seamonkey</title>
164
165 <para>
166 The configuration of <application>Seamonkey</application> is accomplished
167 by creating a <filename>mozconfig</filename> file containing the desired
168 configuration options. A default <filename>mozconfig</filename> file is
169 created below. To see the entire list of available configuration options
170 (and an abbreviated description of each one), issue
171 <command>./configure --help</command>. You may also wish to review the
172 entire file and uncomment any other desired options. Create the file by
173 issuing the following command:
174 </para>
175
176<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
177<literal># If you have a multicore machine, all cores will be used
178
179# If you have installed DBus-Glib comment out this line:
180ac_add_options --disable-dbus
181
182# If you have installed dbus-glib, and you have installed (or will install)
183# wireless-tools, and you wish to use geolocation web services, comment out
184# this line
185ac_add_options --disable-necko-wifi
186
187# Uncomment these lines if you have installed optional dependencies:
188#ac_add_options --enable-system-hunspell
189#ac_add_options --enable-startup-notification
190
191# Uncomment the following option if you have not installed PulseAudio
192#ac_add_options --disable-pulseaudio
193# and uncomment this if you installed alsa-lib instead of PulseAudio
194#ac_add_options --enable-alsa
195
196# Comment out the following option if you have gconf installed
197ac_add_options --disable-gconf
198
199# Comment out following options if you have not installed
200# recommended dependencies:
201ac_add_options --with-system-icu
202ac_add_options --with-system-libevent
203ac_add_options --with-system-nspr
204ac_add_options --with-system-nss
205ac_add_options --with-system-webp
206
207# Disabling debug symbols makes the build much smaller and a little
208# faster. Comment this if you need to run a debugger. Note: This is
209# required for compilation on i686.
210ac_add_options --disable-debug-symbols
211<!-- With Firefox ESR 128 we'd replace the following part with
212"- -enable-elf-hack=relr", or remove it if relr becomes the default.
213But I've no idea if SeaMonkey will have this change backported. -->
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. With recent Binutils releases the linker already
217# supports a much safer and generic way for this.
218ac_add_options --disable-elf-hack
219ac_add_options --enable-linker=bfd
220export LDFLAGS="$LDFLAGS -Wl,-z,pack-relative-relocs"
221
222# Seamonkey has some additional features that are not turned on by default,
223# such as an IRC client, calendar, and DOM Inspector. The DOM Inspector
224# aids with designing web pages. Comment these options if you do not
225# desire these features.
226ac_add_options --enable-calendar
227ac_add_options --enable-dominspector
228ac_add_options --enable-irc
229
230# The BLFS editors recommend not changing anything below this line:
231ac_add_options --prefix=/usr
232ac_add_options --enable-application=comm/suite
233
234ac_add_options --disable-crashreporter
235ac_add_options --disable-updater
236ac_add_options --disable-tests
237
238# The Rust code for SIMD optimization is much more outdated than
239# Firefox and Thunderbird, so it does not build with recent Rustc.
240ac_add_options --disable-rust-simd
241
242ac_add_options --enable-strip
243ac_add_options --enable-install-strip
244
245# You cannot distribute the binary if you do this.
246ac_add_options --enable-official-branding
247
248# The option to use system cairo was removed in 2.53.9.
249ac_add_options --enable-system-ffi
250ac_add_options --enable-system-pixman
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
256
257export CC=clang CXX=clang++</literal>
258EOF</userinput></screen>
259
260 <note>
261 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
262 href="../../xincludes/mozshm.xml"/>
263 </note>
264
265 <para>
266 First, fix several problems that occur with Python-3.12 and ICU-74.
267 If you are not using ICU-74 and Python-3.12, do not apply this patch.
268 </para>
269
270<screen><userinput>patch -Np1 -i ../seamonkey-&seamonkey-version;-consolidated_fixes-1.patch</userinput></screen>
271
272 <para>
273 Next, if you are using Python-3.12, reinstall the setuptools package for
274 Seamonkey, and update it's vendored copy of pip:
275 </para>
276
277<screen><userinput>ln -sv /usr/lib/python&python3-majorver;/ensurepip/_bundled/pip-*.whl \
278 third_party/python/virtualenv/virtualenv_support &amp;&amp;
279
280tar xf ../setuptools-&setuptools-version;.tar.gz &amp;&amp;
281pip3 wheel --no-build-isolation --no-deps --no-cache-dir \
282 $PWD/setuptools-&setuptools-version; \
283 -w third_party/python/virtualenv/virtualenv_support</userinput></screen>
284
285 <para>
286 Next, if you are on Python-3.11 still, fix a problem with the bundled
287 'distro' python module. This has been included in the patch for
288 Python-3.12 users:
289 </para>
290
291<screen role="nodump"><userinput>sed -e '1012 s/stderr=devnull/stderr=subprocess.DEVNULL/' \
292 -e '1013 s/OSError/(OSError, subprocess.CalledProcessError)/' \
293 -i third_party/python/distro/distro.py</userinput></screen>
294
295 <para>
296 Compile <application>Seamonkey</application> by running the following
297 commands:
298 </para>
299
300<screen><userinput>AUTOCONF=true ./mach configure &amp;&amp;
301./mach build</userinput></screen>
302
303 <para>
304 This package does not come with a test suite.
305 </para>
306
307 <para>
308 Install <application>Seamonkey</application> by issuing the following
309 commands as the <systemitem class="username">root</systemitem> user:
310 </para>
311
312
313<screen role="root"><userinput>./mach install &amp;&amp;
314chown -R 0:0 /usr/lib/seamonkey &amp;&amp;
315
316cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
317
318 </sect2>
319
320 <sect2 role="commands">
321 <title>Command Explanations</title>
322
323 <para>
324 <command>export CC=clang CXX=clang++</command>:
325 With the introduction of <application>gcc-12</application>, many
326 more warnings are generated when compiling mozilla applications
327 and that results in a much slower, and larger, build. Furthermore,
328 building with GCC on i?86 is currently broken.
329 Although upstream mozilla code defaults to using
330 <application>llvm</application> unless overridden, the older configure
331 code in <application>Seamonkey</application> defaults to gcc.
332 </para>
333
334 <para>
335 <command>AUTOCONF=true ./mach configure</command>: This validates
336 the supplied dependencies and the <filename>mozconfig</filename>.
337 The building system always checks for an old version (2.13) of
338 autoconf, but it's not really needed because the necessary
339 <command>configure</command> scripts are already shipped in the
340 tarball and we've not modified the <filename>configure.in</filename>
341 files. So we pass <envar>AUTOCONF=true</envar> so the building system
342 will skip the checking for autoconf-2.13 and allow building this
343 package without autoconf-2.13 installed.
344 </para>
345
346 <para>
347 <option>./mach build --verbose</option>: Use this alternative if you
348 need details of which files are being compiled, together with any C or
349 C++ flags being used. But do not add '--verbose' to the install command,
350 it is not accepted there.
351 </para>
352
353 <para>
354 <option>./mach build -jN</option>: The build should, by default, use
355 all the online CPU cores. If using all the cores causes the build to swap
356 because you have insufficient memory, using fewer cores can be faster.
357 </para>
358
359 </sect2>
360
361 <sect2 role="configuration">
362 <title>Configuring Seamonkey</title>
363
364 <para>
365 For installing various <application>Seamonkey</application> add-ons, refer
366 to <ulink url="https://addons.thunderbird.net/en-US/seamonkey/">Add-ons
367 for Seamonkey</ulink>.
368 </para>
369
370 <para>
371 Along with using the <quote>Preferences</quote> menu to configure
372 <application>Seamonkey</application>'s options and preferences to suit
373 individual tastes, finer grain control of many options is only available
374 using a tool not available from the general menu system. To access this
375 tool, you'll need to open a browser window and enter
376 <systemitem role="url">about:config</systemitem> in the address bar. This
377 will display a list of the configuration preferences and information
378 related to each one. You can use the <quote>Search:</quote> bar to enter
379 search criteria and narrow down the listed items. Changing a preference
380 can be done using two methods. One, if the preference has a boolean value
381 (True/False), simply double-click on the preference to toggle the value
382 and two, for other preferences simply right-click on the desired line,
383 choose <quote>Modify</quote> from the menu and change the value. Creating
384 new preference items is accomplished in the same way, except choose
385 <quote>New</quote> from the menu and provide the desired data into the
386 fields when prompted.
387 </para>
388
389 <para>
390 If you use a desktop environment like <application>Gnome</application> or
391 <application>KDE</application> you may wish to create a
392 <filename>seamonkey.desktop</filename> file so that
393 <application>Seamonkey</application> appears in the panel's menus. If you
394 didn't enable <application>Startup-Notification</application> in your
395 mozconfig change the StartupNotify line to false. As the
396 <systemitem class="username">root</systemitem> user:
397 </para>
398
399<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
400
401cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
402<literal>[Desktop Entry]
403Encoding=UTF-8
404Type=Application
405Name=Seamonkey
406Comment=The Mozilla Suite
407Icon=seamonkey
408Exec=seamonkey
409Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
410StartupNotify=true
411Terminal=false</literal>
412EOF
413
414ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
415 /usr/share/pixmaps/seamonkey.png</userinput></screen>
416 </sect2>
417
418 <sect2 role="content">
419 <title>Contents</title>
420
421 <segmentedlist>
422 <segtitle>Installed Programs</segtitle>
423 <segtitle>Installed Libraries</segtitle>
424 <segtitle>Installed Directory</segtitle>
425
426 <seglistitem>
427 <seg>seamonkey</seg>
428 <seg>
429 Numerous libraries, browser, and email/newsgroup components, plugins,
430 extensions, and helper modules installed in
431 <filename class="directory">/usr/lib/seamonkey</filename>
432 </seg>
433 <seg>
434 /usr/lib/seamonkey
435 </seg>
436 </seglistitem>
437 </segmentedlist>
438
439 <variablelist>
440 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
441 <?dbfo list-presentation="list"?>
442 <?dbhtml list-presentation="table"?>
443
444 <varlistentry id="seamonkey-prog">
445 <term><command>seamonkey</command></term>
446 <listitem>
447 <para>
448 is the Mozilla browser/email/newsgroup/chat client suite
449 </para>
450 <indexterm zone="seamonkey seamonkey-prog">
451 <primary sortas="b-seamonkey">seamonkey</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455 </variablelist>
456 </sect2>
457
458</sect1>
Note: See TracBrowser for help on using the repository browser.