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

Update Homebrew #5452

Closed
erak opened this issue Nov 19, 2018 · 9 comments
Closed

Update Homebrew #5452

erak opened this issue Nov 19, 2018 · 9 comments

Comments

@erak
Copy link
Collaborator

erak commented Nov 19, 2018

Abstract

Update Homebrew formula on https://github.com/ethereum/homebrew-ethereum such that it either downloads a binary or builds from source if binary is not available.

Fixes #5449.

Motivation

We have a couple of reports from people that are not able to install solc via Homebrew. Since this affects 0.4.25 (fixed for 0.5.0) we should provide some guidance. We considered pushing the macOS binary built on Circle as a Homebrew bottle and then change the formula, so it would try to download this per default. If the download fails, it could still try to build from source.

@chriseth
Copy link
Contributor

Is it possible to test develop to be built / installed in the homebrew way on circle?

@erak
Copy link
Collaborator Author

erak commented Nov 28, 2018

We could create an additional build and an additional test step in Circle that just runs brew install solidity and ./scripts/tests.sh afterwards. Would that work?

@jolestar
Copy link

Please support multi-version for Homebrew formula too. Because Solidity's grammar is not compatibility between version, so the developer must keep multi-version same time.

@erak
Copy link
Collaborator Author

erak commented Nov 30, 2018

@jolestar Thanks for the input on this matter. Are you suggesting to support multiple versions such that developers can easily switch between them like this: brew switch solidity 0.4.25?

@ChrisChinchilla
Copy link
Contributor

@bit-shift There's different options depending on if we want a cask-based formula (typically for Binaries), or a 'normal' formula. If we maintain previous versions of binaries for cask, then they need to be hosted somewhere. The 'normal' path supports versions, the cask path also does, and there's also the 3rd option of creating our own tap, where you can kind of do what you want, within reason.

We could potentially offer more than one option I guess. If I look at my cask list it's typically applications with a GUI (ethereum-wallet, mactext, ganache etc), or applications with a lot of complexity and non-typical dependencies for macOS (dotnet-sdk, some other C# applications). So in theory, solidity probably shouldn't be a cask.

I know that doesn't necessarily make the process easier, and I'm a little unclear about how other Ethereum ecosystem packages relate to each other (with regards to builds etc), but maybe it's better to figure out the underlying issues and make sure we set proper dependencies etc?

@ChrisChinchilla
Copy link
Contributor

And @bit-shift I think that's what @jolestar means, I've done something similar with Python, Node, Ruby etc.

@jolestar
Copy link

jolestar commented Dec 4, 2018

@bit-shift yes. I have to install solidity by an old version formula URL, such as:

brew install https://github.com/ethereum/homebrew-ethereum/blob/70314d6cd077d2e6dd466a8932ed93064464737f/solidity.rb

for solidity 0.4.21

expect:

brew install [email protected]
brew switch solidity 0.4.21

@ChrisChinchilla
Copy link
Contributor

@jolestar We're now testing this in ethereum/homebrew-ethereum#212

@axic
Copy link
Member

axic commented Dec 13, 2019

Casks are tracked in #3774. Also #3168 would solve this problem (outside of homebrew).

@axic axic closed this as completed Dec 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants