Hacker News new | ask | show | jobs
by CraigJPerry 1868 days ago
I gave it a whirl:

  > git clone https://github.com/denoland/deno.git denoland/deno
  > git clone https://github.com/denoland/rusty_v8.git denoland/rusty_v8
  > cd denoland/deno
  > vi Cargo.toml

  ...
  [patch.crates-io]
  rusty_v8 = { path = "../rusty_v8" }
  ...

  > cargo build --release
  ... as expected same failure - good ...
Make rusty_v8 build.rs aware of freebsd

  > vi ../rusty_v8/build.rs

  ...
  #[cfg(target_os = "freebsd")]
  {
    "freebsd"
  }
  ...
Have a quick squizz to see where this is used:

  > rg "platform\(\)" ../rusty_v8

  build.rs
  157:fn platform() -> &'static str {
  180:    .join(platform());

Attempt to fix... and bang! It's using the platform() result to call a python script that pulls binaries from here:

https://github.com/denoland/ninja_gn_binaries/

And there's no FreeBSD build there. To much yak shaving for idle curiosity on my part.

1 comments

Hm. Looks like gn refers to: https://gn.googlesource.com/gn

Guessing it is inspired by v8/chrome build system? Maybe have a look at nodejs for freeBSD for inspiration? Or just provide ninja/gn some other way.

Little sad to see a build process import binaries from the net either way...