Thunderbird is a free and open source email, newsfeed, chat, and
calendaring client, that's loaded with great features, easy to set up
and customise. Core principles include the use and promotion of open
standards.
===> The following configuration options are available for thunderbird-160.0:
CANBERRA=on: Sound theme alerts
DBUS=on: D-Bus IPC system support
DEBUG=off: Build with debugging support
FFMPEG=on: FFmpeg support (WMA, AIFF, AC3, APE...)
LIBPROXY=off: Proxy support via libproxy
LTO=off: Use Link-Time Optimization
OPTIMIZED_CFLAGS=on: Use extra compiler optimizations
PROFILE=on: Build with profiling support
TEST=off: Build and/or run tests
====> Extra cubeb audio backends (OSS is always available)
ALSA=off: ALSA audio architecture support
JACK=on: JACK audio server support
PULSEAUDIO=on: PulseAudio sound server support
SNDIO=on: Sndio audio support
===> Use 'make config' to modify these settings
www/firefox www/firefox-esr www/librewolf www/waterfox mail/thunderbird
mail/thunderbird-esr: fix build and rendering on powerpc64
Since 159 (and ESR 153.6) the build hashes the ICU data file, but on
big-endian it asks for the converted icudt78b.dat before it has been
generated. Hash the little-endian file instead, like the patch in
Mozilla bug 2085342 does.
Add ppc64-103 from the runlevel5/firefox-ppc64 series. It keeps the
B8G8R8A8 surface layout on big-endian too, so pages with images no
longer crash the tab and toolbar icons and colours come out right.
Drop the DrawTargetSkia hunk from patch-bug1504834_comment5, 103 needs
the upstream alpha offset.
The WASM sandbox isn't available on big-endian, so www/librewolf now
only passes --with-wasi-sysroot and pulls in the wasi dependencies on
other architectures, like www/firefox does.
www/firefox mail/thunderbird: fix build on powerpc64le
The wasm2c bundled with 158 forces SIMD loads with an asm "f" constraint on
anything that isn't x86_64, aarch64, riscv or s390x. On PowerPC that's a scalar
FP register, so clang can't put a v128 there. Take the upstream wabt fix
(d77389b8e748) that uses "v".
Mk/bsd.gecko.mk, lang/spidermonkey128: use RUST_LIB_BACKTRACE on powerpc64le
rust.mk only exports RUST_BACKTRACE, so RUST_LIB_BACKTRACE=0 from the
environment is enough and the per-port patches can go. spidermonkey128
is hit by the same cargo crash.
mail/thunderbird*, www/firefox*: fix build on powerpc64*
1. On powerpc64 WASI seems to be broken.
2. On powerpc64le without recent LLVM patch, RUST_BACKTRACE is broken.
gecko: declare NOT_FOR_ARCHS=i386
The building and linking of the rust parts on x86 needs a larger
address space than a 32bit platform can provide (at most 4GB).
The gecko ports have been failing for quite a while on the official
builders with an "rustc-LLVM ERROR: out of memory" message, e.g.
https://pkg-status.freebsd.org/beefy18/data/144i386-default/6f1fe399c86f/logs/thunderbird-153.0.2.log
We can as well stop trying to save the CPU cycles leading up to
this error.
mail/thunderbird: fix build on powerpc64le
Already fixed in upstream xsimd:
In file included from
/wrkdirs/usr/ports/mail/thunderbird/work/.build/gfx/thebes/Unified_cpp_gfx_thebes0.cpp:65:
In file included from
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/gfx/thebes/gfxAlphaRecovery.cpp:12:
In file included from
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/xsimd.hpp:63:
In file included from
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/memory/xsimd_aligned_allocator.hpp:27:
In file included from
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/config/xsimd_arch.hpp:19:
In file included from
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_all_registers.hpp:51:
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:67:61:
error: cannot use 'long' with '__vector bool'
67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long, long);
| ^
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:67:55:
warning: use of 'long' with '__vector' is deprecated [-Wdeprecated]
67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long, long);
| ^
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:68:52:
error: cannot use 'long' with '__vector bool'
68 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(long, long);
| ^
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:68:46:
warning: use of 'long' with '__vector' is deprecated [-Wdeprecated]
68 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(long, long);
| ^
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:70:54:
error: cannot use 'long' with '__vector bool'
70 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(double, long);
| ^
5 warnings and 3 errors generated.
wasi/gecko: fix wasi target triple for FreeBSD
Our wasi target triple on "older" LLVM versions (<22) deviates from
the respective LLVM's defaults, so we need to align ports with that.
PR: 295332
wasi/gecko: remove ${REINPLACE_CMD} for unconditional wasm32-wasip1
No longer needed after toolchain.configure was restructured for
gecko 151, with upstream commit backported to the ESR branches in
the linked PR
PR: 295332
www/firefox{,-esr} mail/thunderbird{,-esr}: native DNS HTTPS resolving
This enables the geckos to use the OS' resolver to resolve
DNS HTTPS RRs (see RFC 9460 https://www.rfc-editor.org/rfc/rfc9460
for specs on that)
PR: 294981
Submitted by: Andre Albsmeier
mail/thunderbird: update pkg-descr
Modernize the package description. Thunderbird is no longer just a
"redesign of the Mozilla mail component" — it now includes calendaring
and chat. Description sourced from thunderbird.net.
PR: 272506
Approved by: gecko@FreeBSD.org (maintainer timeout)
wasi: consistently use the wasm32-wasip1 triple
The WebAssembly community have reclaimed wasm32-wasi, without suffix,
for a future WASI 1.0 standard. The first version of WASI, 0.1, is
now wasm32-wasip1 in triple form, WASI 0.2 is wasm32-wasip2, etc.
Starting LLVM 22 the non-suffixed form is deprecated, aligning with
Rust and Go:
https://github.com/llvm/llvm-project/issues/165344https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/
The Mozilla build system's WASI checks always pass -Werror so
configure fails when the non-suffixed target/triple is passed using
LLVM 22:
(Only the first 15 lines of the commit message are shown above )
mail/thunderbird: : Fix build with rust 1.89.0
error: implicit autoref creates a reference to the dereference of a raw pointer
--> third_party/rust/allocator-api2/src/stable/vec/mod.rs:1902:30
PR: 288923
Approved by: portmgr (build fix blanket)