glfs/x/lib/xulrunner.xml

305 lines
11 KiB
XML
Raw Normal View History

<?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 xulrunner-download-http
"http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
<!ENTITY xulrunner-download-ftp
"ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
<!-- md5sum and size should match firefox, but the buildsize and time will differ -->
<!ENTITY xulrunner-md5sum "80c3e5927274de7f181fb5f931ac5fd4">
<!ENTITY xulrunner-size "75 MB">
<!ENTITY xulrunner-buildsize "3.4 GB (538 MB installed)">
<!ENTITY xulrunner-time "22 SBU">
]>
<sect1 id="xulrunner" xreflabel="Xulrunner-&xulrunner-version;">
<?dbhtml filename="xulrunner.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Xulrunner-&xulrunner-version;</title>
<indexterm zone="xulrunner">
<primary sortas="a-Xulrunner">Xulrunner</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Xulrunner</title>
<para>
<application>Xulrunner</application> is a runtime environment for XUL
applications, and forms the major part of the
<application>Mozilla</application> codebase. In particular, it provides
the Gecko engine together with pkgconfig files so that other applications
can find and use it.
</para>
&lfs71_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&xulrunner-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&xulrunner-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &xulrunner-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &xulrunner-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &xulrunner-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &xulrunner-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Xulrunner Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="alsa-lib"/>,
<xref linkend="gtk2"/>,
<xref linkend="zip"/> and
<xref linkend="unzip"/>.
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="yasm"/> or <xref linkend="libvpx"/>
(to allow <application>Xulrunner</application> to play webm videos).
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="dbus-glib"/>,
<xref linkend="startup-notification"/>,
<xref linkend="sqlite"/>,
<ulink url="http://sourceforge.net/projects/hunspell/">Hunspell</ulink>,
<ulink url="http://libevent.org/">Libevent</ulink>,
<xref linkend="doxygen"/>,
<xref linkend="gnome-vfs"/> and <xref linkend="libgnomeui"/> (for
integration with the old version of <application>Gnome</application>),
<xref linkend="libnotify"/>,
<xref linkend="nspr"/>,
<xref linkend="nss"/>,
<xref linkend="wireless_tools"/>,
<ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing
the jemalloc code) and
<xref linkend="wget"/>
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/xulrunner"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Xulrunner</title>
<para>
The configuration of <application>Xulrunner</application> is accomplished
by creating a <filename>mozconfig</filename> file containing the desired
configuration options. A default <filename>mozconfig</filename> 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 should review the entire file and comment or
uncomment options as necessary.
</para>
<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
# If you have a multicore machine you can speed up the build by running
# several jobs at once, but if you have a single core, delete this line:
mk_add_options MOZ_MAKE_FLAGS="-j4"
# If you have installed Yasm delete this option:
ac_add_options --disable-webm
# If you have installed DBus-Glib delete this option:
ac_add_options --disable-dbus
# If you have installed wireless-tools delete this option:
ac_add_options --disable-necko-wifi
# If you have installed libnotify delete this option:
ac_add_options --disable-libnotify
# Uncomment these if you have installed them:
# ac_add_options --enable-startup-notification
# ac_add_options --enable-system-hunspell
# 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
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/xulrunner-build-dir
ac_add_options --disable-crashreporter
ac_add_options --disable-debug
ac_add_options --disable-installer
ac_add_options --disable-static
ac_add_options --disable-tests
ac_add_options --disable-updater
ac_add_options --enable-application=xulrunner
ac_add_options --enable-shared
ac_add_options --enable-system-cairo
ac_add_options --enable-system-ffi
ac_add_options --prefix=/usr
ac_add_options --with-pthreads
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
EOF</userinput></screen>
<para>
Install <application>Xulrunner</application> by issuing the following
commands:
</para>
<screen><userinput>sed -i '/fcntl.h/a#include &lt;unistd.h&gt;' \
ipc/chromium/src/base/{file_util_linux,message_pump_libevent}.cc &amp;&amp;
sed -i '/sys\/time\.h/a#include &lt;unistd.h&gt;' ipc/chromium/src/base/time_posix.cc &amp;&amp;
make -f client.mk</userinput></screen>
<!--
if pkg-config -&#45;atleast-version &nspr-version; nspr
then sed -i '/Version/aRequires: nspr &gt;= &nspr-version;' xulrunner/installer/libxul-embedding.pc.in
else sed -i '/Version/aRequires: mozilla-nspr &gt;= &nspr-version;' xulrunner/installer/libxul-embedding.pc.in
fi &amp;&amp;
-->
<para>
This package does not come with a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make -C xulrunner-build-dir install &amp;&amp;
mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
rm -rf /usr/lib/xulrunner-&xulrunner-version;/plugins &amp;&amp;
ln -sv ../mozilla/plugins /usr/lib/xulrunner-&xulrunner-version; &amp;&amp;
chown -Rv root:root /usr/{include,lib,share/idl}/xulrunner-* &amp;&amp;
for library in /usr/lib/xulrunner-devel-&xulrunner-version;/sdk/lib/*.so
do ln -sfv ${library#/usr/lib/} /usr${library#*sdk}
done</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>sed -i '/fcntl.h/a#include &lt;unistd.h&gt;'
ipc/chromium/src/base/{file_util_linux,message_pump_libevent}.cc
&amp;&amp; sed -i '/sys\/time\.h/a#include &lt;unistd.h&gt;'
ipc/chromium/src/base/time_posix.cc</command>: These seds fix bugs that
would otherwise break the build if you're using
<application>GCC 4.7</application>.
</para>
<!-- is this sed nstill needed?
<para>
<command>if pkg-config -&#45;atleast-version &nspr-version; nspr;
then sed -i '/Version/aRequires: nspr &gt;= &nspr-version;'
xulrunner/installer/libxul-embedding.pc.in;
else sed -i '/Version/aRequires: mozilla-nspr &gt;= &nspr-version;'
xulrunner/installer/libxul-embedding.pc.in;
fi</command>: This uses <command>pkg-config</command> to see if
<xref linkend="nspr"/> is installed and then adds a line to require
<application>nspr</application> or <application>mozilla-nspr</application>
to <filename>libxul-embedding.pc</filename>. If you try to build some
other applications without this, the prtypes header from NSPR will not be
found.
</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>
<para>
<command>ln -sv ../mozilla/plugins ...</command>: Some packages will
install browser plugins into
<filename class="directory">/usr/lib/mozilla/plugins</filename>.
Creating this symlink <application>Xulrunner</application> keeps
additional plugins in a common directory.
</para>
<para>
<command>for library in
/usr/lib/xulrunner-devel-&xulrunner-version;/sdk/lib/*.so; do ln -sfv
${library#/usr/lib/} /usr${library#*sdk}; done</command>: The libraries
shipped with this package are installed into
<filename class="directory">/usr/lib/xulrunner-devel-&xulrunner-version;</filename>
which means they will not be found at runtime. These commands make
relative symbolic links to the shared libraries from
<filename class="directory">/usr/lib</filename>.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>xulrunner</seg>
<seg>Numerous libraries, browser components, plugins, extensions, and
helper modules installed in <filename
class="directory">/usr/lib/xulrunner-&xulrunner-version;</filename></seg>
<seg>/etc/gre.d, /usr/include/xulrunner-&xulrunner-version;,
/usr/lib/xulrunner-&xulrunner-version;,
/usr/lib/xulrunner-devel-&xulrunner-version;, and
/usr/share/idl/xulrunner-&xulrunner-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="xulrunner-prog">
<term><command>xulrunner</command></term>
<listitem>
<para>
is a shell script, useful for identifying the version installed.
</para>
<indexterm zone="xulrunner xulrunner-prog">
<primary sortas="b-xulrunner">xulrunner</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>