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

Add bootstrap dependencies to shell.nix #66

Open
wants to merge 58 commits into
base: main
Choose a base branch
from
Open

Add bootstrap dependencies to shell.nix #66

wants to merge 58 commits into from

Conversation

attilaolah
Copy link
Owner

Overall, make dependency resolution work by using the pkg-config provided by Nix.

Looks like the config picks up the host compiler, or at lesat some host compiler, and it seems to work. Not ideal, but I don't think it makes a difference in the end result.
Will probably globally enable -msimd128, and selectively enable -msse and -mssse versions for individual builds.
Using version 7 would be better, but needs updating the CC toolchain for
toolchain resolution to work properly.
These support bzlmod and can be used with Bazel 7.
Also fix Go & Gazelle libs, update CC & Foreign CC toolchains to
properly handle -x c++, which should fix the AOM and X265 builds.
In general, disable -Wall since it is not really of any use when building third party packages, each package will enable their own warnings/errors as needed.

Also disable forcing stack frames, it is useful for debugging but in opt mode we really don't want to keep any debug info, and we'll wasm-opt things out anyway probably.
This is because we also patch MODULE.bazel, which cannot be patched
using a patch file alone, apparently.
This is used only inside the Docker container now.
In a clean Docker build, it seems like the built pkg-config is not picked up properly.
The X265 package needs git to determine the version number at build time. Ideally we should provide this via a @nixpkgs external repo, but for now I'm being lazy and just adding it to the shell.nix.
This should already be present, but the FFmpeg build expets it in the PATH, and adding one this way is just easier.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant