Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rav1d should build nasm in its build script #7737

Open
teh-cmc opened this issue Oct 15, 2024 · 2 comments
Open

rav1d should build nasm in its build script #7737

teh-cmc opened this issue Oct 15, 2024 · 2 comments
Labels
🧑‍💻 dev experience developer experience (excluding CI) 🎞️ video

Comments

@teh-cmc
Copy link
Member

teh-cmc commented Oct 15, 2024

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.

@teh-cmc teh-cmc added 🧑‍💻 dev experience developer experience (excluding CI) 🎞️ video labels Oct 15, 2024
@kkysen
Copy link

kkysen commented Oct 21, 2024

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
Copy link
Member Author

teh-cmc commented Oct 21, 2024

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧑‍💻 dev experience developer experience (excluding CI) 🎞️ video
Projects
None yet
Development

No branches or pull requests

2 participants