Xulrunner-9.0.1

Introduction to Xulrunner

Xulrunner is a runtime environment for XUL applications, and forms the major part of the Mozilla codebase. In particular, it provides the gecko engine together with pkgconfig files so that applications such as Yelp can find and use it. However, be aware that Gnome applications are transitioning to Webkit instead of gecko.

This package is known to build and work properly using an LFS-7.0 platform.

Package Information

Additional Downloads

Xulrunner Dependencies

Required

ALSA Library-1.0.24.1, gtk+-2.24.8, Zip-3.0 and UnZip-6.0.

Note: libjpeg and libpng (patched for apng support) should have been installed before gdk-pixbuf and should exist on your system. If for some strange reason you haven't installed them, you should remove the --with-system-jpeg and --with-system-png options from the mozconfig file created below.

Recommended

Optional

D-Bus GLib Bindings-0.98, startup-notification-0.9, SQLite-3.7.8, libvpx, Hunspell, Libevent, Doxygen-1.7.5, GNOME Virtual File System-2.24.4 and libgnomeui-2.24.3 (for gnome integration), libnotify-0.4.5, NSPR-4.8.9, NSS-3.13.1, UnZip-6.0, Wireless Tools-28, Valgrind (only for testing the jemalloc code) and Wget-1.13.4

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xulrunner

Installation of Xulrunner

The configuration of Xulrunner is accomplished by creating a mozconfig file containing the desired configuration options. A default mozconfig is created below. To see the entire list of available configuration options (and an abbreviated description of each one), issue ./configure --help. You should review the entire file and comment or uncomment options as necessary.

patch -p1 < ../xulrunner-9.0.1-libpng-1.5-1.patch &&
cat > mozconfig << "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 --with-system-nspr
# ac_add_options --with-system-nss
# ac_add_options --enable-system-sqlite
# ac_add_options --with-system-libvpx
# ac_add_options --enable-startup-notification
# ac_add_options --enable-system-hunspell
# ac_add_options --with-system-libevent

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/xulrunner-build-dir
ac_add_options --prefix=/usr
ac_add_options --enable-application=xulrunner
ac_add_options --with-pthreads
ac_add_options --enable-system-ffi
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --enable-system-cairo
ac_add_options --with-system-zlib
ac_add_options --enable-shared
ac_add_options --disable-static
ac_add_options --disable-debug
ac_add_options --disable-crashreporter
ac_add_options --disable-installer
ac_add_options --disable-updater
ac_add_options --disable-tests
EOF

Install Xulrunner by issuing the following commands:

sed -i '/Version/aRequires: nspr >= 4.8.9' xulrunner/installer/libxul-embedding.pc.in &&
make -f client.mk

This package does not come with a test suite.

Now, as the root user:

make -C xulrunner-build-dir install &&
mkdir -p /usr/lib/mozilla &&
rm -rf /usr/lib/xulrunner-9.0.1/plugins &&
ln -sv ../mozilla/plugins /usr/lib/xulrunner-9.0.1 &&
chown -Rv root:root /usr/{include,lib,share/idl}/xulrunner-*

If you elected to use the included NSPR and NSS (ie, if you have not installed NSPR-4.8.9 and NSS-3.13.1), while still the root user, complete the installation with the following commands:

for DL in libnss3.so libnssutil3.so libsmime3.so \
  libssl3.so libsoftokn3.so  libplds4.so libplc4.so libnspr4.so
do ln -sv xulrunner-9.0.1/${DL} /usr/lib
done &&
unset DL

Command Explanations

sed ... Requires: nspr: If you try to build Yelp without this, the prtypes header from NSPR will not be found. It is arguable whose error this is (the code presumably works on earlier geckos), but this fix is unlikely to cause any damage in other packages.

make -f client.mk ...: Mozilla products are packaged to allow the use of a configuration file which can be used to pass the configuration settings to the configure command. make uses the client.mk file to get initial configuration and setup parameters.

for DL in ...: The NSPR and NSS libraries shipped with this package are installed into /usr/lib/xulrunner-9.0.1 which means they will not be found at runtime. By using symbolic links from /usr/lib the libraries will be found and the links can be easily changed to point to a newer version during an upgrade.

ln -sv ../mozilla/plugins ...: Some packages will install browser plugins into /usr/lib/mozilla/plugins. Creating this symlink Xulrunner keeps additional plugins in a common directory.

[Note]

Note

When you upgrade Xulrunner, remember to update the symlinks.

Contents

Installed Programs: xulrunner, and optionally nspr-config
Installed Libraries: Numerous libraries, browser components, plugins, extensions, and helper modules installed in /usr/lib/xulrunner-9.0.1
Installed Directories: /etc/gre.d, /usr/include/xulrunner-9.0.1, /usr/lib/xulrunner-9.0.1, /usr/lib/xulrunner-devel-9.0.1, and /usr/share/idl/xulrunner-9.0.1

Short Descriptions

xulrunner

is a shell script, useful for identifying the version installed.

Last updated on 2012-01-16 15:06:27 +0000