-
-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
Explicity allow the use of CMake FetchContent in Solidity formula #172338
Conversation
What does it need to download? |
3a61ce0
to
424d534
Compare
Build dependencies like: |
424d534
to
a5d3fb6
Compare
This should use Homebrew |
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.
It seems this is breaking for the exact reason we introduced this change. Upstream is vendoring formulae. Please adjust the formula to use the Homebrew versions.
a5d3fb6
to
27af624
Compare
Thanks for contributing to Homebrew! 🎉 It looks like you're having trouble with a CI failure. See our contribution guide for help. You may be most interested in the section on dealing with CI failures. You can find the CI logs in the Checks tab of your pull request. |
514ffb8
to
49c4068
Compare
Thanks for the information. But sadly I believe we cannot do that right now. The issue is that the current version of the Solidity compiler installed by this formula (i.e. The mechanism to skip or not system libraries was only added in the recent Solidity release (i.e. So I guess we would need to first just add the |
Since Homebrew/brew#17075, CMake `FetchContent` is disabled by default. Which made the Solidity formula to crash due to missing build dependencies: https://github.com/Homebrew/homebrew-core/actions/runs/9175554982/job/25228895627?pr=172324. This commit fix that by explicitly enabling it back. See: Homebrew/brew#17187 (comment) for context.
49c4068
to
bfdece6
Compare
Why not just make a PR that bumps the version and uses the Homebrew dependencies in the process? |
Sure, we can try to do that in #172324, so I will be closing this PR. Does homebrew allow us to use specific versions of those dependencies? Sorry to ask that, but I'm not a macOS user and I don't use homebrew other than in our CI, so I'm not sure if I can specify a formula version with the I'm asking this because we rely on specific version of those dependencies, for instance:
For instance, doing the following does not work: depends_on "fmt@9.1.0" => :build
But the problem seems to be that such version is not available in homebrew repo, but if this is the case, how would we be able to use homebrew dependencies if we depend on some previous versions? |
No, the reasoning why that is unsupported is included in the docs for it: https://docs.brew.sh/Acceptable-Formulae#stuff-that-requires-vendored-versions-of-homebrew-formulae |
Isn't that too restrictive? I mean, sometimes it is difficult and time consuming to update every dependency every time there is a new version. Sometimes, there is third-party functionality that was deprecated and cannot be readily replaced/re-worked. Other times, we just want to use more stable/audited software and that means fixing a specific version. Don't get me wrong, not trying to be confrontational, just raising some questions/arguments. |
We have implemented it. See: |
Ah, my bad, I didn't see that one. |
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingHOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?Since Homebrew/brew#17075, CMake
FetchContent
is disabled by default . This made our formula to crash: https://github.com/Homebrew/homebrew-core/actions/runs/9175554982/job/25228895627?pr=172324.This PR fix that by explicitly enabling it back.
See: Homebrew/brew#17187 (comment) for context.