source: xsoft/graphweb/seamonkey.xml@ 787d4f0

trunk
Last change on this file since 787d4f0 was c842bcff, checked in by Douglas R. Reno <renodr@…>, 12 days ago

seamonkey: minor spacing adjustment

  • Property mode set to 100644
File size: 16.9 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[f939f05]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[525ba58]7 <!ENTITY seamonkey-download-http "https://archive.seamonkey-project.org/releases/&seamonkey-version;/source/seamonkey-&seamonkey-version;.source.tar.xz">
[6968e3cb]8 <!ENTITY seamonkey-download-ftp " ">
[ce066d2]9 <!ENTITY seamonkey-md5sum "0fbfbd69ab1ceb417528419324551510">
10 <!ENTITY seamonkey-size "238 MB">
11 <!ENTITY seamonkey-buildsize "4.5 GB (149 MB installed)">
12 <!ENTITY seamonkey-time "6.9 SBU (with parallelism=8)">
[a41f643]13]>
[f939f05]14
[eebff7b]15<sect1 id="seamonkey" xreflabel="seamonkey-&seamonkey-version;">
[b5eb704]16 <?dbhtml filename="seamonkey.html" ?>
[88dd2f52]17
18
[eebff7b]19 <title>Seamonkey-&seamonkey-version;</title>
[88dd2f52]20
[b5eb704]21 <indexterm zone="seamonkey">
[eebff7b]22 <primary sortas="a-seamonkey">seamonkey</primary>
[88dd2f52]23 </indexterm>
24
25 <sect2 role="package">
[eebff7b]26 <title>Introduction to Seamonkey</title>
[88dd2f52]27
[a0d389d]28 <para>
[eebff7b]29 <application>Seamonkey</application> is a browser suite, a descendant
[99fede1f]30 of <application>Netscape</application>. It includes the browser,
31 composer, mail and news clients, and an IRC client.
[a0d389d]32 </para>
33
34 <para>
[99fede1f]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"/>.
[a0d389d]39 </para>
[88cec02]40
[381c084c]41 &lfs122_checked;
[88dd2f52]42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
[d2e21cb0]45 <listitem>
[a0d389d]46 <para>
47 Download (HTTP): <ulink url="&seamonkey-download-http;"/>
48 </para>
[d2e21cb0]49 </listitem>
[88dd2f52]50 <listitem>
[a0d389d]51 <para>
52 Download (FTP): <ulink url="&seamonkey-download-ftp;"/>
53 </para>
[88dd2f52]54 </listitem>
55 <listitem>
[a0d389d]56 <para>
57 Download MD5 sum: &seamonkey-md5sum;
58 </para>
[88dd2f52]59 </listitem>
60 <listitem>
[a0d389d]61 <para>
62 Download size: &seamonkey-size;
63 </para>
[88dd2f52]64 </listitem>
65 <listitem>
[a0d389d]66 <para>
67 Estimated disk space required: &seamonkey-buildsize;
68 </para>
[88dd2f52]69 </listitem>
70 <listitem>
[a0d389d]71 <para>
72 Estimated build time: &seamonkey-time;
73 </para>
[88dd2f52]74 </listitem>
75 </itemizedlist>
[b74c79f]76
[0fc5bfd7]77 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
[82a27795]78 <itemizedlist spacing="compact">
79 <listitem>
80 <para>
[83875ca]81 Recommended patch (required for building with system ICU-75 or
82 newer):
83 <ulink url="&patch-root;/seamonkey-&seamonkey-version;-cxx17-1.patch"/>
[82a27795]84 </para>
85 </listitem>
[83875ca]86 <!--
[f56feddc]87 <listitem>
88 <para>
89 Required Python module:
90 <ulink url="&pymodules-dl;/s/setuptools/setuptools-&setuptools-version;.tar.gz"/>
91 </para>
92 <para>
93 This module has already been installed in LFS, but now we need
[4b3d207]94 to rebuild its wheel package for the SeaMonkey build system.
[f56feddc]95 </para>
96 </listitem>
[6848f3f5]97 -->
[83875ca]98 </itemizedlist>
[b74c79f]99
[f06c692]100 <note>
101 <para>
102 The tarball
103 <emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
104 untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
105 </para>
106 </note>
107
[eebff7b]108 <bridgehead renderas="sect3">Seamonkey Dependencies</bridgehead>
[88dd2f52]109
110 <bridgehead renderas="sect4">Required</bridgehead>
[a0d389d]111 <para role="required">
[bdfd276]112 <xref linkend="cbindgen"/>,
[b5cd03d9]113 <xref linkend="gtk3"/>,
[03adc377]114 <xref linkend="nodejs"/>,
[6848f3f5]115 <xref linkend="python311"/>,
[8558044]116 <xref linkend="unzip"/>,
117 <xref linkend="yasm"/>, and
[01cd3461]118 <xref linkend="zip"/>
[a0d389d]119 </para>
[b5eb704]120
121 <bridgehead renderas="sect4">Recommended</bridgehead>
[a0d389d]122 <para role="recommended">
[566fcae]123 <xref linkend="icu"/>,
124 <xref linkend="libevent"/>,
[57daeab9]125 <!--<xref linkend="libvpx"/>, Causes build failures similar to Firefox -->
[f572dbb]126 <xref linkend="libwebp"/>,
127 <xref linkend="llvm"/> (with clang),
[3bf5de79]128 <xref linkend="nasm"/>,
[8558044]129 <xref linkend="nspr"/>,
[3bf5de79]130 <xref linkend="nss"/>, and
131 <xref linkend="pulseaudio"/>
[82a27795]132 </para>
[ce066d2]133
[316d9591]134 <note>
135 <para>
[566fcae]136 If you don't install recommended dependencies, then internal copies of
137 those packages will be used. They might be tested to work, but they can
138 be out of date or contain security holes.
139 </para>
140 </note>
[0a675f98]141
[88dd2f52]142 <bridgehead renderas="sect4">Optional</bridgehead>
[a0d389d]143 <para role="optional">
[2c13ebe]144 <xref linkend="alsa-lib"/>,
[a0d389d]145 <xref linkend="dbus-glib"/>,
[566fcae]146 <xref linkend="startup-notification"/>,
147 <xref linkend="valgrind"/>,
148 <xref linkend="wget"/>,
[33befb9]149 <xref linkend="wireless_tools"/>,
[493ec31]150 <ulink url="https://hunspell.sourceforge.net/">Hunspell</ulink>,
151 <ulink url="https://gitlab.gnome.org/Archive/gconf">Gconf</ulink>, and
[33befb9]152 <ulink url="https://facebook.github.io/watchman/">Watchman</ulink>
[a0d389d]153 </para>
154
[88dd2f52]155 </sect2>
156
157 <sect2 role="installation">
[eebff7b]158 <title>Installation of Seamonkey</title>
[6a79dc72]159
[a0d389d]160 <para>
[eebff7b]161 The configuration of <application>Seamonkey</application> is accomplished
[a0d389d]162 by creating a <filename>mozconfig</filename> file containing the desired
163 configuration options. A default <filename>mozconfig</filename> file is
164 created below. To see the entire list of available configuration options
165 (and an abbreviated description of each one), issue
166 <command>./configure --help</command>. You may also wish to review the
167 entire file and uncomment any other desired options. Create the file by
168 issuing the following command:
169 </para>
[7f588e9a]170
[4def8b6]171<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
[0a675f98]172<literal># If you have a multicore machine, all cores will be used
[d59969b]173
[566fcae]174# If you have installed DBus-Glib comment out this line:
[88cec02]175ac_add_options --disable-dbus
[7f588e9a]176
[566fcae]177# If you have installed dbus-glib, and you have installed (or will install)
178# wireless-tools, and you wish to use geolocation web services, comment out
179# this line
[88cec02]180ac_add_options --disable-necko-wifi
[d59969b]181
[566fcae]182# Uncomment these lines if you have installed optional dependencies:
183#ac_add_options --enable-system-hunspell
184#ac_add_options --enable-startup-notification
185
[2c13ebe]186# Uncomment the following option if you have not installed PulseAudio
187#ac_add_options --disable-pulseaudio
188# and uncomment this if you installed alsa-lib instead of PulseAudio
189#ac_add_options --enable-alsa
[9bfa6854]190
[493ec31]191# Comment out the following option if you have gconf installed
192ac_add_options --disable-gconf
193
[566fcae]194# Comment out following options if you have not installed
195# recommended dependencies:
[3bf5de79]196ac_add_options --with-system-icu
[566fcae]197ac_add_options --with-system-libevent
198ac_add_options --with-system-nspr
[257c1bf]199ac_add_options --with-system-nss
[3bf5de79]200ac_add_options --with-system-webp
[566fcae]201
[88dd6e72]202# Disabling debug symbols makes the build much smaller and a little
[7f44495]203# faster. Comment this if you need to run a debugger.
[88dd6e72]204ac_add_options --disable-debug-symbols
[9bfa6854]205<!-- With Firefox ESR 128 we'd replace the following part with
206"- -enable-elf-hack=relr", or remove it if relr becomes the default.
207But I've no idea if SeaMonkey will have this change backported. -->
[0c3d3e5]208# The elf-hack is reported to cause failed installs (after successful builds)
209# on some machines. It is supposed to improve startup time and it shrinks
[29ef9b8f]210# libxul.so by a few MB. With recent Binutils releases the linker already
211# supports a much safer and generic way for this.
[0c3d3e5]212ac_add_options --disable-elf-hack
[29ef9b8f]213ac_add_options --enable-linker=bfd
214export LDFLAGS="$LDFLAGS -Wl,-z,pack-relative-relocs"
[0c3d3e5]215
[257c1bf]216# Seamonkey has some additional features that are not turned on by default,
217# such as an IRC client, calendar, and DOM Inspector. The DOM Inspector
218# aids with designing web pages. Comment these options if you do not
219# desire these features.
220ac_add_options --enable-calendar
[6852cb9]221ac_add_options --enable-dominspector
[257c1bf]222ac_add_options --enable-irc
223
[566fcae]224# The BLFS editors recommend not changing anything below this line:
225ac_add_options --prefix=/usr
[33befb9]226ac_add_options --enable-application=comm/suite
[d59969b]227
[a45062d]228ac_add_options --disable-crashreporter
229ac_add_options --disable-updater
[566fcae]230ac_add_options --disable-tests
231
[e1092747]232# The SIMD code relies on the unmaintained packed_simd crate which
233# fails to build with Rustc >= 1.78.0. We may re-enable it once
[9ce8fc7]234# Mozilla port the code to use std::simd and std::simd is stabilized.
[e1092747]235ac_add_options --disable-rust-simd
[3e8c126]236
[566fcae]237ac_add_options --enable-strip
238ac_add_options --enable-install-strip
[29ef9b8f]239
240# You cannot distribute the binary if you do this.
[566fcae]241ac_add_options --enable-official-branding
242
[0a675f98]243# The option to use system cairo was removed in 2.53.9.
[a45062d]244ac_add_options --enable-system-ffi
[566fcae]245ac_add_options --enable-system-pixman
246
247ac_add_options --with-system-bz2
[a0ace670]248ac_add_options --with-system-jpeg
249ac_add_options --with-system-png
[eedb6d02]250ac_add_options --with-system-zlib
251
252export CC=clang CXX=clang++</literal>
[2d237fa]253EOF</userinput></screen>
[d59969b]254
[5b0a978e]255 <note>
256 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
257 href="../../xincludes/mozshm.xml"/>
258 </note>
[b74c79f]259
[6848f3f5]260 <para>
261 First, if you are building with system ICU, adapt the line break mapping
[83875ca]262 for ICU-74 or later, and apply a patch to build this package with the
263 C++17 standard because the headers of ICU-75 or later require some
264 C++17 features:
[6848f3f5]265 </para>
266
267<screen><userinput remap="pre">(for i in {43..47}; do
268 sed '/ZWJ/s/$/,CLASS_CHARACTER/' -i intl/lwbrk/LineBreaker.cpp || exit $?
[83875ca]269done) &amp;&amp;
270
271patch -Np1 -i ../seamonkey-&seamonkey-version;-cxx17-1.patch</userinput></screen>
[7be485e]272
[ce271d7]273 <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=1894423 -->
274 <para>
275 Next, remove a hunk of unused code violating the C++ standard.
276 Clang has started to reject it even though it's unused since the
277 19.1.0 release:
278 </para>
279
280<screen><userinput>sed '/ExclusiveData(ExclusiveData&amp;&amp;/,/^ *}/d' \
281 -i js/src/threading/ExclusiveData.h</userinput></screen>
282
[2b5deee]283 <para>
[6848f3f5]284 Next, fix a problem with the bundled 'distro' python module:
[2b5deee]285 </para>
286
[6848f3f5]287<screen><userinput remap="pre">sed -e '1012 s/stderr=devnull/stderr=subprocess.DEVNULL/' \
[c5f66519]288 -e '1013 s/OSError/(OSError, subprocess.CalledProcessError)/' \
289 -i third_party/python/distro/distro.py</userinput></screen>
[2b5deee]290
[a0d389d]291 <para>
[eebff7b]292 Compile <application>Seamonkey</application> by running the following
[82a27795]293 commands:
[a0d389d]294 </para>
[b0ed6bdf]295
[f94402b]296<screen><userinput>export PATH_PY311=/opt/python3.11/bin:$PATH &amp;&amp;
[ce066d2]297PATH=$PATH_PY311 AUTOCONF=true MACH_USE_SYSTEM_PYTHON=1 ./mach build</userinput></screen>
[82a27795]298
[a0d389d]299 <para>
[72ac7f2]300 This package does not come with a test suite.
[a0d389d]301 </para>
[87c2868]302
[a0d389d]303 <para>
[eebff7b]304 Install <application>Seamonkey</application> by issuing the following
[a0d389d]305 commands as the <systemitem class="username">root</systemitem> user:
306 </para>
[7f588e9a]307
[d5b06a4]308 <note>
309 <para>
310 If <command>sudo</command> or <command>su</command> is invoked for
311 opening a shell running as the &root; user, ensure
312 <envar>PATH_PY311</envar> is correctly passed or the
313 following command will fail. For <command>sudo</command>, use the
314 <option>--preserve-env=PATH_PY311</option> option.
315 For <command>su</command>, do <emphasis>not</emphasis> use the
316 <option>-</option> or <option>--login</option> options.
317 </para>
318 </note>
319
[ce066d2]320<screen role="root"><userinput>PATH=$PATH_PY311 MACH_USE_SYSTEM_PYTHON=1 ./mach install &amp;&amp;
[c842bcff]321chown -R 0:0 /usr/lib/seamonkey &amp;&amp;
[2e3b77b]322
323cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
[3551afa]324
[d5b06a4]325 <para>
326 Finally, unset the <envar>PATH_PY311</envar> variable:
327 </para>
328
329<screen><userinput>unset $PATH_PY311</userinput></screen>
330
[7f588e9a]331 </sect2>
332
333 <sect2 role="commands">
334 <title>Command Explanations</title>
[8a89491]335
[ce960d7]336 <para>
[3e7f3ee]337 <command>export CC=clang CXX=clang++</command>:
[532e5c9]338 With the introduction of <application>gcc-12</application>, many
339 more warnings are generated when compiling mozilla applications
[f572dbb]340 and that results in a much slower, and larger, build. Furthermore,
341 building with GCC on i?86 is currently broken.
[532e5c9]342 Although upstream mozilla code defaults to using
343 <application>llvm</application> unless overridden, the older configure
[eebff7b]344 code in <application>Seamonkey</application> defaults to gcc.
[0a675f98]345 </para>
346
[67f44136]347<!--
[0a675f98]348 <para>
[4e7ec17]349 <command>AUTOCONF=true ./mach configure</command>: This validates
[8a71122]350 the supplied dependencies and the <filename>mozconfig</filename>.
[4e7ec17]351 The building system always checks for an old version (2.13) of
352 autoconf, but it's not really needed because the necessary
353 <command>configure</command> scripts are already shipped in the
354 tarball and we've not modified the <filename>configure.in</filename>
355 files. So we pass <envar>AUTOCONF=true</envar> so the building system
356 will skip the checking for autoconf-2.13 and allow building this
357 package without autoconf-2.13 installed.
[0a675f98]358 </para>
[67f44136]359-->
[0a675f98]360
361 <para>
362 <option>./mach build --verbose</option>: Use this alternative if you
363 need details of which files are being compiled, together with any C or
364 C++ flags being used. But do not add '--verbose' to the install command,
365 it is not accepted there.
366 </para>
367
368 <para>
369 <option>./mach build -jN</option>: The build should, by default, use
370 all the online CPU cores. If using all the cores causes the build to swap
371 because you have insufficient memory, using fewer cores can be faster.
[a0d389d]372 </para>
373
[88dd2f52]374 </sect2>
375
376 <sect2 role="configuration">
[eebff7b]377 <title>Configuring Seamonkey</title>
[2e3b77b]378
[a0d389d]379 <para>
[eebff7b]380 For installing various <application>Seamonkey</application> add-ons, refer
[8558044]381 to <ulink url="https://addons.thunderbird.net/en-US/seamonkey/">Add-ons
[33befb9]382 for Seamonkey</ulink>.
[a0d389d]383 </para>
384
385 <para>
386 Along with using the <quote>Preferences</quote> menu to configure
[eebff7b]387 <application>Seamonkey</application>'s options and preferences to suit
[a0d389d]388 individual tastes, finer grain control of many options is only available
389 using a tool not available from the general menu system. To access this
390 tool, you'll need to open a browser window and enter
391 <systemitem role="url">about:config</systemitem> in the address bar. This
392 will display a list of the configuration preferences and information
[33befb9]393 related to each one. You can use the <quote>Search:</quote> bar to enter
[a0d389d]394 search criteria and narrow down the listed items. Changing a preference
395 can be done using two methods. One, if the preference has a boolean value
396 (True/False), simply double-click on the preference to toggle the value
397 and two, for other preferences simply right-click on the desired line,
398 choose <quote>Modify</quote> from the menu and change the value. Creating
399 new preference items is accomplished in the same way, except choose
400 <quote>New</quote> from the menu and provide the desired data into the
401 fields when prompted.
402 </para>
[7f588e9a]403
[a0d389d]404 <para>
405 If you use a desktop environment like <application>Gnome</application> or
406 <application>KDE</application> you may wish to create a
407 <filename>seamonkey.desktop</filename> file so that
[eebff7b]408 <application>Seamonkey</application> appears in the panel's menus. If you
[a0d389d]409 didn't enable <application>Startup-Notification</application> in your
410 mozconfig change the StartupNotify line to false. As the
411 <systemitem class="username">root</systemitem> user:
412 </para>
[5e2fb70]413
[4520f55]414<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
[fc9245e]415
[f002c3c]416cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
[51dfb3e]417<literal>[Desktop Entry]
[5e2fb70]418Encoding=UTF-8
419Type=Application
[eebff7b]420Name=Seamonkey
[5e2fb70]421Comment=The Mozilla Suite
422Icon=seamonkey
423Exec=seamonkey
424Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
425StartupNotify=true
[51dfb3e]426Terminal=false</literal>
[5e2fb70]427EOF
[fc9245e]428
[5dde2656]429ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
[7226770c]430 /usr/share/pixmaps/seamonkey.png</userinput></screen>
[88dd2f52]431 </sect2>
432
433 <sect2 role="content">
434 <title>Contents</title>
435
436 <segmentedlist>
[7f588e9a]437 <segtitle>Installed Programs</segtitle>
[88dd2f52]438 <segtitle>Installed Libraries</segtitle>
[c5f005b]439 <segtitle>Installed Directory</segtitle>
[88dd2f52]440
441 <seglistitem>
[88cec02]442 <seg>seamonkey</seg>
[a0d389d]443 <seg>
444 Numerous libraries, browser, and email/newsgroup components, plugins,
[4c24eb0a]445 extensions, and helper modules installed in
[4483a9a]446 <filename class="directory">/usr/lib/seamonkey</filename>
[a0d389d]447 </seg>
[7498751]448 <seg>
[33befb9]449 /usr/lib/seamonkey
[7498751]450 </seg>
[88dd2f52]451 </seglistitem>
452 </segmentedlist>
453
454 <variablelist>
455 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
456 <?dbfo list-presentation="list"?>
457 <?dbhtml list-presentation="table"?>
458
[b5eb704]459 <varlistentry id="seamonkey-prog">
460 <term><command>seamonkey</command></term>
[88dd2f52]461 <listitem>
[a0d389d]462 <para>
[4c24eb0a]463 is the Mozilla browser/email/newsgroup/chat client suite
[a0d389d]464 </para>
[b5eb704]465 <indexterm zone="seamonkey seamonkey-prog">
466 <primary sortas="b-seamonkey">seamonkey</primary>
[88dd2f52]467 </indexterm>
468 </listitem>
469 </varlistentry>
470 </variablelist>
471 </sect2>
[4c24eb0a]472
[f45b1953]473</sect1>
Note: See TracBrowser for help on using the repository browser.