rerun-io / rerun

Visualize streams of multimodal data. Free, fast, easy to use, and simple to integrate. Built in Rust.
https://rerun.io/
Apache License 2.0
6.7k stars 339 forks source link

`rav1d` should build `nasm` in its build script #7737

Open teh-cmc opened 1 month ago

teh-cmc commented 1 month ago

The dependency on a locally installed nasm is very annoying for end users. Being in a build script, it leaks everywhere.

nasm is very cheap to clone and build, that could all happen in the build script directly.

kkysen commented 1 month ago

The dependency on a locally installed nasm is very annoying for end users. Being in a build script, it leaks everywhere.

nasm is very cheap to clone and build, that could all happen in the build script directly.

On the other hand, building nasm ourselves is much worse for reproducible, hermetic builds, and the trend has been to stop doing this. I'm not sure why it's so difficult to just install nasm yourself.

teh-cmc commented 1 month ago

On the other hand, building nasm ourselves is much worse for reproducible, hermetic builds, and the trend has been to stop doing this.

I don't follow how relying on binaries from the user's PATH would help with reproducibility or hermetic builds?

I do agree that I would love for Rust to have a proper build system though, and build.rs files are definitely not a replacement for that. That ship has sailed, unfortunately...

I'm not sure why it's so difficult to just install nasm yourself.

Rerun is all about making traditionally hard things seamless and painless, independent of your background.

Using Rerun as a library, or installing the viewer via cargo install, should never ever require the end-user (many of which are not necessarily programmers) to install an assembler on their machine (provided they even have the user rights to do so in the first place).