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

Add the HomeBrew Package Manager #41

Merged
merged 2 commits into from
Nov 5, 2024
Merged

Add the HomeBrew Package Manager #41

merged 2 commits into from
Nov 5, 2024

Conversation

ripytide
Copy link
Owner

@ripytide ripytide commented Nov 2, 2024

Initially requested in steven-omaha/pacdef#84

@InnocentZero
Copy link
Collaborator

LGTM, though I'm not certain about the brew cli args since I've never used brew.

@ajeetdsouza
Copy link

Posted this on pacdef too, but why not use brew's native bundle feature for this?

brew bundle --cleanup --no-upgrade --file=- <<EOF
brew "some-dependency-here"
EOF

@ripytide
Copy link
Owner Author

ripytide commented Nov 5, 2024

I saw that @ajeetdsouza but I encountered some issues with that approach.

At the moment the code is setup to work with backends which have a way to query, install and remove packages imperatively rather than declaratively which brew bundle does since we are implementing that declarativity ourselves.
A lot of the behaviour which we need to get from a backend such as brew is also not implemented as far as I can tell under the bundle subcommand such as listing missing dependencies which we need for metapac unmanaged.

Another issue I found was if we were to use brew bundle cleanup for something like metapac clean then we would need to create a brewfile which differentiates between casks and brews which resolved automatically when using brew install [packages].

Is there any advantage to using the builtin brew bundle command rather than separate brew list, brew install and brew remove calls? If not then I don't see the value in reworking the code to accommodate it.

@ripytide ripytide merged commit dc2bd42 into main Nov 5, 2024
9 checks passed
@ripytide ripytide deleted the brew branch November 5, 2024 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants