source: xsoft/other/thunderbird.xml@ bf5fb94

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 bf5fb94 was bf5fb94, checked in by Ken Moffat <ken@…>, 3 years ago

Update to llvm-11.0.0 and rustc-1.47.0.

Patch firefox and thunderbird for this version of rust.
Remeasure all packages which use rust -
I think I used an out of date mozconfig when I updated thunderbird.
In general, builds are slower and slightly larger, but installs are marginally smaller.

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

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