glfs/xsoft/graphweb/seamonkey.xml
Douglas R. Reno 36bbe491ee Finished Updating GNOME and completed GNOME Merge, as well as some tags and typo fixes.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@17584 af4574ff-66df-0310-9fd7-8a98e5e911e0
2016-07-10 08:18:47 +00:00

470 lines
17 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY seamonkey-download-http "&mozilla-http;/seamonkey/releases/&seamonkey-version;/source/seamonkey-&seamonkey-version;.source.tar.xz">
<!-- <!ENTITY seamonkey-download-ftp "&mozilla-ftp;/seamonkey/releases/&seamonkey-version;/source/seamonkey-&seamonkey-version;.source.tar.bz2">-->
<!ENTITY seamonkey-download-ftp " ">
<!ENTITY seamonkey-md5sum "5789df8f96e14577c275f10fdf8462f3">
<!ENTITY seamonkey-size "185 MB">
<!ENTITY seamonkey-buildsize "4.3 GB (84 MB installed)">
<!ENTITY seamonkey-time "13 SBU (using parallelism=4)">
]>
<sect1 id="seamonkey" xreflabel="SeaMonkey-&seamonkey-version;">
<?dbhtml filename="seamonkey.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>SeaMonkey-&seamonkey-version;</title>
<indexterm zone="seamonkey">
<primary sortas="a-SeaMonkey">SeaMonkey</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to SeaMonkey</title>
<para>
<application>SeaMonkey</application> is a browser suite, the Open Source
sibling of <application>Netscape</application>. It includes the browser,
composer, mail and news clients, and an IRC client. It is the follow-on
to the Mozilla browser suite.
</para>
<para>
The Mozilla project also hosts two subprojects that aim to satisfy the
needs of users who don't need the complete browser suite or prefer to have
separate applications for browsing and e-mail. These subprojects are
<xref linkend="firefox"/> and <xref linkend="thunderbird"/>. Both are
based on the <application>Mozilla</application> source code.
</para>
&lfs79_checked;&gcc6_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&seamonkey-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&seamonkey-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &seamonkey-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &seamonkey-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &seamonkey-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &seamonkey-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch if using gcc-6 or later
<ulink url="&patch-root;/seamonkey-&seamonkey-version;-gcc6-1.patch"/>
</para>
</listitem>
</itemizedlist>
<note>
<para>
The tarball
<emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
</para>
</note>
<bridgehead renderas="sect3">SeaMonkey Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="alsa-lib"/>,
<xref linkend="gtk2"/>,
<xref linkend="unzip"/>,
<xref linkend="yasm"/>, and
<xref linkend="zip"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="icu"/>,
<xref linkend="libevent"/>,
<xref linkend="libvpx"/>,
<xref linkend="nspr"/>, and
<xref linkend="nss"/><!--, and
<xref linkend="sqlite"/>-->
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="sqlite"/> (not recommended due to potential
security concerns)
</para>
<note>
<para>
If you don't install recommended dependencies, then internal copies of
those packages will be used. They might be tested to work, but they can
be out of date or contain security holes.
</para>
</note>
<note>
<para>
You must have installed <application>Openssl</application> before
<application>Python 2</application> or the build system will quickly
fail with output including "ImportError: cannot import name
HTTPSHandler". If you are in any doubt about this (e.g. upgrading from
an older version of Seamonkey), check if
<filename>/usr/lib/python&python2-majorver;/lib-dynload/_ssl.so</filename>
exists. If it does not, reinstall <xref linkend="python2"/> (after
installing <xref linkend="openssl"/>. The latest version of any
<emphasis>currently maintained</emphasis> version of Openssl should be
satisfactory if already installed.
</para>
</note>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="curl"/>,
<xref linkend="dbus-glib"/>,
<xref linkend="doxygen"/>,
<xref linkend="GConf"/>,
<xref linkend="gst10-plugins-base"/> (with
<xref linkend="gst10-plugins-good"/> and
<xref linkend="gst10-libav"/> at runtime),
<xref linkend="openjdk"/>,
<xref linkend="pulseaudio"/>,
<xref linkend="startup-notification"/>,
<xref linkend="valgrind"/>,
<xref linkend="wget"/>,
<xref linkend="wireless_tools"/>, and
<ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/seamonkey"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of SeaMonkey</title>
<para>
The configuration of <application>SeaMonkey</application> is accomplished
by creating a <filename>mozconfig</filename> file containing the desired
configuration options. A default <filename>mozconfig</filename> file is
created below. To see the entire list of available configuration options
(and an abbreviated description of each one), issue
<command>./configure --help</command>. You may also wish to review the
entire file and uncomment any other desired options. Create the file by
issuing the following command:
</para>
<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
<literal># If you have a multicore machine, all cores will be used by default.
# If desired, you can reduce the number of cores used, e.g. to 1, by
# uncommenting the next line and setting a valid number of CPU cores.
#mk_add_options MOZ_MAKE_FLAGS="-j1"
# If you have installed DBus-Glib comment out this line:
ac_add_options --disable-dbus
# If you have installed dbus-glib, and you have installed (or will install)
# wireless-tools, and you wish to use geolocation web services, comment out
# this line
ac_add_options --disable-necko-wifi
# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
# in about:config. If you have GStreamer 1.x.y, uncomment this line:
#ac_add_options --enable-gstreamer=1.0
# Uncomment these lines if you have installed optional dependencies:
#ac_add_options --enable-system-hunspell
#ac_add_options --enable-startup-notification
# Comment out following option if you have PulseAudio installed
ac_add_options --disable-pulseaudio
# Comment out following option if you have gconf installed
ac_add_options --disable-gconf
# Comment out following options if you have not installed
# recommended dependencies:
# Do not use system SQLite for SeaMonkey based on XUL-47
#ac_add_options --enable-system-sqlite
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu
# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=suite
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-gio
ac_add_options --enable-official-branding
ac_add_options --enable-safe-browsing
ac_add_options --enable-url-classifier
# Use internal cairo due to reports of unstable execution with
# system cairo
#ac_add_options --enable-system-cairo
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-pthreads
ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-build-dir</literal>
EOF</userinput></screen>
<note><para>
If you are compiling <application>SeaMonkey</application> in chroot, make
sure you have the <envar>SHELL</envar> environment variable set or prepend
<envar>SHELL=/bin/sh</envar> to the first make command below.
</para></note>
<para>
The moz-build-dir directory needs to exist and match the value used in
mozconfig (above) for the object directory (MOZ_OBJDIR):
</para>
<screen><userinput>mkdir -vp mozilla/moz-build-dir</userinput></screen>
<para>
Compile <application>SeaMonkey</application> by running the following
commands:
</para>
<!-- Should not be needed if Xorg setup instructions were followed
<note><para>If you did not install Xorg in /usr, be sure to specify the
location with:</para>
<screen><userinput>export CPLUS_INCLUDE_PATH=$XORG_PREFIX/include
export C_INCLUDE_PATH=$XORG_PREFIX/include</userinput></screen>
</note>
-->
<para>
Fix an issue with GCC-6.0 and higher:
</para>
<screen><userinput>patch -d mozilla/ -Np1 -i ../../seamonkey-&seamonkey-version;-gcc6-1.patch</userinput></screen>
<screen><userinput>export CFLAGS_HOLD=$CFLAGS &amp;&amp;
export CXXFLAGS_HOLD=$CXXFLAGS &amp;&amp;
export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" &amp;&amp;
export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" &amp;&amp;
make -f client.mk</userinput></screen>
<para>
This package does not come with a test suite.
</para>
<para>
Install <application>SeaMonkey</application> by issuing the following
commands as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>
make -f client.mk install INSTALL_SDK= &amp;&amp;
chown -R 0:0 /usr/lib/seamonkey-&seamonkey-version; &amp;&amp;
cp -v moz-build-dir/dist/man/man1/seamonkey.1 /usr/share/man/man1 &amp;&amp;
export CFLAGS=$CFLAGS_HOLD &amp;&amp;
export CXXFLAGS=$CXXFLAGS_HOLD &amp;&amp;
unset CFLAGS_HOLD CXXFLAGS_HOLD</userinput></screen>
<bridgehead renderas="sect3" id="devel-seamonkey" xreflabel="SeaMonkey">
All the Development Libraries and Headers
</bridgehead>
<para>
If you want to install the full <application>SeaMonkey</application>
development environment, as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make -C moz-build-dir install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>mkdir -vp mozilla/moz-build-dir</command>: fixes a build failure
of Makefile at the beginning of the build, where a file cannot be found.
</para>
<para>
<command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
settings work around code which gcc6 would otherwise regard as
out-of-specification and allow it to produce a working program.
</para>
<para>
<command>make -f client.mk</command>: Mozilla products are packaged to
allow the use of a configuration file which can be used to pass the
configuration settings to the <command>configure</command> command.
<command>make</command> uses the <filename>client.mk</filename> file to
get initial configuration and setup parameters.
</para>
</sect2>
<sect2 role="configuration">
<title>Configuring SeaMonkey</title>
<!-- This worked for me without the extra configuration
<para>
If you did not add the <option>- -disable-webm</option> option to your
<filename>mozconfig</filename>, your <application>SeaMonkey</application>
can play most youtube videos without the need for the flash plugin. To
enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
on 'Join the HTML5 Trial' (needs cookies enabled).
</para>
-->
<para>
For installing various <application>SeaMonkey</application> plugins, refer
to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's PluginDoc
Project</ulink>.
</para>
<para>
Along with using the <quote>Preferences</quote> menu to configure
<application>SeaMonkey</application>'s options and preferences to suit
individual tastes, finer grain control of many options is only available
using a tool not available from the general menu system. To access this
tool, you'll need to open a browser window and enter
<systemitem role="url">about:config</systemitem> in the address bar. This
will display a list of the configuration preferences and information
related to each one. You can use the <quote>Filter:</quote> bar to enter
search criteria and narrow down the listed items. Changing a preference
can be done using two methods. One, if the preference has a boolean value
(True/False), simply double-click on the preference to toggle the value
and two, for other preferences simply right-click on the desired line,
choose <quote>Modify</quote> from the menu and change the value. Creating
new preference items is accomplished in the same way, except choose
<quote>New</quote> from the menu and provide the desired data into the
fields when prompted.
</para>
<tip>
<para>
There is a multitude of configuration parameters you can tweak to
customize <application>SeaMonkey</application>. A very extensive list of
these parameters can be found at
<ulink url="http://preferential.mozdev.org/preferences.html"/>.
</para>
</tip>
<para>
If you use a desktop environment like <application>Gnome</application> or
<application>KDE</application> you may wish to create a
<filename>seamonkey.desktop</filename> file so that
<application>SeaMonkey</application> appears in the panel's menus. If you
didn't enable <application>Startup-Notification</application> in your
mozconfig change the StartupNotify line to false. As the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF" &amp;&amp;
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=SeaMonkey
Comment=The Mozilla Suite
Icon=seamonkey
Exec=seamonkey
Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
StartupNotify=true
Terminal=false
EOF
ln -sfv /usr/lib/seamonkey-&seamonkey-version;/chrome/icons/default/seamonkey.png \
/usr/share/pixmaps</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>seamonkey</seg>
<seg>
Numerous libraries, browser, and email/newsgroup components, plugins,
extensions, and helper modules installed in <filename
class="directory">/usr/lib/seamonkey-&seamonkey-version;</filename>
</seg>
<seg>
/usr/lib/seamonkey-&seamonkey-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="seamonkey-prog">
<term><command>seamonkey</command></term>
<listitem>
<para>
is the Mozilla browser/email/newsgroup/chat client suite.
</para>
<indexterm zone="seamonkey seamonkey-prog">
<primary sortas="b-seamonkey">seamonkey</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>