-
Notifications
You must be signed in to change notification settings - Fork 249
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
Hermetic pkg config #979
Hermetic pkg config #979
Conversation
1a51be9
to
461821b
Compare
@jheaff1 thanks for tackling this - I've started this a few times and never quite got round to finishing it so glad to see it being done! |
No worries. Thanks for reviewing the |
d111d89
to
8acf7cb
Compare
@jsharpe CI is now passing apart from the Bazel 4.0.0 tests. The issue seems to be that providing Any thoughts on how best to move forward? Could we upversion the minimum version examples to bazel 5? I presume Bazel 4.x is not yet end-of-life as Bazel 4.2.3 was released last month. I had to replace the usage of |
8acf7cb
to
8d4ed43
Compare
8d4ed43
to
b0c6e7e
Compare
Have you tried bumping the minimum version to 4.2.3 to see if the fix has been backported at all? |
Yeah I tried that but alas the issue still occurs |
Bazel 6 is due out this month I believe, perhaps once it is released we change the minimum supported version of this repo to Bazel 5.x? |
the underlying binary name
Previously transtive shared library dependencies were not included in the runnable binary runfiles
runnable_binary rather than those already on the library path
rather than those already on the PATH
The registration of the preinstalled toolchains have been moved to the preinstalled_toolchains macro, so that the hermetic pkgconfig toolchain is the default. As the hermetic toolchains are registered first, there is no need to specify register_preinstalled_toolchains=False in order for the build to be as hermetic as possible.
This is required now that the default pkgconfig toolchain is hermetically built from source
pkgconfig toolchain is not registered, as a few extra bazel flags are required on Windows.
74c2fb8
to
9a5b17a
Compare
9a5b17a
to
eac0480
Compare
@jsharpe I managed to get it building on bazel 4.0.0 by adding a special flag, please see my latest commit for details |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks; this is awesome work @jheaff1.
You're most welcome. Next up, Meson! |
This PR adds a a pkg-config toolchain built from source.
On Windows, pkg-config has a couple of shared library dependencies, therefore the
runnable_binary
macro is utilised. As such this PR is built on top of PR #971.There are many changes in this PR, I have tried to produce atomic commits to make each commit easier to review. If the git commit history should be tidied further, please let me know.
FYI - Once this is merged I will then be submitting a PR to add meson support, which depends on this PR