Thunderbird é um cliente de mensagens/notícias independente baseado na base de código do Mozilla. Ele usa o mecanismo de renderização Gecko para o habilitar a exibir e compor mensagens eletrônicas em HTML.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/thunderbird/releases/102.8.0/source/thunderbird-102.8.0.source.tar.xz
Soma de verificação MD5 da transferência: 3f734007b13b304dadcdf3a197d95a9e
Tamanho da transferência: 483 MB
Espaço em disco estimado exigido: 7,4 GB (204 MB instalado)
Tempo de construção estimado: 20 UPC (em uma máquina de quatro elementos de processamento)
Autoconf-2.13, Cbindgen-0.24.3, dbus-glib-0.112, GTK+-3.24.36, LLVM-15.0.7 incluindo clang, nodejs-18.14.1, PulseAudio-16.1 (ou alsa-lib-1.2.8 se você editar o mozconfig; embora esteja agora obsoletado pelo mozilla), Python-3.11.2 (reconstruído com o módulo sqlite), startup-notification-0.12, Zip-3.0 e UnZip-6.0
ICU-72.1, libevent-2.1.12, libvpx-1.13.0, NASM-2.16.01, NSPR-4.35 e nss-3.88.1
Se você não instalar as dependências recomendadas, então cópias internas desses pacotes serão usadas. Elas podem ter sido testadas para funcionar, mas podem estar desatualizadas ou conter falhas de segurança.
Wget-1.21.3, Wireless Tools-29 e watchman
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Thunderbird
O processo de construção do Thunderbird pode usar mais de oito (08) GB de RAM durante a vinculação. Certifique-se de que você tem swap ou RAM adequados antes de continuar.
A configuração do Thunderbird é
realizada criando-se um arquivo mozconfig
contendo as opções de configuração
desejadas. Um mozconfig
padrão é
criado abaixo. Para ver a lista completa de opções de configuração
disponíveis (e uma breve descrição de cada uma), emita mozilla/configure --help. Crie o
arquivo com o seguinte comando:
cat > mozconfig << "EOF"
# Se você tiver uma máquina com múltiplos elementos de processamento, todos os elementos de processamento serão usados.
# Se você tiver instalado o "wireless-tools", comente esta linha:
ac_add_options --disable-necko-wifi
# Descomente a seguinte opção se você não tiver instalado o "PulseAudio".
#ac_add_options --enable-audio-backends=alsa
# Comente as seguintes opções se você não tiver instalado
# as dependências recomendadas:
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu
# O "elf-hack" causa instalações falhas em algumas máquinas.
# Supõe-se que melhore o tempo de inicialização e reduza a libxul.so
# em alguns MB - comente isto se você sabe que a tua máquina não é afetada.
ac_add_options --disable-elf-hack
# Os(As) editores(as) do BLFS recomendam não mudar nada abaixo desta linha:
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-debug-symbols
ac_add_options --disable-tests
ac_add_options --enable-optimize=-O2
ac_add_options --enable-linker=gold
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-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
# O uso de bibliotecas wasm em sandbox foi movido para todas as construções,
# em vez de somente construções de automação do Mozilla. Exige pacotes llvm extras
# e foi informado que retarda seriamente a construção. Desative-o.
ac_add_options --without-wasm-sandboxed-libraries
EOF
Uma mudança em cbindgen-0.24.2 faz com que um símbolo seja agora gerado pelo cbindgen, mas ele já foi definido em um cabeçalho. Este sed evita que a construção eventualmente falhe:
sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h
Agora invoque o conjunto de comandos sequenciais Python mach para compilar o Thunderbird:
Se você estiver compilando esse pacote em chroot, você precisa
fazer duas coisas. Primeiro, como o(a) usuário(a) root
, certifique-se de que /dev/shm
esteja montado. Se você não fizer
isso, a configuração do Python
falhará com um informe de rastreamento referenciando /usr/lib/pythonN.N/multiprocessing/synchronize.py
.
Execute:
mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm
Segundo, como o(a) usuário(a) root
exporte a variável de ambiente
$SHELL
usando export SHELL=/bin/sh ou, então,
preceda SHELL=/bin/sh
ao executar os
comandos ./mach.
Agora invoque o conjunto de comandos sequenciais Python mach para compilar o pacote.
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && export MOZBUILD_STATE_PATH=./mozbuild && ./mach configure && ./mach build
Esse pacote não vem com uma suíte de teste.
Instale o Thunderbird executando
os seguintes comandos como o(a) usuário(a) root
:
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install
Esvazie as variáveis de ambiente que foram configuradas acima:
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none: Use o Python do sistema para criar um ambiente virtual para o mach sem baixar nenhuma roda Python nem usar os módulos Python do sistema. Isso evita incompatibilidades de versão entre os módulos do sistema e os módulos incluídos.
./mach configure:
Isso valida as dependências fornecidas e o mozconfig
.
./mach build --verbose
: Use essa
alternativa se você precisar de detalhes de quais arquivos estão
sendo compilados, juntamente com quaisquer sinalizadores C ou C++
sendo usados.
./mach build -jN
: A construção deveria,
por padrão, usar todos os elementos de processamento de CPU online.
Se usar todos os elementos de processamento fizer com que a
construção use a área de troca porque você tem memória
insuficiente, usar menos elementos de processamento poderá ser mais
rápido.
: o BLFS costumava preferir usar gcc e g++ em
vez dos padrões de desenvolvedor(a) dos aplicativos clang. Com o lançamento do gcc-12, a
construção demora mais tempo com gcc e g++, principalmente por
causa de avisos extras, e é maior. Configure essas variáveis de
ambiente antes de executar o conjunto de
comandos sequenciais de configuração se desejar
continuar a usar gcc, g++. Construir com GCC em i?86 atualmente
está quebrado.
CC=gcc
CXX=g++
Se o teu Gerenciador de Janelas ou Ambiente de Área de Trabalho não te permitir configurar um navegador padrão, você pode adicionar um parâmetro de configuração ao Thunderbird, de forma que um navegador seja iniciado quando você clicar em um URL da Internet/intranet/local. O procedimento para verificar ou modificar qualquer dos parâmetros de configuração é bastante simples e as instruções aqui podem ser usadas para visualizar ou modificar quaisquer dos parâmetros.
Primeiro, abra a caixa de diálogo de configuração abrindo o menu suspenso “Editar”. Escolha “Preferências” e, então, role até o final da página. Em seguida, clique no botão “Config Editor”. Clique no botão “Eu aceito o risco!”. Isso exibirá uma lista de preferências de configuração e informações relacionadas a cada uma delas. Você pode usar a barra “Filtro:” para inserir critérios de pesquisa e restringir os itens listados. A mudança de uma preferência pode ser feita usando-se dois métodos. Primeiro, se a preferência tiver um valor booleano (Verdadeiro/Falso), simplesmente clique duas vezes na preferência para alternar o valor; e dois, para outras preferências, simplesmente clique com o botão direito na linha desejada, escolha “Modificar” a partir do menu e mude o valor. A criação de novos itens de preferência é realizada da mesma maneira, exceto que escolha “Novo” a partir do menu e forneça os dados desejados nos campos quando solicitado.
O item de preferência de configuração que você precisa verificar,
de forma que o Thunderbird use
um navegador especificado, é o network.protocol-handler.app.http
,
que deveria ser configurado como o caminho do navegador desejado,
por exemplo, /usr/bin/firefox
.
Se você usar um ambiente de área de trabalho, como GNOME ou KDE, um arquivo de área de trabalho
thunderbird.desktop
pode ser
criado, para a finalidade de incluir uma entrada “Thunderbird” no menu. Execute
os seguintes comandos como o(a) usuário(a) root
:
mkdir -pv /usr/share/{applications,pixmaps} &&
cat > /usr/share/applications/thunderbird.desktop << "EOF" &&
[Desktop Entry]
Name=Thunderbird Mail
Comment=Envie e receba mensagens com o Thunderbird
GenericName=Cliente de Mensagens
Exec=thunderbird %u
Terminal=false
Type=Application
Icon=thunderbird
Categories=Network;Email;
MimeType=text/html;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