Innhold
/usr/lib/seamonkey
Seamonkey er en nettleserpakke, en etterkommer av Netscape. Den inkluderer nettleseren, composer, post og nyhetsklienter, og en IRC klient.
Det er den fellesskapsdrevne oppfølgingen av Mozilla Programpakke, opprettet etter at Mozilla bestemte seg for å fokusere på separate applikasjoner for surfing og e-post. De applikasjonene er Firefox-128.4.0 og Thunderbird-128.4.3esr.
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.
Nedlasting (HTTP): https://archive.seamonkey-project.org/releases/2.53.19/source/seamonkey-2.53.19.source.tar.xz
Nedlasting MD5 sum: 0fbfbd69ab1ceb417528419324551510
Nedlastingsstørrelse: 238 MB
Estimert diskplass som kreves: 4.5 GB (149 MB installert)
Estimert byggetid: 6.9 SBU (med parallellitet=8)
Anbefalt oppdatering (kreves for å bygge med system ICU-75 eller nyere): https://www.linuxfromscratch.org/patches/blfs/svn/seamonkey-2.53.19-cxx17-1.patch
Tarballen seamonkey-2.53.19.source.tar.xz vil pakke ut i seamonkey-2.53.19 mappen.
Cbindgen-0.27.0, GTK+-3.24.43, nodejs-20.18.0, Python-3.11.1, UnZip-6.0, yasm-1.3.0, og Zip-3.0
ICU-76.1, libevent-2.1.12, libwebp-1.4.0, LLVM-19.1.0 (med clang), NASM-2.16.03, NSPR-4.36, nss-3.106, og PulseAudio-17.0
Hvis du ikke installerer anbefalte avhengigheter, vil interne kopier av disse pakkene bli brukt. De kan bli testet for å fungere, men de kan være utdatert eller inneholde sikkerhetshull.
alsa-lib-1.2.13, dbus-glib-0.112, startup-notification-0.12, Valgrind-3.24.0, Wget-1.25.0, Wireless Tools-29, Hunspell, Gconf, og Watchman
Konfigurasjonen av Seamonkey er
oppnådd ved å lage en mozconfig
fil
som inneholder de ønskede konfigurasjonsalternativer. Standard
mozconfig
fil er opprettet nedenfor.
For å se hele listen over tilgjengelige konfigurasjonsalternativer
(og en forkortet beskrivelse av hver enkelt), kjør ./configure --help. Det kan også
være lurt å se gjennom hele filen og fjern kommentarer til andre
ønskede alternativer. Lag filen ved å utsted følgende kommando:
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.
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 port 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
# 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
Hvis du kompilerer denne pakken i chroot, må du Først som
root
bruker, sørge for at
/dev/shm
er montert. Hvis du ikke
gjør dette, Python
konfigurasjonen vil mislykkes med en tilbakesporingsrapport som
viser til /usr/lib/pythonN.N/multiprocessing/synchronize.py
.
Som root
bruker, kjør:
mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm
Først, hvis du bygger med system ICU, tilpasser du linjeskiftkartleggingen for ICU-74 og senere, og bruk en oppdatering for å bygge denne pakken med C++17-standard fordi deklarasjoner til ICU-75 eller nyere krever noe C++17 funksjoner:
(for i in {43..47}; do sed '/ZWJ/s/$/,CLASS_CHARACTER/' -i intl/lwbrk/LineBreaker.cpp || exit $? done) && patch -Np1 -i ../seamonkey-2.53.19-cxx17-1.patch
Deretter fjerner du en mengde ubrukt kode som bryter C++-standarden. Clang har begynt å avvise den selv om den har vært ubrukt siden 19.1.0 utgivelse:
sed '/ExclusiveData(ExclusiveData&&/,/^ *}/d' \ -i js/src/threading/ExclusiveData.h
Løs et problem med den medfølgende 'distro' pythonmodulen:
sed -e '1012 s/stderr=devnull/stderr=subprocess.DEVNULL/' \ -e '1013 s/OSError/(OSError, subprocess.CalledProcessError)/' \ -i third_party/python/distro/distro.py
Kompilere Seamonkey ved å kjøre følgende kommandoer:
export PATH_PY311=/opt/python3.11/bin:$PATH && PATH=$PATH_PY311 AUTOCONF=true MACH_USE_SYSTEM_PYTHON=1 ./mach build
Denne pakken kommer ikke med en testpakke.
Installer Seamonkey ved å utstede
følgende kommandoer som root
bruker:
Hvis sudo eller
su er påberopt for
å åpne et skall som kjører som root
bruker, forsikre deg om at PATH_PY311
er korrekt sendt ellers vil følgende
kommando mislykkes. For sudo, bruk --preserve-env=PATH_PY311
alternativet. For
su, ikke bruk -
eller --login
alternativer.
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
Til slutt, deaktiver PATH_PY311
variabelen:
unset $PATH_PY311
export CC=clang CXX=clang++: Med introduksjonen av gcc-12, mange flere advarsler genereres når du kompilerer mozilla applikasjoner og det resulterer i en mye langsommere og større konstruksjon. Dessuten, bygging med GCC på i?86 er for øyeblikket ødelagt. Selv om oppstrøms mozilla kode bruker som standard llvm med mindre overstyrt, konfigurerer den eldre koden inn i Seamonkey standard til gcc.
./mach build --verbose
: Bruk dette
alternativet hvis du trenger detaljer om hvilke filer som
kompileres, sammen med eventuelle C eller C++ flagg brukes. Men
ikke legg til '--verbose' til installeringskommandoen, det er ikke
akseptert der.
./mach build -jN
: Byggingen bør som
standard bruke alle tilgjengelige CPU kjerner. Hvis bruk av alle
kjernene får bygget til å bruke vekselminne fordi du har
utilstrekkelig minne, kan det gå raskere å bruke færre kjerner.
For installering av diverse Seamonkey tillegg, se på Add-ons for Seamonkey.
Sammen med å bruke «Preferences» menyen for å konfigurere
Seamonkey sine alternativer og
preferanser som passer individuelle smaker, finere kontroll av
mange alternativer er kun tilgjengelig ved å bruke et verktøy som
ikke er tilgjengelig fra det generelle menysystemet. For å få
tilgang til dette verktøyet, må du åpne et nettleservindu og skrive
about:config
i adressefeltet. Dette
vil vise en liste over konfigurasjonspreferanser og informasjon
relatert til hver enkelt. Du kan bruke «Search:» feltet for
skrive søkekriterier og begrense de oppførte elementene. Endre en
preferanse kan gjøres ved hjelp av to metoder. En, hvis preferansen
har en boolsk verdi (True/False), dobbeltklikk ganske enkelt på
preferansen for å bytte verdien og to, for andre preferanser bare
høyreklikk på ønsket linje, velg «Modify» fra menyen og endre verdien. Opprette
nye preferanseelementer oppnås på samme måte, bortsett fra velg
«New» fra
menyen og oppgi de ønskede dataene i feltene når du blir bedt om
det.
Hvis du bruker et skrivebordsmiljø som Gnome eller KDE ønsker du kanskje å lage en seamonkey.desktop
fil sånn at Seamonkey vises i panelets menyer. Hvis du
ikke har aktivert Startup-Notification i din mozconfig endre
StartupNotify linjen til false. Som root
bruker:
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
/usr/lib/seamonkey