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 corretamente usando uma plataforma LFS 12.1.
Transferência (HTTP): https://archive.mozilla.org/pub/thunderbird/releases/115.8.0/source/thunderbird-115.8.0.source.tar.xz
Soma de verificação MD5 da transferência: 00100df1feb11016fed632db29fbcfb8
Tamanho da transferência: 516 MB
Espaço em disco estimado exigido: 6,4 GB (229 MB instalado)
Tempo de construção estimado: 12 UPC (em uma máquina de oito elementos de processamento)
Cbindgen-0.26.0, dbus-glib-0.112, GTK+-3.24.41, LLVM-17.0.6 incluindo clang, nodejs-20.11.1, PulseAudio-17.0 (ou alsa-lib-1.2.11 se você editar o mozconfig; embora agora esteja obsoleto pela mozilla), Python-3.11.1 (reconstruído com o módulo sqlite), startup-notification-0.12 e UnZip-6.0
libevent-2.1.12, libvpx-1.14.0, libwebp-1.3.2, NASM-2.16.01, NSPR-4.35 e nss-3.98
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.
pciutils-3.10.0 (tempo de execução), Wget-1.21.4, Wireless Tools-29 e watchman
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 ./mach configure -- --help |
less. Crie o arquivo com o seguinte comando:
cat > mozconfig << "EOF"
# Se você tiver uma máquina multicore, todos cores serão usados.
# Se você tiver instalado wireless-tools, comente esta linha:
ac_add_options --disable-necko-wifi
# Descomente a seguinte opção se você não tiver instalado PulseAudio
#ac_add_options --enable-audio-backends=alsa
# Comente as seguintes opções se você não tiver instalado
# 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-webp
# em algumas máquinas. Supõe-se que melhore o tempo de inicialização e reduza
# a libxul.so em alguns MB. Com lançamentos recentes do Binutils, o vinculador
# já suporta uma forma muito mais segura e genérica para isso.
ac_add_options --disable-elf-hack
export LDFLAGS="$LDFLAGS -Wl,-z,pack-relative-relocs"
# 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
# Isto habilita otimização SIMD na caixa encoding_rs enviada.
ac_add_options --enable-rust-simd
ac_add_options --enable-strip
ac_add_options --enable-install-strip
# Você não pode distribuir o binário se fizer isto.
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
# Usar bibliotecas wasm em sandbox foi movido para todas as construções,
# em vez de somente construções de automação da Mozilla. Exige pacotes llvm extras
# e foi informado que retarda seriamente a construção. Desabilite-a.
ac_add_options --without-wasm-sandboxed-libraries
EOF
Agora invoque o conjunto de comandos sequenciais Python mach para compilar o Thunderbird:
Se você estiver compilando esse pacote em chroot, você precisa
assegurar que /dev/shm
esteja
montado. Se você não fizer isso, a configuração do Python falhará com um informe de
rastreamento reverso referenciando /usr/lib/pythonN.N/multiprocessing/synchronize.py
.
Como o(a) usuário(a) root
,
execute:
mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && export MOZBUILD_STATE_PATH=./mozbuild && export PYTHON311=/opt/python3.11/bin/python3.11 && $PYTHON311 ./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 $PYTHON311 ./mach install
Esvazie as variáveis de ambiente que foram configuradas acima:
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE && unset MOZBUILD_STATE_PATH && unset PYTHON311
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 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