Seamonkey-2.53.20

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-128.7.0 et Thunderbird-128.7.1esr.

Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.3.

Informations sur le paquet

Téléchargements supplémentaires

[Note]

Note

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

Dépendances de Seamonkey

Requises

Cbindgen-0.28.0, GTK-3.24.48, libarchive-3.7.7, Python-3.11.1, 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.13, dbus-glib-0.112, nodejs-22.14.0, Valgrind-3.24.0, Wget-1.25.0, Wireless Tools-29, Hunspell 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 python3 configure.py --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"
# Si vous avez une machine avec plusieurs cœurs, tous les cœurs seront utilisés

# Si vous avez installé DBus-Glib, commentez cette ligne :
ac_add_options --disable-dbus

# Si vous avez installé dbus-glib et avez installé (ou allez installer)
# wireless-tools, et si vous souhaitez utiliser les services web de géolocalisation, commentez
# cette ligne
ac_add_options --disable-necko-wifi

# Décommentez ces lignes si vous avez installé les dépendances facultatives :
#ac_add_options --enable-system-hunspell

# Décommentez l'option suivante si vous n'avez pas installé PulseAudio
#ac_add_options --disable-pulseaudio
# et décommentez celle-ci si vous avez installé alsa-lib au lieu de PulseAudio
#ac_add_options --enable-alsa

# Commentez l'option suivante

# Commentez les options suivantes si vous n'avez pas installé
# les dépendances recommandées :
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

# Désactiver les symboles de débogage rend la construction bien plus petite et un peu
# plus rapide. Commentez cela si vous avez besoin d'exécuter un débogueur.
ac_add_options --disable-debug-symbols

# L'option elf-hack peut causer des échecs à l'installation (après une construction correcte)
# sur certaines machines. Il est censé améliorer le temps de chargement et diminue
# libxul.so de quelques Mo. Avec les versions récentes de Binutils l'éditeur des liens
# prend déjà en charge une manière plus sûre et générique de faire cela.
ac_add_options --disable-elf-hack
ac_add_options --enable-linker=bfd
export LDFLAGS="$LDFLAGS -Wl,-z,pack-relative-relocs"

# Seamonkey a des fonctionnalités supplémentaires qui ne sont pas activées par défaut,
# comme un client IRC, un calendrier et un inspecteur du DOM. L'inspecteur du DOM
# aide à la conception de pages web. Commentez ces options si vous n'avez pas besoin
# de ces fonctionnalités.
ac_add_options --enable-calendar
ac_add_options --enable-dominspector
ac_add_options --enable-irc

# Les auteurs de BLFS recommandent de ne pas changer quoi que ce soit en dessous de cette ligne :
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

# Le code SIMD s'appuie sur le crate packed_simd qui n'est plus maintenu et
# échoue à la construction avec Rustc >= 1.78.0.  Nous pourrons le ré-activer une fois
# que Mozilla aura porté le code pour utiliser std::simd et que std::simd est stabilisé.
ac_add_options --disable-rust-simd

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

# Vous ne pouvez pas distribuer le binaire si vous utilisez cette option.
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
[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 paquet ICU du système, adaptez les retours à la ligne pour ICU-74 et supérieur, appliquez un correctif pour construire ce paquet avec le standard C++17 car les en-têtes de ICU-75 et supérieur nécessitent des fonctionnalités de C++17 et adaptez le système de construction pour utiliser la bonne bibliothèque avec ICU-76 et supérieur :

(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

Ensuite, supprimez un bout de code qui ne respecte pas le standard C++. Clang a commencé à le rejeter même s'il est inutilisé depuis la version 19.1.0 :

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

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_USE_SYSTEM_PYTHON=1 ./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_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

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