Conteúdo
/usr/lib/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.
Transferência (HTTP): https://archive.seamonkey-project.org/releases/2.53.20/source/seamonkey-2.53.20.source.tar.xz
Soma de verificação MD5 da transferência: 1b506ff751f39b2480ba4e16afb86d6d
Tamanho da transferência: 237 MB
Espaço em disco estimado exigido: 4,4 GB (150 MB instalado)
Tempo de construção estimado: 6,8 UPC (com paralelismo=8)
Remendo recomendado (exigido para construir com ICU-75 do sistema ou mais recente): https://www.linuxfromscratch.org/patches/blfs/12.3/seamonkey-2.53.20-cxx17-1.patch
O tarball seamonkey-2.53.20.source.tar.xz desempacotará para o diretório seamonkey-2.53.20.
Cbindgen-0.28.0, GTK-3.24.48, libarchive-3.7.7, Python-3.11.1, yasm-1.3.0 e Zip-3.0
ICU-76.1, libevent-2.1.12, libwebp-1.5.0, LLVM-19.1.7 (com clang), NASM-2.16.03, NSPR-4.36, nss-3.108 e PulseAudio-17.0
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.
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
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
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:
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
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.
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
/usr/lib/seamonkey