vp_js_runtime's Os enum only lists Linux, Darwin, and Windows, and
Os::current() has a compile_error! for any other target. FreeBSD is a
legitimate target for the `vp` binary (the rest of the toolchain builds
fine), so add a FreeBSD variant and route it through the same tar.gz +
bin/node + bin/ conventions the other unix platforms use.
Note: managed Node.js currently has no official FreeBSD build, so
`vp env` downloads on FreeBSD will 404 at runtime. That is a
distribution gap, not a code gap, and does not block the `vp` binary
itself from compiling or running. If/when Node.js publishes FreeBSD
artifacts, only the platform_string() mapping in providers/node.rs
needs to be updated (FreeBSD -> "freebsd" instead of "linux").
Signed-off-by: Matthias Fechner <mfechner@FreeBSD.org>
vp_js_runtime's Os enum only lists Linux, Darwin, and Windows, and Os::current() has a compile_error! for any other target. FreeBSD is a legitimate target for the vp binary (the rest of the toolchain builds fine), so add a FreeBSD variant and route it through the same tar.gz + bin/node + bin/ conventions the other unix platforms use.
Note: managed Node.js currently has no official FreeBSD build, so vp env downloads on FreeBSD will 404 at runtime. That is a distribution gap, not a code gap, and does not block the vp binary itself from compiling or running. If/when Node.js publishes FreeBSD artifacts, only the platform_string() mapping in providers/node.rs needs to be updated (FreeBSD -> "freebsd" instead of "linux").
Fixes #2537