lang/swift6: add powerpc64le support
Two bootstrap tarballs are needed because the long double ABI changed in
16.0: freebsd14 works on 14.x and on 15.x with misc/compat14x, freebsd16 is
for 16.0 and newer. Both were built with the port's own BOOTSTRAP_MODE.
PR: 299357
Approved by: tagattie (maintainer)
Mk/Uses/fpc.mk: use powerpc64 as FPC_ARCH on powerpc64le
fpc doesn't have a separate powerpc64le CPU, it's powerpc64 for both
endians. lang/fpc-devel already handles it, but ports using USES=fpc got
rtl/freebsd/powerpc64le and failed to patch.
www/py-bokeh: Update 2.4.3 => 3.10.1
bokeh 2.4.3 uses np.bool8, which numpy 2 removed, so
"import bokeh.plotting" fails with the numpy 2.4 in the tree. It is
also too old for its consumers: dask[diagnostics] and the distributed
dashboard need bokeh>=3.1, arviz-plots needs bokeh>=3.4 and hits needs
bokeh>=3.2.
- Switch to PEP 517; the sdist ships the prebuilt BokehJS, so no node
is needed
- Add RUN_DEPENDS on narwhals and xyzservices; drop python-dateutil,
six and typing-extensions; tornado>=6.2
- Patch pyproject.toml for setuptools 63 (requires, PEP 639 license)
and do not install the stray top-level "typings" stub package
- Guard the setuptools>=64-only editable_wheel import in setup.py
- Requires Python 3.12+
Changelog: https://docs.bokeh.org/en/latest/docs/releases.html
lang/nim: fix on powerpc64
countProcessors() reads the 4-byte hw.ncpu into an 8-byte int, which puts
it in the high word on big-endian, so any nim c without --parallelBuild
tried to size its build state for 2^38 CPUs and got OOM-killed. That is
also why DOCS was turned off on powerpc64 in 2020, so enable it again.
Also take the upstream fix for the shr constant folding on big-endian and
apply it to the pre-generated bootstrap compiler too.
textproc/redisearch2: fix build on powerpc64*
VectorSimilarity falls back to the x86 cpu_features types on anything that
isn't aarch64. Add a generic fallback for everything else.
multimedia/vvenc: fix build on powerpc64
clang 19 crashes on v4f32 froundeven in the SIMDe x86 emulation
(llvm/llvm-project#121390), so turn the x86 SIMD code off here too.
net/dot1ag-utils: fix build on powerpc64
IS_TAGGED() compared one byte of the frame with htons(0x8100), which only
works on little-endian by accident and makes clang's -Werror unhappy on
big-endian. Read the TPID through struct cfmencap instead.
sched: INVARIANTS: Check sched_preempt() is called on 'curthread'
sched_preempt() does not support operating on a remote thread. If you
are looking to influence CPU allocation on another thread, see, e.g.,
cpuset_setthread(), which in the end calls sched_affinity().
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
sched_ule: tdq_runq_add(): Scope variables, delineate the different steps
For better readability.
No functional change (intended).
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
dns/p5-Domain-PublicSuffix: New port
A perl module to parse a domain down to the root TLD utilizing the
Mozilla Public Suffix List.
This module utilizes the "public_suffix_list.dat" or "effective_tld_names.dat"
provided by Mozilla as a way to effectively reduce a fully qualified
domain name down to the absolute root. The Mozilla PublicSuffix file
is an open source, fully documented format that shows absolute root
TLDs, primarily for Mozilla's browser products to be able to determine
how far a cookie's security boundaries go.
Approved by: hrs (mentor)
sound examples: trigger dsp devices via syncgroup
Triggering is only needed if device is in mmap mode, and in mmap example
the device is triggered as part of syncgroup. For non-mmap mode,
triggering is not needed at all. Triggering mmap'ed device too early
would start the IPTR/OPTR counters and that would cause those pointers
to be out of sync, so let syncgroup do the triggering once the device is
fully configured and ready for capture and playback.
MFC after: 1 week
Reviewed by: christos
Differential Revision: https://reviews.freebsd.org/D60839
japanese/mozc-server: Fix IPC handling and separate license definitions
- Set FreeBSD Unix socket permissions to 0600 with fchmod() before
bind(), and abort IPC initialization if permission setup fails.
- Close accepted sockets when peer credential validation fails,
preventing file descriptor leaks.
- Prevent zombie child processes in mozc_emacs_helper by setting
SA_NOCLDWAIT for SIGCHLD.
- Move license definitions and preparation rules into Makefile.licenses
to simplify the main Makefile. There is no functional change.
Add loongarch64 as an optional boot-test.sh arch
D59889 brings up a FreeBSD/loongarch64 EFI loader, none of it in
this tree yet. Add a disabled config entry (excluded from -A, usable
via -a once the port lands) using the confirmed QEMU virt/la464
recipe; hw/loongarch/virt.c defaults to virtio-blk/net, so the
existing generic EFI+GPT builder needs no arch-specific QEMU code.
loongarch64 has never had a FreeBSD release, so
install_minimal_userland's ISO extraction can never find one. Split
it into ISO and installworld-cross-build paths, selected by a new
no_release capability, so archs without a release can still get a
minimal userland.
Differential Revision: https://reviews.freebsd.org/D59923