Flexibility in building bottles & offering bottles from homebrew-core
formulae
#5812
Unanswered
rgoldberg
asked this question in
Writing Formulae/Casks
Replies: 1 comment 3 replies
-
There is not because:
|
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Output of
brew config
Output of
brew doctor
Description of issue
The mas project should be able to build its executable for all the macOS versions & platforms that it supports in a single GitHub workflow on a single macOS GitHub runner.
e.g., Xcode 16.1 on a GitHub macOS 15 runner (doesn't matter if it's
macos-15
ormacos-15-arm64
) should be able to build anarm64
executable that will run on macOS 11+ on Apple Silicon, and anx86_64
executable that will run on macOS 10.13+ on Intel.Doing so would simplify distribution of mas to users (rendering unnecessary both the mas custom tap & building from source for all macOS versions 12.5+ for which Homebrew doesn't currently provide bottles), and would conserve Homebrew bottle building resources.
Additionally, older versions of mas support older versions of macOS that are not supported by the current or future versions of mas. For such legacy macOS versions, it would be useful for the current
mas
formula to be able to provide bottles of a legacy version of mas that supports them.I assume that at least some other formulae would be in similar situations for either or both of the above.
The seemingly optimal setup for mas would be to allow its formula to have Homebrew:
macos-15
ormacos-15-arm64
):arm64
bottle forbig_sur
+ by passing--arch
&arm64
arguments to the mas build scriptx86_64
bottle forhigh_sierra
+ by passing--arch
&x86_64
arguments to the mas build scriptmas
formula to provide legacy mas 1.8.6x86_64
bottles that were previously bottled by Homebrew forsierra
&el_capitan
, as 1.8.6 is the last mas version to support those 2 macOS versions.Is there any way to achieve the above or something similar within the
homebrew-core
formula? (preferably cleanly, but I’ll accept any solution that Homebrew maintainers will, even if it's kludgy)If not, are there any open issues / draft PRs for any of this?
Would Homebrew accept a PR for at least part of this? (being able to build bottles on a newer macOS for older macOS versions is the most important part for me, followed by providing legacy bottles for legacy macOS versions, followed by building bottles for different platforms on one runner)
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions