f8b0c548

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

build: force gnu ABI for vendored zig build under Nix sandbox

`nix flake check` failed compiling the vendored Zig `simdutf` library with
`'bits/alltypes.h' file not found`, preceded by Zig's
`Encountered error: FileNotFound, falling back to default ABI and dynamic
linker.`

`build.rs` only passes `-Dtarget` to `zig build` when cross-compiling; for
native builds it relies on Zig's host detection. That detection probes the
host dynamic linker, which the Nix sandbox hides, so Zig falls back to a
libc whose headers are not on the include path and the C++ compile fails.
The build works on a developer machine (no sandbox) but never inside a
sandboxed Nix builder, which is what NixCI runs.

Add an optional `LIBGHOSTTY_VT_SYS_ZIG_TARGET` override that, when set, is
passed straight through as `-Dtarget`, bypassing native detection. Outside
Nix the variable is unset and native auto-detection is unchanged. The flake
sets it to `native-native-gnu` for Linux builds (keeping native arch/os/cpu
while forcing the gnu ABI).