I like brew, and I like the simplicity that it brings when installing something.
Flutter seems that a few PR have been opened in the past:
https://github.com/Homebrew/homebrew-cask/pulls?q=is%3Apr+flutter
Most with comments around this needing to be a core formula or cask one.
As noted by @cweagans https://github.com/Homebrew/homebrew-cask/pull/72679#issuecomment-568140066 building flutter from source is actually quite difficult, and probably why the provide it as a pre-built binary. Flutter does come with a few packages, that are hard dependencies.
I created a quick formula to discuss how this should be approached:
https://gist.github.com/FrenchBen/327668a077c38efc1aed2849ce54d537
If a PR to cask is desirable, then I can do so, but would like to prevent repeating the back and forth previously seen 馃槄
Very in favor of this. The "standard" way for Flutter developers to install Flutter is to install from a pre-built binary, regardless of what the Homebrew standards are. Because it's not possible to install Flutter through Homebrew, I had to do this hacky nonsense: https://github.com/cweagans/dotfiles/blob/master/.config/yadm/scripts/flutter.sh
core formula or cask one.
They鈥檙e not two different types of formulae. One is a formula, the other is a cask. They鈥檙e named differently because they are built differently and have different capabilities.
I created a quick formula to discuss how this should be approached
Then you need to submit it to Homebrew/core, not here.
If a PR to cask is desirable
You can鈥檛 make that a PR to this repo because that鈥檚 a formula, not a cask, and this repo only accepts casks. See alfred as an example. It鈥檚 a different thing.
CLI-only open-source tools need to be submitted first to Homebrew/core as formula, which is what you have. You may return here if not accepted (linking back to the pull request where it was refused), but you鈥檒l need to build a cask instead.
This policy is documented in faq/rejected_casks:
The app is both open-source and CLI-only (i.e. it only uses the
binaryartifact). In that case, and in the spirit of deduplication, submit it first to Homebrew/core as a formula that builds from source. If it is rejected, you may then try again as a cask (link us to the issue so we can see the discussion and reasoning for rejection).
From previous refusals, it seems like Flutter is ready to be submitted as a cask, but that鈥檚 not what you built.
@vitorgalvao that's a very different answer than what you said here: https://github.com/Homebrew/homebrew-cask/pull/72679#issuecomment-554409386
Just want to clarify: if a proper Cask was submitted, would you accept it?
Just want to clarify: if a proper Cask was submitted, would you accept it?
From https://github.com/Homebrew/homebrew-core/pull/46727#discussion_r347691305:
it isn鈥檛 true that this can鈥檛 be built from source. Or it is true, that point hasn鈥檛 been made with a justification.
Once we establish that with proper justification, we can discuss the cask.
@vitorgalvao since the binary is included, and not built, I believe it's been previously denied in core, thus a cask makes more sense.
If we agree on the above, can I open a Cask PR for review?
since the binary is included, and not built
The fact that they provide a binary does not prove that it can鈥檛 be built (without considerable effort). Were that the case, we wouldn鈥檛 need the deduplication rule, because any binary submitted as a cask would be accepted outright.
That鈥檚 not uncommon. And when those are included as casks, there tends to be sufficient justification that it needs to be a cask and not a formula.
without considerable effort
This is the main point - It's easy to consume, yet quite difficult to build.
And when those are included as casks, there tends to be sufficient justification that it needs to be a cask and not a formula.
Is this the justification needed to get a PR pushed through within this Cask repo?
Go ahead, submit the cask.
Cask seems to have less install options, making it difficult to install binaries that require additional resources. For the time being I defaulted to a user tap:
https://github.com/FrenchBen/homebrew-repo
Most helpful comment
Go ahead, submit the cask.