-
Notifications
You must be signed in to change notification settings - Fork 2
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
attilaolah
wants to merge
58
commits into
main
Choose a base branch
from
nix
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Overall, make dependency resolution work by using the pkg-config provided by Nix.
This finally fixes #44.
This isn't great, but should work since we only really care about the wasm-ld linker here.
TODO: Maybe now the FFmpeg build won't find yasm? We'll have to figure it out, but in any case it only matters for the host configuration.
It doesn't seem to exist in the the emscripten nix package.
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overall, make dependency resolution work by using the pkg-config provided by Nix.