source: xsoft/other/thunderbird.xml@ 5b0a978e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 5b0a978e was 5b0a978e, checked in by Ken Moffat <ken@…>, 4 years ago

Update notes on building in chroot, for
mozilla packages needing python multiprocessing.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22928 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 15.1 KB
RevLine 
[16998db6]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[16998db6]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[cf7d546]7 <!ENTITY thunderbird-download-http "&mozilla-http;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">
[8dfc5c3]8 <!ENTITY thunderbird-download-ftp " ">
[bb65a3c]9 <!ENTITY thunderbird-md5sum "d339fe0af582b1681951028795274107">
10 <!ENTITY thunderbird-size "324 MB">
11 <!ENTITY thunderbird-buildsize "9.0 GB (150 MB installed)">
12 <!ENTITY thunderbird-time "25 SBU (on a 4-core machine)">
[ec2353a]13 <!-- Removed the -j1 time because python and rust do not obey it, although
14 the C/C++ code appears to obey it -->
[16998db6]15]>
16
[d1981e0]17<sect1 id="thunderbird" xreflabel="Thunderbird-&thunderbird-version;">
[1c5e617]18 <?dbhtml filename="thunderbird.html" ?>
19
20 <sect1info>
21 <othername>$LastChangedBy$</othername>
[55329727]22 <date>$Date$</date>
[1c5e617]23 </sect1info>
24
25 <title>Thunderbird-&thunderbird-version;</title>
26
27 <indexterm zone="thunderbird">
28 <primary sortas="a-Thunderbird">Thunderbird</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to Thunderbird</title>
33
[d41c02b]34 <para>
35 <application>Thunderbird</application> is a stand-alone mail/news client
[604ba3d8]36 based on the <application>Mozilla</application> codebase. It uses the
37 Gecko rendering engine to enable it to display and compose HTML emails.
[d41c02b]38 </para>
[b9b1a372]39
[17f2889]40 &lfs91_checked;
[1c5e617]41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
[d41c02b]45 <para>
46 Download (HTTP): <ulink url="&thunderbird-download-http;"/>
47 </para>
[1c5e617]48 </listitem>
49 <listitem>
[d41c02b]50 <para>
51 Download (FTP): <ulink url="&thunderbird-download-ftp;"/>
52 </para>
[1c5e617]53 </listitem>
54 <listitem>
[d41c02b]55 <para>
56 Download MD5 sum: &thunderbird-md5sum;
57 </para>
[1c5e617]58 </listitem>
59 <listitem>
[d41c02b]60 <para>
61 Download size: &thunderbird-size;
62 </para>
[1c5e617]63 </listitem>
64 <listitem>
[d41c02b]65 <para>
66 Estimated disk space required: &thunderbird-buildsize;
67 </para>
[1c5e617]68 </listitem>
69 <listitem>
[d41c02b]70 <para>
71 Estimated build time: &thunderbird-time;
72 </para>
[1c5e617]73 </listitem>
74 </itemizedlist>
[773ef6d]75
[1c5e617]76 <bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Required</bridgehead>
[d41c02b]79 <para role="required">
[30339015]80<!-- <xref linkend="alsa-lib"/>, no mention in log -->
[1c984ec]81 <xref linkend="autoconf213"/>,
[6b4fe743]82 <xref linkend="cbindgen"/>,
[dbff18b]83 both <xref linkend="gtk3"/>
84 and <xref linkend="gtk2"/>,
[fd1a10f5]85 <xref linkend="llvm"/>, <!-- Searched for and used a few times -->
[6b4fe743]86 <xref linkend="nodejs"/>,
[307a22f]87 <xref linkend="rust"/>,
[8b9ad6e]88 <xref linkend="zip"/>,
[a30a874]89 <xref linkend="unzip"/>, and
90 <xref linkend="yasm"/>
[d41c02b]91 </para>
92
[1ddbf11a]93 <bridgehead renderas="sect4">Recommended</bridgehead>
94 <para role="recommended">
[30339015]95 <xref linkend="icu"/>,
[1ddbf11a]96 <xref linkend="libevent"/>,
[2cc3607]97<!-- Fails to build with version 1.8.0
98 <xref linkend="libvpx"/>,-->
[989c203]99 <xref linkend="nspr"/>,
100 <xref linkend="nss"/>, and
[8b9ad6e]101 <xref linkend="sqlite"/>
[1ddbf11a]102 </para>
103
104 <note>
105 <para>
106 If you don't install recommended dependencies,
107 then internal copies of those packages will
108 be used. They might be tested to work, but
109 they can be out of date or contain security
110 holes.
111 </para>
112 </note>
[e3f35536]113
[1c5e617]114 <bridgehead renderas="sect4">Optional</bridgehead>
[d41c02b]115 <para role="optional">
[989c203]116 <!-- <xref linkend="curl"/>, not in build log-->
[23d3543c]117 <xref linkend="cyrus-sasl"/>,
[d41c02b]118 <xref linkend="dbus-glib"/>,
119 <xref linkend="doxygen"/>,
[89cdb63d]120 <xref linkend="GConf"/>,
[989c203]121 <!--<xref linkend="gst10-plugins-base"/> (with
[6000a3e]122 <xref linkend="gst10-plugins-good"/> and
[989c203]123 <xref linkend="gst10-libav"/> at runtime),-->
124 <!-- <xref linkend="openjdk"/>, not in build log -->
[4ee8515]125 <xref linkend="pulseaudio"/>,
[d41c02b]126 <xref linkend="startup-notification"/>,
[2b1fa01]127 <xref linkend="wget"/>, and
128 <xref linkend="wireless_tools"/>
[d41c02b]129 </para>
130
131 <para condition="html" role="usernotes">
132 User Notes: <ulink url="&blfs-wiki;/Thunderbird"/>
133 </para>
[1c5e617]134 </sect2>
135
136 <sect2 role="installation">
137 <title>Installation of Thunderbird</title>
138
[1916905]139 <note>
140 <para>
141 The build process for Thunderbird can use 8GB+ of RAM when linking.
142 Make sure that you have adequate swap or RAM before continuing.
143 </para>
144 </note>
145
[d41c02b]146 <para>
147 The configuration of <application>Thunderbird</application> is
148 accomplished by creating a <filename>mozconfig</filename> file containing
149 the desired configuration options. A default
[53f790a]150 <filename>mozconfig</filename> is created below. To see the entire list
151 of available configuration options (and a brief description of each),
152 issue <command>mozilla/configure --help</command>. Create the file with
153 the following command:
[d41c02b]154 </para>
[adb388a]155
[0adc5d50]156<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
[ec2353a]157<literal># If you have a multicore machine, all cores will be used.
158# The option below may cause parts of the build to only use one core
159# if you want to use a smaller number of jobs:
[53f790a]160#mk_add_options MOZ_MAKE_FLAGS="-j1"
[9671f10]161
[ec2353a]162
[7090d94]163# If you have installed dbus-glib, comment out this line:
[f207d239]164ac_add_options --disable-dbus
165
[1ddbf11a]166# If you have installed wireless-tools comment out this line:
[9671f10]167ac_add_options --disable-necko-wifi
168
[1ddbf11a]169# Uncomment these lines if you have installed optional dependencies:
170#ac_add_options --enable-startup-notification
171
[4ee8515]172# Comment out following option if you have PulseAudio installed
173ac_add_options --disable-pulseaudio
[89cdb63d]174
175# Comment out following option if you have gconf installed
176ac_add_options --disable-gconf
[9831a90]177
[5ef6186]178# If you want to compile the Mozilla Calendar, uncomment this line:
[1ddbf11a]179#ac_add_options --enable-calendar
180
181# Comment out following options if you have not installed
182# recommended dependencies:
[989c203]183ac_add_options --enable-system-sqlite
[1ddbf11a]184ac_add_options --with-system-libevent
185ac_add_options --with-system-nspr
186ac_add_options --with-system-nss
[18310d86]187ac_add_options --with-system-icu
[bbe434b]188<!--Not with libvpx-1.8.0 or later
189ac_add_options - -with-system-libvpx
190====
191These do not seem to be needed any more
[0639bb6]192# Set CFLAGS and CXXFLAGS to prevent segfaults due to aggressive
[63ab44e]193# optimizations in GCC-6:
194export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
195export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
[83d02fc6]196-->
[36bcb4c0]197# The elf-hack causes failed builds on clang-9.0.1 with some CFLAGS including
198# -march=native on Ryzen. It is supposed to improve startup time and it shrinks
199# libxul.so by a few MB - Uncomment this if your build is affected.
200#ac_add_options --disable-elf-hack
201
[7251b1d]202# The BLFS editors recommend not changing anything below this line:
[1ddbf11a]203ac_add_options --prefix=/usr
[307a22f]204ac_add_options --enable-application=comm/mail
[5ef6186]205
[5f5dcc2]206ac_add_options --disable-crashreporter
207ac_add_options --disable-updater
[1ddbf11a]208ac_add_options --disable-debug
209ac_add_options --disable-tests
210
[83d02fc6]211ac_add_options --enable-optimize=-O2
[1ddbf11a]212ac_add_options --enable-strip
213ac_add_options --enable-install-strip
214
[f207d239]215ac_add_options --enable-official-branding
[1ddbf11a]216
[b9b1a372]217ac_add_options --enable-system-ffi
[1ddbf11a]218ac_add_options --enable-system-pixman
219
220ac_add_options --with-system-bz2
[a0ace670]221ac_add_options --with-system-jpeg
222ac_add_options --with-system-png
[e67830f1]223ac_add_options --with-system-zlib</literal>
[adb388a]224EOF</userinput></screen>
[e67830f1]225
[d41c02b]226 <para>
227 Compile <application>Thunderbird</application> by issuing the following
228 commands:
229 </para>
[adb388a]230
[5b0a978e]231 <note>
232 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
233 href="../../xincludes/mozshm.xml"/>
234
235 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
236 href="../../xincludes/mozmach.xml"/>
237
238 </note>
[bbc99ad]239<!--
[6b8a3b33]240 <para>
[f03e2e6c]241 First, disable failure caused by undocumented rust macros:
[6b8a3b33]242 </para>
243
[67e087d2]244<screen><userinput remap="pre">sed -i -e '/#!\[deny(missing_docs)\]/d' servo/components/style/lib.rs &amp;&amp;
245sed -i -e 's/#!\[deny(unsafe_code, missing_docs)\]/#!\[deny(unsafe_code)\]/g' servo/components/style_traits/lib.rs</userinput></screen>
[6b8a3b33]246
[f03e2e6c]247 <para>
248 Remove a function definition, which is incompatible with the one in
249 glibc-2.30:
250 </para>
251
252<screen><userinput>sed -i -e '/pid_t gettid/s@^@//@' tools/profiler/core/platform.h</userinput></screen>
253
[67e087d2]254 <para>
255 Next, build the package:
256 </para>
[bbc99ad]257-->
[67e087d2]258<screen><userinput>./mach build</userinput></screen>
[99a80f7]259
[1ddbf11a]260 <para>
261 This package does not come with a test suite.
262 </para>
[bc6cf88]263
[d41c02b]264 <para>
265 Install <application>Thunderbird</application> by running the following
266 commands as the <systemitem class="username">root</systemitem> user:
267 </para>
[99a80f7]268
[307a22f]269<screen role="root"><userinput>./mach install</userinput></screen>
[5246cff]270
[0277210]271<!-- thunderbuild directory does not exist anymore. Leaving as comment,
272in case an editor figures out how to install the development environment.
[de930747]273 <para>
[0ccfdd3a]274 The above instruction just installs the parts you need to run
[de930747]275 <application>Thunderbird</application>. Alternatively, if you want to
276 install the full <application>Thunderbird</application> development
[1ddbf11a]277 environment, run the following command as the
278 <systemitem class="username">root</systemitem> user:
[de930747]279 </para>
280
281<screen role="root"><userinput>make -C thunderbuild install</userinput></screen>
[0277210]282-->
[dfff7ace]283 </sect2>
284
285 <sect2 role="commands">
286 <title>Command Explanations</title>
[4def8b6]287<!-- might be necessary
288 <para>
289 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>: On this
290 version of thunderbird, an old bug has reappeared in 32-bit builds. With
291 optimization, the install fails with a Python error. This command will
292 fix i686 builds and preserve the optimization on x86_64.
[30339015]293 </para>
[66370fc]294
[92dd66f]295 <para>
296 <command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
297 settings work around code which gcc6 would otherwise regard as
298 out-of-specification and allow it to produce a working program.
[30339015]299 </para>-->
[773ef6d]300
[d41c02b]301 <para>
[4f4ed69b]302 <command>./mach build</command>: <application>Thunderbird</application>
[307a22f]303 now uses this <application>python2</application> script to run the
304 build and install.
305 </para>
306
307 <para>
308 <option>./mach build --verbose</option>: Use this alternative if you
309 need details of which files are being compiled, together with any C or
310 C++ flags being used.
[d41c02b]311 </para>
312
[b0ddfae5]313 </sect2>
314
315 <sect2 role="configuration">
316 <title>Configuring Thunderbird</title>
317
318 <sect3><title>Configuration Information</title>
319
[d41c02b]320 <para>
321 If your Window or Desktop Manager does not allow you to configure a
322 default browser, you can add a configuration parameter to
323 <application>Thunderbird</application> so that a browser will start when
[17f2889]324 you click on an Internet/intranet/local URL. The procedure to check
[d41c02b]325 or modify any of the configuration parameters is quite simple and the
326 instructions here can be used to view or modify any of the parameters.
327 </para>
328
329 <para>
330 First, open the configuration dialog by opening the <quote>Edit</quote>
331 drop-down menu. Choose <quote>Preferences</quote> and then click on the
332 <quote>Advanced</quote> icon on the top menu bar. Choose the
333 <quote>General</quote> tab and click on the <quote>Config Editor</quote>
334 button. This will display a list of the configuration preferences and
335 information related to each one. You can use the <quote>Filter:</quote>
336 bar to enter search criteria and narrow down the listed items. Changing
337 a preference can be done using two methods. One, if the preference has a
338 boolean value (True/False), simply double-click on the preference to
339 toggle the value and two, for other preferences simply right-click on
340 the desired line, choose <quote>Modify</quote> from the menu and change
341 the value. Creating new preference items is accomplished in the same
342 way, except choose <quote>New</quote> from the menu and provide the
343 desired data into the fields when prompted.
344 </para>
345
346 <para>
347 The configuration preference item you need to check so that
348 <application>Thunderbird</application> uses a specified browser is the
349 <parameter>network.protocol-handler.app.http</parameter> which should be
350 set to the path of the desired browser, e.g.
351 <option>/usr/bin/firefox</option>.
352 </para>
[adb388a]353
[604ba3d8]354 <tip>
355 <para>
356 There is a multitude of configuration parameters you can tweak to
357 customize <application>Thunderbird</application>. A very extensive,
358 but not so up-to-date list of these parameters can be found at
359 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
360 </para>
361 </tip>
[ff749e38]362
[d41c02b]363 <para>
[000d5dc]364
365 If you use a desktop environment such as <application>GNOME</application>
366 or <application>KDE</application>, a desktop file
367 <filename>thunderbird.desktop</filename> may be created, in order to
368 include a <quote><application>Thunderbird</application></quote> entry in
369 the menu. If you didn't enable
370 <application>startup-notification</application> in your mozconfig, then
371 change the StartupNotify line to false. Run the following commands as the
372 <systemitem class="username">root</systemitem> user:
373
[d41c02b]374 </para>
[ff749e38]375
[4def8b6]376<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
[0e37869]377
[c099902d]378cat &gt; /usr/share/applications/thunderbird.desktop &lt;&lt; "EOF" &amp;&amp;
[fcd66369]379<literal>[Desktop Entry]
[1ddbf11a]380Name=Thunderbird Mail
381Comment=Send and receive mail with Thunderbird
382GenericName=Mail Client
383Exec=thunderbird %u
384Terminal=false
[ff749e38]385Type=Application
386Icon=thunderbird
[8427861]387Categories=Network;Email;
[1ddbf11a]388MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
[fcd66369]389StartupNotify=true</literal>
[ff749e38]390EOF
[0e37869]391
[e3f35536]392ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
[1ddbf11a]393 /usr/share/pixmaps/thunderbird.png</userinput></screen>
[b0ddfae5]394 </sect3>
[1c5e617]395 </sect2>
396
397 <sect2 role="content">
398 <title>Contents</title>
399
400 <segmentedlist>
[c3c56b2]401 <segtitle>Installed Program</segtitle>
402 <segtitle>Installed Libraries</segtitle>
403 <segtitle>Installed Directory</segtitle>
[1c5e617]404
405 <seglistitem>
[d41c02b]406 <seg>
[1ddbf11a]407 thunderbird
408 </seg>
[c3c56b2]409 <seg>
[1c984ec]410 libldap60.so, libldif60.so, liblgpllibs.so, libmozgtk.so,
[30339015]411 libmozsandbox.so, libprldap60.so, and libxul.so
[c3c56b2]412 </seg>
[1ddbf11a]413 <seg>
[e3f35536]414 /usr/lib/thunderbird
[1c5e617]415 </seg>
416 </seglistitem>
417 </segmentedlist>
418
419 <variablelist>
420 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
421 <?dbfo list-presentation="list"?>
422 <?dbhtml list-presentation="table"?>
423
424 <varlistentry id="thunderbird-prog">
425 <term><command>thunderbird</command></term>
426 <listitem>
[d41c02b]427 <para>
[de930747]428 is <application>Mozilla</application>'s email and newsgroup client.
[d41c02b]429 </para>
[1c5e617]430 <indexterm zone="thunderbird thunderbird-prog">
431 <primary sortas="b-thunderbird">thunderbird</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
[1ddbf11a]435
[1c5e617]436 </variablelist>
[1ddbf11a]437
[1c5e617]438 </sect2>
[1ddbf11a]439
[167dc1dc]440</sect1>
Note: See TracBrowser for help on using the repository browser.