Seamonkey-2.53.20

Introdução ao Seamonkey

Seamonkey é uma suíte de navegadores, um descendente do Netscape. Ele inclui o navegador, o compositor, clientes de mensagens e notícias e um cliente de IRC.

É a continuação do Mozilla Application Suite, controlado pela comunidade, criado depois que a Mozilla decidiu focar em aplicativos separados para navegação e mensagens eletrônicas. Esses aplicativos são Firefox-128.7.0 e Thunderbird-128.7.1esr.

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.3.

Informação do Pacote

Transferências Adicionais

[Nota]

Nota

O tarball seamonkey-2.53.20.source.tar.xz desempacotará para o diretório seamonkey-2.53.20.

Dependências do Seamonkey

Exigidas

Cbindgen-0.28.0, GTK-3.24.48, libarchive-3.7.7, Python-3.11.1, yasm-1.3.0 e Zip-3.0

Recomendadas

[Nota]

Nota

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.

Opcionais

alsa-lib-1.2.13, dbus-glib-0.112, nodejs-22.14.0, Valgrind-3.24.0, Wget-1.25.0, Wireless Tools-29, Hunspell e Watchman

Instalação do Seamonkey

A configuração do Seamonkey é realizada criando-se um arquivo mozconfig contendo as opções desejadas de configuração. Um arquivo mozconfig padrão é criado abaixo. Para ver a lista completa de opções disponíveis de configuração (e uma descrição abreviada de cada uma), emita python3 configure.py --help. Você também possivelmente revise o arquivo inteiro e descomente quaisquer outras opções desejadas. Crie o arquivo emitindo o seguinte comando:

cat > mozconfig << "EOF"
# If you have a multicore machine, all cores will be used

# If you have installed DBus-Glib comment out this line:
ac_add_options --disable-dbus

# If you have installed dbus-glib, and you have installed (or will install)
# wireless-tools, and you wish to use geolocation web services, comment out
# this line
ac_add_options --disable-necko-wifi

# Uncomment these lines if you have installed optional dependencies:
#ac_add_options --enable-system-hunspell

# Uncomment the following option if you have not installed PulseAudio
#ac_add_options --disable-pulseaudio
# and uncomment this if you installed alsa-lib instead of PulseAudio
#ac_add_options --enable-alsa

# Comment out the following option

# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --with-system-icu
ac_add_options --with-system-libevent
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-webp

# Disabling debug symbols makes the build much smaller and a little
# faster. Comment this if you need to run a debugger.
ac_add_options --disable-debug-symbols

# The elf-hack is reported to cause failed installs (after successful builds)
# on some machines. It is supposed to improve startup time and it shrinks
# libxul.so by a few MB.  With recent Binutils releases the linker already
# supports a much safer and generic way for this.
ac_add_options --disable-elf-hack
ac_add_options --enable-linker=bfd
export LDFLAGS="$LDFLAGS -Wl,-z,pack-relative-relocs"

# Seamonkey has some additional features that are not turned on by default,
# such as an IRC client, calendar, and DOM Inspector. The DOM Inspector
# aids with designing web pages. Comment these options if you do not
# desire these features.
ac_add_options --enable-calendar
ac_add_options --enable-dominspector
ac_add_options --enable-irc

# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/suite

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

# The SIMD code relies on the unmaintained packed_simd crate which
# fails to build with Rustc >= 1.78.0.  We may re-enable it once
# Mozilla ports the code to use std::simd and std::simd is stabilized.
ac_add_options --disable-rust-simd

ac_add_options --enable-strip
ac_add_options --enable-install-strip

# You cannot distribute the binary if you do this.
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

export CC=clang CXX=clang++
EOF
[Nota]

Nota

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

Primeiro, se você estiver construindo com o ICU do sistema, adapte o mapeamento de quebra de linha para o ICU-74 ou posterior, aplique um remendo para construir esse pacote com o C++17 padrão porque os cabeçalhos do ICU-75 ou posterior exigem alguns recursos do C++17 e adapte o sistema de construção para usar a biblioteca correta com o ICU-76 ou posterior:

(for i in {43..47}; do
   sed '/ZWJ/s/$/,CLASS_CHARACTER/' -i intl/lwbrk/LineBreaker.cpp || exit $?
done) &&

patch -Np1 -i ../seamonkey-2.53.20-cxx17-1.patch &&

sed -i 's/icu-i18n/icu-uc &/' js/moz.configure

Em seguida, remova um pedaço de código não usado que viola o padrão C++. O Clang começou a rejeitá-lo, embora não seja usado desde o lançamento 19.1.0:

sed -e '/ExclusiveData(ExclusiveData&&/,/^ *}/d' \
    -i js/src/threading/ExclusiveData.h

A seguir, corrija um problema com o módulo incluído 'distro' do python:

sed -e '1012 s/stderr=devnull/stderr=subprocess.DEVNULL/' \
    -e '1013 s/OSError/(OSError, subprocess.CalledProcessError)/' \
    -i third_party/python/distro/distro.py

Compile Seamonkey executando os seguintes comandos:

export PATH_PY311=/opt/python3.11/bin:$PATH &&
PATH=$PATH_PY311 AUTOCONF=true MACH_USE_SYSTEM_PYTHON=1 ./mach build

Esse pacote não vem com uma suíte de teste.

Instale Seamonkey emitindo os seguintes comandos como o(a) usuário(a) root:

[Nota]

Nota

Se sudo ou su for invocado para abrir um shell executando como o(a) usuário(a) root, certifique-se de que PATH_PY311 foi passado corretamente ou o comando a seguir falhará. Para sudo, use a opção --preserve-env=PATH_PY311. Para su, não use as opções - ou --login.

PATH=$PATH_PY311 MACH_USE_SYSTEM_PYTHON=1 ./mach install &&
chown -R 0:0 /usr/lib/seamonkey                          &&

cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1

Finalmente, desconfigure a variável PATH_PY311:

unset PATH_PY311

Explicações do Comando

export CC=clang CXX=clang++: Com a introdução do gcc-12, muitos mais avisos são gerados ao compilar-se aplicativos Mozilla e isso resulta em uma construção muito mais lenta e maior. Além disso, construir com GCC no i?86 atualmente está quebrado. Embora o código de fluxo de desenvolvimento da Mozilla tenha como padrão usar o llvm, a menos que substituído, o código de configuração mais antigo no Seamonkey tem como padrão o gcc.

./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. Mas não adicione '--verbose' ao comando de instalação; não é aceito lá.

./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.

Configurando Seamonkey

Para instalar vários complementos do Seamonkey, consulte Complementos para Seamonkey.

Juntamente com usar o menu Preferências para configurar opções e preferências do Seamonkey para atender aos gostos individuais, um controle mais refinado de muitas opções somente está disponível usando-se uma ferramenta não disponível a partir do sistema geral de menus. Para acessar essa ferramenta, você precisará abrir uma janela do navegador e digitar about:config na barra de endereço. Isso exibirá uma lista das preferências de configuração e informações relacionadas a cada uma. Você pode usar a barra Pesquisar: para inserir critérios de pesquisa e restringir os itens listados. Mudar uma preferência pode ser feito 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 no menu e mude o valor. Criar novos itens de preferência é realizado da mesma maneira, exceto que escolha Novo no menu e forneça os dados desejados nos campos quando solicitado(a).

Se você usar um ambiente de área de trabalho, como Gnome ou KDE, você possivelmente deseje criar um arquivo seamonkey.desktop, de forma que Seamonkey apareça nos menus do painel. Se você não habilitou Startup-Notification em teu mozconfig, mude a linha StartupNotify para false. Como o(a) usuário(a) root:

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

cat > /usr/share/applications/seamonkey.desktop << "EOF"
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Seamonkey
Comment=A Suíte Mozilla
Icon=seamonkey
Exec=seamonkey
Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
StartupNotify=true
Terminal=false
EOF

ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
        /usr/share/pixmaps/seamonkey.png

Conteúdo

Aplicativos Instalados: seamonkey
Bibliotecas Instaladas: Numerosas bibliotecas, navegadores e componentes de mensagens eletrônicas/grupo de notícias, plug-ins, extensões e módulos auxiliares instalados em /usr/lib/seamonkey
Diretório Instalado: /usr/lib/seamonkey

Descrições Curtas

seamonkey

é a suíte de clientes de navegador/mensagens eletrônicas/grupo de notícias/chat da Mozilla