Bun is a fast JavaScript runtime, bundler, transpiler, and
package manager -- all in one.
Key features:
- Up to 4x faster startup time than Node.js
- Native TypeScript and JSX support (no separate transpilation step)
- Built-in package manager (npm-compatible) with global caching
- Built-in test runner, bundler, and transpiler
- Web-standard APIs: fetch, WebSocket, ReadableStream, etc.
- Node.js compatibility: most Node.js built-in modules work out of the box
- Zig, C++, and Rust -- for maximum performance
lang/bun: update to 1.4.2
Update to 1.4.2 and rework the port for the upstream Rust build system.
Use lang/rust-nightly-bun instead of the moving lang/rust-nightly, add
aarch64 support, keep the patched WebKit fork, and drop the old Zig /
sysroot / prebuilt-binary machinery.
PR: 299115
Pull Request: https://github.com/freebsd/freebsd-ports/pull/644
*/*: Use C.UTF-8 locale
Ports 02f27a83b44d fixed the ports tree to the C locale so it would work
correctly in environments where users use a locale that isn't compatible
with the C locale, e.g. xx_YY.UTF-8 where [A-Z] includes more than just
upper case letters. USE_LOCALE was introduced to let ports use another
locale if they needed it. The C.UTF-8 locale was created later on to be
mostly compatible with the C locale.
Switch the ports tree locale to C.UTF-8 and remove USE_LOCALE. The
world has moved to Unicode so all ports either require it or know how to
build correctly in a Unicode environment.
PR: 295945
Exp-run by: antoine
lang/bun: Partially respect CPUTYPE
Bun has a very complex build system using Zig and Rust languages.
It is now respecting CPUTYPE for the most part, but it uses the
bundled FreeBSD binary WebKit with bun-related patches which still
brings in some x86-64-v4 and latest SSE instructions.
This can be resolved by creating a dedicated port for bun-patched
WebKit.