source: xsoft/graphweb/seamonkey.xml@ eedb6d02

12.1 12.2 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128
Last change on this file since eedb6d02 was eedb6d02, checked in by Xi Ruoyao <xry111@…>, 11 months ago

seamonkey: Move CC=clang CXX=clang++ from command line into mozconfig

"export CC=clang CXX=clang++" is bad because it contaminates the
environment, thus if some packages are built after seamonkey in the same
shell and the user wouldn't have unset CC and CXX, those package may be
built with an untested configuration.

Move them into mozconfig. A test build has shown they still works
there.

  • Property mode set to 100644
File size: 16.0 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 "15c73a5e725b7f002b2789706ae643d9">
10 <!ENTITY seamonkey-size "254 MB">
11 <!ENTITY seamonkey-buildsize "4.3 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 </itemizedlist>
86
87 <note>
88 <para>
89 The tarball
90 <emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
91 untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
92 </para>
93 </note>
94
95 <bridgehead renderas="sect3">Seamonkey Dependencies</bridgehead>
96
97 <bridgehead renderas="sect4">Required</bridgehead>
98 <para role="required">
99 <xref linkend="autoconf213"/>,
100 <xref linkend="cbindgen"/>,
101 <xref linkend="gtk3"/>,
102 <xref linkend="nodejs"/>,
103 <xref linkend="unzip"/>,
104 <xref linkend="yasm"/>, and
105 <xref linkend="zip"/>
106 </para>
107
108 <bridgehead renderas="sect4">Recommended</bridgehead>
109 <para role="recommended">
110 <xref linkend="icu"/>,
111 <xref linkend="libevent"/>,
112 <!--<xref linkend="libvpx"/>, Causes build failures similar to Firefox -->
113 <xref linkend="libwebp"/>,
114 <xref linkend="llvm"/> (with clang),
115 <xref linkend="nasm"/>,
116 <xref linkend="nspr"/>,
117 <xref linkend="nss"/>, and
118 <xref linkend="pulseaudio"/>
119 <!-- <xref linkend="sqlite"/> system version no longer supported -->
120 </para>
121<!--
122 <bridgehead renderas="sect4">Optional</bridgehead>
123 <para role="optional">
124 <xref linkend="sqlite"/> (not recommended due to potential
125 security concerns)
126 </para>
127-->
128 <note>
129 <para>
130 If you don't install recommended dependencies, then internal copies of
131 those packages will be used. They might be tested to work, but they can
132 be out of date or contain security holes.
133 </para>
134 </note>
135
136 <bridgehead renderas="sect4">Optional</bridgehead>
137 <para role="optional">
138 <xref linkend="alsa-lib"/>,
139 <!--<xref linkend="curl"/>,-->
140 <xref linkend="dbus-glib"/>,
141 <!--<xref linkend="doxygen"/>,-->
142 <xref linkend="GConf"/>,
143 <!--<xref linkend="gst10-plugins-base"/> (and other plugins, only for tests),-->
144 <!--<xref linkend="openjdk"/>, Not seen in logs -->
145 <xref linkend="startup-notification"/>,
146 <xref linkend="valgrind"/>,
147 <xref linkend="wget"/>,
148 <xref linkend="wireless_tools"/>,
149 <ulink url="https://hunspell.sourceforge.net/">Hunspell</ulink>, and
150 <ulink url="https://facebook.github.io/watchman/">Watchman</ulink>
151 </para>
152
153 <para condition="html" role="usernotes">
154 Editor Notes: <ulink url="&blfs-wiki;/seamonkey"/>
155 </para>
156
157 </sect2>
158
159 <sect2 role="installation">
160 <title>Installation of Seamonkey</title>
161
162 <para>
163 The configuration of <application>Seamonkey</application> is accomplished
164 by creating a <filename>mozconfig</filename> file containing the desired
165 configuration options. A default <filename>mozconfig</filename> file is
166 created below. To see the entire list of available configuration options
167 (and an abbreviated description of each one), issue
168 <command>./configure --help</command>. You may also wish to review the
169 entire file and uncomment any other desired options. Create the file by
170 issuing the following command:
171 </para>
172
173<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
174<literal># If you have a multicore machine, all cores will be used
175
176# If you have installed DBus-Glib comment out this line:
177ac_add_options --disable-dbus
178
179# If you have installed dbus-glib, and you have installed (or will install)
180# wireless-tools, and you wish to use geolocation web services, comment out
181# this line
182ac_add_options --disable-necko-wifi
183
184# Uncomment these lines if you have installed optional dependencies:
185#ac_add_options --enable-system-hunspell
186#ac_add_options --enable-startup-notification
187
188# Uncomment the following option if you have not installed PulseAudio
189#ac_add_options --disable-pulseaudio
190# and uncomment this if you installed alsa-lib instead of PulseAudio
191#ac_add_options --enable-alsa
192
193# Comment out following option if you have gconf installed
194ac_add_options --disable-gconf
195<!-- comments cause a blank line, following was for icu in the past
196 seems OK with icu-60, seamonkey-2.49
197 line below was with comment and explanation
198# Use the internal version of icu due to execution problems-->
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
212# The elf-hack is reported to cause failed installs (after successful builds)
213# on some machines. It is supposed to improve startup time and it shrinks
214# libxul.so by a few MB - comment this if you know your machine is not affected.
215ac_add_options --disable-elf-hack
216
217# Seamonkey has some additional features that are not turned on by default,
218# such as an IRC client, calendar, and DOM Inspector. The DOM Inspector
219# aids with designing web pages. Comment these options if you do not
220# desire these features.
221ac_add_options --enable-calendar
222ac_add_options --enable-dominspector
223ac_add_options --enable-irc
224
225# The BLFS editors recommend not changing anything below this line:
226ac_add_options --prefix=/usr
227ac_add_options --enable-application=comm/suite
228
229ac_add_options --disable-crashreporter
230ac_add_options --disable-updater
231ac_add_options --disable-tests
232
233# rust-simd does not compile with recent versions of rust.
234# It is disabled in recent versions of firefox
235ac_add_options --disable-rust-simd
236
237ac_add_options --enable-optimize="-O2"
238ac_add_options --enable-strip
239ac_add_options --enable-install-strip
240ac_add_options --enable-official-branding
241
242# The option to use system cairo was removed in 2.53.9.
243ac_add_options --enable-system-ffi
244ac_add_options --enable-system-pixman
245
246ac_add_options --with-system-bz2
247ac_add_options --with-system-jpeg
248ac_add_options --with-system-png
249ac_add_options --with-system-zlib
250
251export CC=clang CXX=clang++</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 <para>
262 First, apply a security patch that fixes some problems with
263 Seamonkey's bundled version of libvpx:
264 </para>
265
266<screen><userinput>patch -Np1 -i ../seamonkey-&seamonkey-version;-consolidated_fixes-1.patch</userinput></screen>
267
268<!--
269 <para>
270 Next, work around a problem in the Python virtual environment:
271 </para>
272
273<screen><userinput>sed -i "/if sys.executable !=/i\ open(join(bin_dir, 'pyvenv.cfg'), 'w').close()" \
274 third_party/python/virtualenv/virtualenv.py</userinput></screen>
275-->
276
277 <para>
278 Fix a problem with the bundled 'distro' python module:
279 </para>
280
281<screen><userinput>sed -e '1012 s/stderr=devnull/stderr=subprocess.DEVNULL/' \
282 -e '1013 s/OSError/(OSError, subprocess.CalledProcessError)/' \
283 -i third_party/python/distro/distro.py</userinput></screen>
284
285 <para>
286 Compile <application>Seamonkey</application> by running the following
287 commands:
288 </para>
289
290<screen><userinput>./mach configure &amp;&amp;
291./mach build</userinput></screen>
292
293
294 <!-- comment this since llvm must have been installed for rust
295 <note>
296 <para>
297 The CC and CXX variables above are only needed if
298 <xref linkend="llvm"/> is installed and you do not want to use clang.
299 </para>
300 </note>-->
301
302 <para>
303 This package does not come with a test suite.
304 </para>
305
306 <para>
307 Install <application>Seamonkey</application> by issuing the following
308 commands as the <systemitem class="username">root</systemitem> user:
309 </para>
310
311
312<screen role="root"><userinput>./mach install &amp;&amp;
313chown -R 0:0 /usr/lib/seamonkey &amp;&amp;
314
315cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
316
317 </sect2>
318
319 <sect2 role="commands">
320 <title>Command Explanations</title>
321
322 <para>
323 <command>export CC=clang CXX=clang++</command>:
324 With the introduction of <application>gcc-12</application>, many
325 more warnings are generated when compiling mozilla applications
326 and that results in a much slower, and larger, build. Furthermore,
327 building with GCC on i?86 is currently broken.
328 Although upstream mozilla code defaults to using
329 <application>llvm</application> unless overridden, the older configure
330 code in <application>Seamonkey</application> defaults to gcc.
331 </para>
332
333 <para>
334 <command>./mach configure</command>: This validates
335 the supplied dependencies and the <filename>mozconfig</filename>.
336 <!--This is run twice because problems with mach will cause it to fail the
337 first time.-->
338 </para>
339
340 <para>
341 <option>./mach build --verbose</option>: Use this alternative if you
342 need details of which files are being compiled, together with any C or
343 C++ flags being used. But do not add '--verbose' to the install command,
344 it is not accepted there.
345 </para>
346
347 <para>
348 <option>./mach build -jN</option>: The build should, by default, use
349 all the online CPU cores. If using all the cores causes the build to swap
350 because you have insufficient memory, using fewer cores can be faster.
351 </para>
352
353 </sect2>
354
355 <sect2 role="configuration">
356 <title>Configuring Seamonkey</title>
357
358 <para>
359 For installing various <application>Seamonkey</application> add-ons, refer
360 to <ulink url="https://addons.thunderbird.net/en-US/seamonkey/">Add-ons
361 for Seamonkey</ulink>.
362 </para>
363
364 <para>
365 Along with using the <quote>Preferences</quote> menu to configure
366 <application>Seamonkey</application>'s options and preferences to suit
367 individual tastes, finer grain control of many options is only available
368 using a tool not available from the general menu system. To access this
369 tool, you'll need to open a browser window and enter
370 <systemitem role="url">about:config</systemitem> in the address bar. This
371 will display a list of the configuration preferences and information
372 related to each one. You can use the <quote>Search:</quote> bar to enter
373 search criteria and narrow down the listed items. Changing a preference
374 can be done using two methods. One, if the preference has a boolean value
375 (True/False), simply double-click on the preference to toggle the value
376 and two, for other preferences simply right-click on the desired line,
377 choose <quote>Modify</quote> from the menu and change the value. Creating
378 new preference items is accomplished in the same way, except choose
379 <quote>New</quote> from the menu and provide the desired data into the
380 fields when prompted.
381 </para>
382
383<!-- The URL no longer exists.
384 <tip>
385 <para>
386 There is a multitude of configuration parameters you can tweak to
387 customize <application>SeaMonkey</application>. A very extensive list of
388 these parameters can be found at
389 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
390 </para>
391 </tip>
392-->
393 <para>
394 If you use a desktop environment like <application>Gnome</application> or
395 <application>KDE</application> you may wish to create a
396 <filename>seamonkey.desktop</filename> file so that
397 <application>Seamonkey</application> appears in the panel's menus. If you
398 didn't enable <application>Startup-Notification</application> in your
399 mozconfig change the StartupNotify line to false. As the
400 <systemitem class="username">root</systemitem> user:
401 </para>
402
403<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
404
405cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
406<literal>[Desktop Entry]
407Encoding=UTF-8
408Type=Application
409Name=Seamonkey
410Comment=The Mozilla Suite
411Icon=seamonkey
412Exec=seamonkey
413Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
414StartupNotify=true
415Terminal=false</literal>
416EOF
417
418ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
419 /usr/share/pixmaps/seamonkey.png</userinput></screen>
420 </sect2>
421
422 <sect2 role="content">
423 <title>Contents</title>
424
425 <segmentedlist>
426 <segtitle>Installed Programs</segtitle>
427 <segtitle>Installed Libraries</segtitle>
428 <segtitle>Installed Directory</segtitle>
429
430 <seglistitem>
431 <seg>seamonkey</seg>
432 <seg>
433 Numerous libraries, browser, and email/newsgroup components, plugins,
434 extensions, and helper modules installed in
435 <filename class="directory">/usr/lib/seamonkey</filename>
436 </seg>
437 <seg>
438 /usr/lib/seamonkey
439 </seg>
440 </seglistitem>
441 </segmentedlist>
442
443 <variablelist>
444 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
445 <?dbfo list-presentation="list"?>
446 <?dbhtml list-presentation="table"?>
447
448 <varlistentry id="seamonkey-prog">
449 <term><command>seamonkey</command></term>
450 <listitem>
451 <para>
452 is the Mozilla browser/email/newsgroup/chat client suite
453 </para>
454 <indexterm zone="seamonkey seamonkey-prog">
455 <primary sortas="b-seamonkey">seamonkey</primary>
456 </indexterm>
457 </listitem>
458 </varlistentry>
459 </variablelist>
460 </sect2>
461
462</sect1>
Note: See TracBrowser for help on using the repository browser.