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