Seamonkey-2.53.18

Introduction à Seamonkey

Seamonkey est une suite internet, un successeur de Netscape. Elle inclut le navigateur, le compositeur, des clients de messagerie et de nouvelles et un client IRC.

C'est le successeur communautaire de la suite d'application Mozilla, créée après que Mozilla a décidé de se concentrer sur des applications séparées pour la navigation et les courriels. Ces applications sont Firefox-115.8.0 et Thunderbird-115.8.0.

This package is known to build and work properly using an LFS 12.1 platform.

Informations sur le paquet

[Note]

Note

L'archive seamonkey-2.53.18.source.tar.xz se décompactera dans le répertoire seamonkey-2.53.18.

Dépendances de Seamonkey

Requises

Cbindgen-0.26.0, GTK+-3.24.41, nodejs-20.11.1, Python-3.11.1, UnZip-6.0, yasm-1.3.0 et Zip-3.0

Recommandées

[Note]

Note

Si vous n'installez pas les dépendances recommandées, alors des copies internes de ses paquets seront utilisées. Elles sont testées pour fonctionner, mais elles peuvent être dépassées ou contenir des trous de sécurité.

Facultatives

alsa-lib-1.2.11, dbus-glib-0.112, startup-notification-0.12, Valgrind-3.22.0, Wget-1.21.4, Wireless Tools-29, Hunspell, Gconf et Watchman

Installation de Seamonkey

La configuration de Seamonkey se fait en créant un fichier mozconfig contenant les options de configuration désirées. Un fichier mozconfig par défaut est créé ci-dessous. Pour voir toute la liste des options de configuration disponibles (et une description abrégée de chacune), exécutez ./configure --help. Il se peut que vous vouliez aussi relire tout le fichier et dé-commenter d'autres options souhaitées. Créez le fichier en exécutant la commande suivante :

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
#ac_add_options --enable-startup-notification

# 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 if you have gconf installed
ac_add_options --disable-gconf

# 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. Note: This is
# required for compilation on i686.
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 Rust code for SIMD optimization is much more outdated than
# Firefox and Thunderbird, so it does not build with recent Rustc.
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

# The option to use system cairo was removed in 2.53.9.
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman

ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib

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

Note

Si vous compilez ce paquet dans un chroot vous vous assurer que /dev/shm est monté. Si vous ne le faites pas, la configuration en Python échouera avec une trace faisant référence à /usr/lib/pythonN.N/multiprocessing/synchronize.py. En tant qu'utilisateur root, exécutez :

mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm

Tout d'abord, si vous construisez avec le ICU du système, adaptez la correspondance des sauts de ligne pour ICU-74 et supérieur :

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

Ensuite, corrigez un problème avec le module python « distro » intégré :

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

Compilez Seamonkey en exécutant les commandes suivantes :

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

Ce paquet n'a pas de suite de tests.

Installez Seamonkey en exécutant les commandes suivantes en tant qu'utilisateur root :

[Note]

Note

Si sudo ou su est invoqué pour ouvrir un shell qui tourne en root, assurez-vous que PATH PY311 est correctement passé ou la commande suivante échouera. Pour sudo, utilisez l'option --preserve-env=PATH_PY311. Pour su, n'utilisez pas les options - ou --login.

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

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

Enfin, désactivez la variable PATH_PY311 :

unset $PATH_PY311

Explication des commandes

export CC=clang CXX=clang++ : avec l'introduction de gcc-12, bien plus d'avertissements sont générés lors de la compilation des applications mozilla et cela rend la construction plus lente et plus grosse. En plus, la construction avec GCC sur i?86 est actuellement cassée. Bien que le code de mozilla en amont utilise llvm par défaut à moins d'être modifié, l'ancien code de configuration de Seamonkey utilise gcc par défaut.

./mach build --verbose : utilisez cette alternative si vous avez besoin de détails sur les fichiers qui sont compilés, avec les drapeaux C ou C++ utilisé. Mais n'ajoutez pas « --verbose » à la commande d'installation, l'option n'y est pas acceptée.

./mach build -jN : la construction devrait, par défaut, utiliser tous les cœurs de CPU en ligne. Si utiliser tous les cœurs fait utiliser l'espace d'échange à la construction parce que vous n'avez pas asse de mémoire, utiliser moins de cœurs peut être plus rapide.

Configuration de Seamonkey

Pour installer les différents plugins de Seamonkey, reportez-vous à Greffons pour Seamonkey.

Tout en utilisant le menu « Préférences » pour configurer les options et les préférences de Seamonkey pour les adapter à vos propres goûts, un contrôle bien plus approfondi de nombreuses options n'est disponible qu'en utilisant un outil non disponible depuis le système de menu général. Pour accéder à cet outil, vous devrez ouvrir une fenêtre du navigateur et saisir about:config dans la barre d'adresse. Cela affichera une liste des préférences de configuration et des informations liées à chacune. Vous pouvez utiliser la barre de « Filtre: » pour saisir des critères de recherche et réduire les éléments listés. La modification d'une préférence se fait en utilisant deux méthodes. L'une, si la préférence a une valeur booléenne (True/False, Vrai/Faux), double-cliquez simplement sur la préférence pour basculer la valeur, et l'autre, pour les préférences, faites simplement un clic droit sur la ligne désirée, choisissez « Modifier » dans le menu et modifiez la valeur. La création de nouveaux éléments de préférence se fait de la même façon, sauf qu'il faut choisir « Nouveau » depuis le menu et fournir les données désirées dans les champs quand on vous le demande.

Si vous utilisez un environnement de bureau comme Gnome ou KDE vous pourriez souhaiter créer un fichier seamonkey.desktop pour que Seamonkey apparaisse dans les menus du bureau. Si vous n'avez pas activé Startup-Notification dans votre mozconfig, modifiez la ligne StartupNotify en false. En tant qu'utilisateur root :

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

cat > /usr/share/applications/seamonkey.desktop << "EOF"
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Seamonkey
Comment=The Mozilla Suite
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

Contenu

Programmes installés: seamonkey
Bibliothèques installées: De nombreuses bibliothèques, le navigateur et les composants de messagerie/nouvelles, les greffons, les extensions, et les modules auxiliaires installés dans /usr/lib/seamonkey
Répertoire installé: /usr/lib/seamonkey

Descriptions courtes

seamonkey

est une suite client de navigateur/messagerie/nouvelles/groupe/chat