lang/v8: update to 15.6.75.19 (Chrome 156 stable)
- Update the dependency pins from DEPS and the Temporal crates to the
versions in Chromium's third_party/rust.
- Read time zone data from devel/icu through the new upstream
v8_enable_temporal_systemicu option instead of a local patch.
- Port PartitionAlloc's zero segment, which keeps the low 4 GB of the
address space inaccessible, to FreeBSD. V8 no longer reserves this
range itself, and d8 refuses to start without it. Hinted mappings
are not honored with ASLR, so reserve the range with a guard mapping.
devel/libuv: backport uv_cpu_info() fix for powerpc64*
hw.clockrate doesn't exist on powerpc, so uv_cpu_info() fails and node's
os.cpus() is empty. rollup's terser plugin then starts zero workers and
hangs, which broke www/py-yt-dlp-ejs. The fix is in libuv 1.53.0.
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".
www/node2{2,4}: fix safepoints after calls on powerpc64*
Backport V8 f331137d5968 and 3d0a73103b97. The assembler can put its
trampoline pool right after a call, and the safepoint and exception
handler for that call are then recorded at the wrong address, so the
GC can scan the wrong stack slots and exceptions can skip their catch
block.
editors/openoffice-*: enable on powerpc64le
OpenJDK keeps its libraries in jre/lib/ppc64le on little-endian, and
source_soenv.sh in -devel only knew the big-endian triple.
www/node26: fix safepoints after calls on powerpc64*
Backport V8 f331137d5968. The assembler can put its trampoline pool
right after a call, and the safepoint and exception handler for that
call are then recorded at the wrong address, so the GC can scan the
wrong stack slots and exceptions can skip their catch block.
editors/openoffice-*: don't require libjawt.so
openjdk8 keeps libjawt.so under jre/lib, where pkg doesn't register it
as provided, so pkg add of the package fails with "Missing shlib
libjawt.so". openjdk8 is already a run dependency.
www/immich: enable on powerpc64le
Same as immich-cli: use the Wasm builds of rolldown, oxide, lightningcss
and esbuild there, and the TypeScript 6 compiler.
While here, stop hardcoding x64 in the sharp entries of pkg-plist.
www/immich-cli: enable on powerpc64le
rolldown and the TypeScript 7 compiler have no FreeBSD/powerpc64le
binaries, so use the Wasm build of rolldown there and the TypeScript 6
compiler instead.
www/node26: fix Maglev on powerpc64
Maglev's PowerPC code loads a whole word where it should test one byte
of the map, so it checks the wrong byte on big endian. Once a function
gets optimized, "x == null" and "typeof x" give wrong results.