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

Brew formula #271

Closed
1 task
tuler opened this issue Sep 5, 2024 · 6 comments
Closed
1 task

Brew formula #271

tuler opened this issue Sep 5, 2024 · 6 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@tuler
Copy link
Member

tuler commented Sep 5, 2024

Context

Homebrew is one of the two most popular package managers for macOS.
It's a very convenient tool for a lot of users and developers.

It would be great to have a brew formula to install cartesi-machine from source.

brew install cartesi-machine

Possible solutions

The machine-emulator is already compilable with dependencies coming from brew.
But this issue is about taking one step further and providing a brew formula to install the machine-emulator products from source: binaries, include files, libraries.

Brew has a particular organization, typically something like:

"$(brew --prefix)"/Cellar/cartesi-machine/0.18.1/
   README.md
   LICENSE
   bin/
   include/
   lib/
   share/

And that is symliked to:

"$(brew --prefix)"/bin
"$(brew --prefix)"/include
"$(brew --prefix)"/lib
(...)

One could argue that it's possible to delegate this task to a third-party developer not part of the machine-emulator team. But I believe there will be changes to the Makefile to make it more compatible with the brew build system.

ps: after the formula works it's also possible to provide pre-compiled binaries through brew bottles.

Definition of Done

  • brew install cartesi-machine
@tuler
Copy link
Member Author

tuler commented Sep 5, 2024

@alexmikhalevich stabbed this at https://github.com/alexmikhalevich/homebrew-cartesi/
need to see how to update to latest emulator version

@tuler
Copy link
Member Author

tuler commented Sep 5, 2024

Trying this starting from @alexmikhalevich work
cartesi/homebrew-tap#1

@tuler
Copy link
Member Author

tuler commented Sep 6, 2024

Ready for review at cartesi/homebrew-tap#4

@edubart edubart moved this from Todo to Waiting Review in Machine Emulator SDK Sep 6, 2024
@edubart edubart linked a pull request Sep 6, 2024 that will close this issue
@edubart edubart added the enhancement New feature or request label Sep 6, 2024
@edubart edubart added this to the v0.19.0 milestone Sep 6, 2024
@edubart
Copy link
Contributor

edubart commented Sep 6, 2024

But I believe there will be changes to the Makefile to make it more compatible with the brew build system.

Alex upstreamed the required Brew changes, so looks like there was no need for Makefile patches :)

@tuler
Copy link
Member Author

tuler commented Sep 12, 2024

brew tap cartesi/tap
brew install cartesi-machine

@tuler tuler closed this as completed Sep 12, 2024
@github-project-automation github-project-automation bot moved this from Waiting Review to Done in Machine Emulator SDK Sep 12, 2024
@tuler
Copy link
Member Author

tuler commented Sep 12, 2024

cartesi/homebrew-tap#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants