Thunderbird-68.0

#### Beyond Linux® From Scratch (systemd Edition) - Version 9.0

### Chapter 41. Other X-based Programs

- Prev

  rxvt-unicode-9.22

- Next

  Tigervnc-1.9.0

- Up
- Home

# Thunderbird-68.0

## Introduction to Thunderbird

Thunderbird is a stand-alone mail/news client based on the Mozilla codebase. It uses the Gecko rendering engine to enable it to display and compose HTML emails.

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

### Package Information

- Download (HTTP): https://archive.mozilla.org/pub/thunderbird/releases/68.0/source/thunderbird-68.0.source.tar.xz

- Download MD5 sum: 79fbff6edded2fce28026c617dec805c

- Download size: 323 MB

- Estimated disk space required: 7.9 GB (146 MB installed)

- Estimated build time: 26 SBU (with -j4, estimated 84 SBU with -j1)

### Thunderbird Dependencies

#### Required

Autoconf-2.13, both GTK+-3.24.10 and GTK+-2.24.32, LLVM-8.0.1, rustc-1.35.0, Zip-3.0, UnZip-6.0, and yasm-1.3.0

#### Recommended

ICU-64.2, libevent-2.1.11, NSPR-4.21, NSS-3.45, and SQLite-3.29.0

### Note

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.

#### Optional

Cyrus SASL-2.1.27, dbus-glib-0.110, Doxygen-1.8.16, GConf-3.2.6, PulseAudio-12.2, startup-notification-0.12, Wget-1.20.3, and Wireless Tools-29

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

## Installation of Thunderbird

### Note

The build process for Thunderbird can use 8GB+ of RAM when linking. Make sure that you have adequate swap or RAM before continuing.

The configuration of Thunderbird 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 a brief description of each), issue mozilla/configure --help. Create the file with the following command:

    cat > mozconfig << "EOF"
    # If you have a multicore machine, the build may be faster if using parallel
    # jobs. The build system automatically adds -jN to the "make" flags, where N
    # is the number of CPU cores. The option below is therefore useless, unless
    # you want to use a smaller number of jobs:
    #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 wireless-tools comment out this line:
    ac_add_options --disable-necko-wifi

    # Uncomment these lines if you have installed optional dependencies:
    #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

    # If you want to compile the Mozilla Calendar, uncomment this line:
    #ac_add_options --enable-calendar

    # Comment out following options if you have not installed
    # recommended dependencies:
    ac_add_options --enable-system-sqlite
    ac_add_options --with-system-libevent
    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=comm/mail

    ac_add_options --disable-crashreporter
    ac_add_options --disable-updater
    ac_add_options --disable-debug
    ac_add_options --disable-tests

    ac_add_options --enable-optimize=-O2
    ac_add_options --enable-strip
    ac_add_options --enable-install-strip

    ac_add_options --enable-official-branding

    ac_add_options --enable-system-ffi
    ac_add_options --enable-system-pixman

    ac_add_options --with-system-bz2
    ac_add_options --with-system-jpeg
    ac_add_options --with-system-png
    ac_add_options --with-system-zlib
    EOF

Compile Thunderbird by issuing the following commands:

### Note

If you are compiling Thunderbird in chroot, prepend `SHELL=/bin/sh` to the build command below.

First, disable failure caused by undocumented rust macros:

    sed -i -e '/#!\[deny(missing_docs)\]/d' servo/components/style/lib.rs &&
    sed -i -e 's/#!\[deny(unsafe_code, missing_docs)\]/#!\[deny(unsafe_code)\]/g' servo/components/style_traits/lib.rs

Remove a function definition, which is incompatible with the one in glibc-2.30:

    sed -i -e '/pid_t gettid/s@^@//@' tools/profiler/core/platform.h

Next, build the package:

    ./mach build

This package does not come with a test suite.

Install Thunderbird by running the following commands as the `root` user:

    ./mach install

## Command Explanations

./mach build: Thunderbird now uses this python2 script to run the build and install.

`./mach build --verbose`: Use this alternative if you need details of which files are being compiled, together with any C or C++ flags being used.

## Configuring Thunderbird

### Configuration Information

If your Window or Desktop Manager does not allow you to configure a default browser, you can add a configuration parameter to Thunderbird so that a browser will start when when you click on an Internet/intranet/local URL. The procedure to check or modify any of the configuration parameters is quite simple and the instructions here can be used to view or modify any of the parameters.

First, open the configuration dialog by opening the “Edit” drop-down menu. Choose “Preferences” and then click on the “Advanced” icon on the top menu bar. Choose the “General” tab and click on the “Config Editor” button. This will display a list of the configuration preferences and information related to each one. You can use the “Filter:” 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 “Modify” from the menu and change the value. Creating new preference items is accomplished in the same way, except choose “New” from the menu and provide the desired data into the fields when prompted.

The configuration preference item you need to check so that Thunderbird uses a specified browser is the `network.protocol-handler.app.http` which should be set to the path of the desired browser, e.g. `/usr/bin/firefox`.

### Tip

There is a multitude of configuration parameters you can tweak to customize Thunderbird. A very extensive, but not so up-to-date list of these parameters can be found at http://preferential.mozdev.org/preferences.html.

If you use a desktop environment such as GNOME or KDE, a desktop file `thunderbird.desktop` may be created, in order to include a “Thunderbird” entry in the menu. If you didn't enable startup-notification in your mozconfig, then change the StartupNotify line to false. Run the following commands as the `root` user:

    mkdir -pv /usr/share/{applications,pixmaps} &&

    cat > /usr/share/applications/thunderbird.desktop << "EOF" &&
    [Desktop Entry]
    Name=Thunderbird Mail
    Comment=Send and receive mail with Thunderbird
    GenericName=Mail Client
    Exec=thunderbird %u
    Terminal=false
    Type=Application
    Icon=thunderbird
    Categories=Network;Email;
    MimeType=application/xhtml+xml;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
    StartupNotify=true
    EOF

    ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
            /usr/share/pixmaps/thunderbird.png

## Contents

Installed Program: thunderbird
Installed Libraries: libldap60.so, libldif60.so, liblgpllibs.so, libmozgtk.so, libmozsandbox.so, libprldap60.so, and libxul.so
Installed Directory: /usr/lib/thunderbird

### Short Descriptions

thunderbird | is Mozilla's email and newsgroup client.

Last updated on 2019-08-28 08:42:08 -0700

- Prev

  rxvt-unicode-9.22

- Next

  Tigervnc-1.9.0

- Up
- Home