Page MenuHomeFreeBSD

devel/freebsd-sysroot: update to 14.5-RELEASE and drop powerpc; lang/rust: drop powerpc
Needs ReviewPublic

Authored by pkubaj on Fri, Oct 2, 10:21 AM.

Details

Reviewers
andrew
Group Reviewers
rust
Summary

Two related changes for the rust@ ports, meant as two commits:

devel/freebsd-sysroot (commit on 2027-03-31, when releng/15.1 goes EOL):

  • Update the sysroots to 14.5-RELEASE. DISTVERSION is set to the intended commit date. The port must not land earlier: 14.5 base ships LLVM 21 and its libc++ exports symbols that the libc++ 19 of 14.4/15.0/15.1 lacks (std::hash_memory, the floating-point from_chars helpers, bad_function_call::what). Anything C++ built against the 14.5 sysroot and linking libc++.so.1 dynamically (e.g. librustc_driver in the rust bootstraps) fails to load on those releases with "Undefined symbol _ZNSt3113__hash_memoryEPKvm". With 15.0, 14.4 and 15.1 EOL (2026-09-30, 2026-12-31, 2027-03-31) every supported release has libc++ >= 21 (stable/15 is already on 21.1.8).
  • Drop the powerpc and powerpcspe flavors: 32-bit powerpc was retired in 15.0, has never had official packages, and 14.5's clang 21.1.8 cannot even build ports-mgmt/pkg on it (hangs in the machine scheduler on libecc's carry-chain code; an assertions build dies with "The register $carry needs to be live in to %bb.N, but is missing from the live-in list"). This also removes the gcc14 package that had to be rebuilt in a jail of the matching release for every bump, and the libatomic symlink.
  • Regenerate distinfo and the seven remaining plists (libc++ 19->21 header churn, usr/lib/clang/19 -> 21, new sys/inotify.h and sys/abi_types.h).

lang/rust (can go in any time):

  • Drop powerpc from ONLY_FOR_ARCHS and remove the now unreachable .if ${ARCH} == powerpc blocks (libatomic LIB_DEPENDS/RUSTFLAGS, the secure-plt cc/cxx wrappers and the config.toml compiler branch), and the six powerpc bootstrap entries from distinfo. No PORTREVISION bump; packages on the remaining architectures are unchanged.
Test Plan

devel/freebsd-sysroot: make makesum; make makeplist for every flavor;
poudriere testport -j powerpc64le-151 -o devel/freebsd-sysroot@<flavor>
green for all seven flavors (aarch64 amd64 armv7 i386 powerpc64 powerpc64le
riscv64) on a 15.1 ppc64le host, "No pkg-plist issues found" each.
portlint -AC: 0 fatal, only the pre-existing warnings.

lang/rust: make makesum (fetches the remaining archs' bootstraps, drops the
powerpc ones); make -V IGNORE with ARCH=powerpc now reports the ONLY_FOR_ARCHS
reason; portlint -AC unchanged from before.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped