devel/subversion: remove the BDB option
Berkeley DB support has been deprecated upstream for over a decade and
is slated for removal in a future Subversion release. Pass
--without-berkeley-db --disable-bdb6 explicitly instead of gating it
behind an opt-in option: configure otherwise autodetects and links
against whatever BDB happens to be present on the build host, with no
corresponding LIB_DEPENDS/pkg-plist entries to track it.
Drop the pre-configure apu-config BDB-version probe (moot once BDB is
never enabled), the %%BDB%% pkg-plist entries for libsvn_fs_base and
its pkgconfig file, and the DATADIR/bdb/*.py BDB-only scripts (excluded
at extraction time via EXTRACT_AFTER_ARGS, same as the tools/ tree's
other dead-weight subtrees).
Remove files/pkg-message.in: unreferenced by any SUB_FILES/PKGMESSAGE,
and its content described the now-moot BDB deprecation warning.
devel/subversion-lts is intentionally untouched and keeps BDB support
as-is.
math/cminpack: fix plist on powerpc64le 16.0
Since 16.0 long double is IEEE binary128 on powerpc64le, so
libcminpackld gets built and has to be in the plist.
graphics/photocraft: update to 0.18.0
Make HEIF an option (still on, like upstream's own builds) and add an
AVIF option for export through rav1e, off like upstream since the app
can't read AVIF back.
Changelog: https://github.com/storytold/photocraft/releases/tag/v0.18.0
games/hedgewars: enable on powerpc64le
Free Pascal enables the invalid-operation FPU trap on PowerPC and Lua's
parser trips it on every constant outside the int range, so mask the
FPU exceptions in the engine like a C program has them.
java/openjdk*: fix kqueue selectors on big-endian
KQueue.getDescriptor() reads the kevent ident, a uintptr_t, as a 32-bit
int. On big-endian that is the zero high half, so every ready event is
dropped and Selector.select() returns at once with nothing selected.
Netty servers like OpenSearch then spin forever rebuilding the selector.
Read the field at its full width instead.
emulators/mupen64plus*: enable on powerpc64*
uname -m says powerpc on FreeBSD, so take the upstream uname -p fix for
the core, pass HOST_CPU to the plugin Makefiles, add the missing ppc64le
branches and keep the x86 rdtsc code out of rsp-z64.
misc/koboldcpp: enable on powerpc64le
Only the portable flavor needs AVX2, so limit the IGNORE to it. ggml
only reads little-endian GGUF files, so big-endian stays out.
sysutils/hourglass: enable on powerpc64*
configure only knew 32-bit powerpc and the FreeBSD part of hourglass.h
relied on rdtsc(), so read the timebase with mftb and bump the counter
with atomic_add_long there.
Mk/Scripts/cargo-crates.awk: keep the last crate before [[patch.unused]]
When a [patch] section in Cargo.toml has entries that are not used, Cargo.lock
ends with [[patch.unused]] tables. The script only adds a crate when it sees
the next [[package]] header, so the fields of the last real package get
overwritten by the unused patches and that crate is lost, while the last
unused patch is added in its place.
End the previous table at any [[...]] header and only collect [[package]]
ones.
Seen with graphics/photocraft 0.17.0, where zvariant_utils went missing.
devel/onetbb: fix tbbbind crash when hwloc finds no cores
On FreeBSD/powerpc64le hwloc reports no Core objects, so the hwloc 2.5
probe in tbbbind passes NULL to hwloc_get_obj_with_same_locality() and
anything that asks TBB for the CPU topology segfaults, e.g. graphics/oidn
on every run.
Pull in the upstream fix.
[libc++][test] Forward LLVM_USE_LINKER to Lit test suites
Serialize LLVM_USE_LINKER as a use_linker Lit parameter in libcxx, libcxxabi, and libunwind so test binaries link with -fuse-ld=<linker> instead of falling back to the compiler's default system linker.
Assisted-by: Gemini
Pull-request: https://github.com/llvm/llvm-project/pull/237635
lang/fpc-devel: fix far conditional branches on powerpc64*
FPC mixed up labels of different types when fixing up conditional
branches whose target is too far away, so some of them were missed and
the assembler failed on them. This broke comms/cqrlog.
multimedia/av1an: fix build on powerpc64le
cpufeatures only knows x86, aarch64 and loongarch64 and refuses to
compile anywhere else. av-scenechange pulls it in unconditionally but
only uses it on x86_64, so replace the compile_error with a fallback
that just reports the compile-time target features.
www/tailwindcss4: fix build on powerpc64*
Build oxide and lightningcss from source like on aarch64. The oxide
loader only knows x64 and arm64 on FreeBSD, so make it load the module
for whatever arch node reports.
zdb: exit non-zero when block traversal finds leaked space
Commit d63f5d7e5 ("zdb: rework DDT block count and leak check to just
count the blocks") dropped the "leaks = B_TRUE" that followed the
"block traversal size ... != alloc ..." message in dump_block_stats().
Neither the commit message nor the review discussion mentions it, and
nothing else in the change depends on it. Since then zdb -b prints
"leaked space" and the size mismatch but exits 0. Only BRT, DDT and
obsolete-count leaks still fail it. ztest treats a non-zero zdb exit
as fatal, so ztest and zloop have not caught space map leaks since
2.3.0, and neither has any script that checks zdb's exit status.
Set leaks again when the totals differ. Also set it in
zdb_leak_fini() when a metaslab still has segments left after the
traversal, so that the exit status follows the "leaked space" lines
directly and not only the totals. Both are skipped with -L, as before.
Document in zdb.8 that exit status 2 also covers leaked space; the
code has returned 2 for leaks since before d63f5d7e5.
[4 lines not shown]
games/anki: fix build on powerpc64le
The prefetched node modules are created on amd64, where yarn also fetches
the FreeBSD/amd64 builds of esbuild, rollup and @parcel/watcher. On other
archs yarn skips them, so the archive doesn't match distinfo. Make yarn
resolve them for x64 on powerpc64le as well.
esbuild and rollup don't have FreeBSD binaries for powerpc64le, so use their
WebAssembly builds instead. Also let the build system know about powerpc64.
www/hedgedoc: fix build on powerpc64le
esbuild has no binary for this platform and its postinstall script aborts
the whole yarn install. It only comes in through esbuild-loader for the
webpack build, which the port doesn't run, so tell yarn to skip its build
script.
sysutils/herdr: fix build on powerpc64*
build.rs maps the Rust target to a Zig one for the vendored libghostty-vt
and panics on anything it doesn't know. Add both powerpc64 targets next to
the FreeBSD entries the port already patches in.
On big-endian powerpc64 the vendored simdutf built its POWER8 kernel for the
plain AltiVec baseline and failed, so backport upstream's guard that also
asks for __POWER8_VECTOR__. BE then uses the scalar fallback.
converters/hs-dhall-json: remove stale patch
os-string was updated to 2.0.11 in 45647b6c8b71, which already
contains the big-endian fix, so the patch no longer applies.