- This builds on @jonchang's work that started in #6265.
- We now use `uses_from_macos` to declare dependencies that are implicit
on macOS because they ship with macOS, but they're needed on Linux. We
have to be sure that the dependencies people specify as
`uses_from_macos` are actually shipped with macOS. So, we maintain a
safelist of those dependencies and check against it.
- Also add more legitimate `uses_from_macos` dependencies to the list.
- This is runnable with `brew audit --only-cops=FormulaAudit/UsesFromMacos`.
- It produces different number of failures on macOS vs. Linux, because
apparently we've not synced Homebrew/linuxbrew-core upstream thoroughly
enough yet.
- Originally this was designed as a `--strict` audit, but we flipped it
to be a normal audit because - to quote Mike - this is "sufficiently
robust" now.
- We recently deleted a load of old Homebrew/formula-patches patches for
non-existent core formulae
(https://github.com/Homebrew/formula-patches/pull/283). This is a good
action to take. Users should always be able to retrieve the patch once
it's been deleted from the repo, if the formula they continue to use
specifies a git revision to pull from, not just `master`.
- The code to detect `master` formulae was already here, so this adds
another GitHub host to the detection: `raw.githubusercontent.com` as
that's what the current patches that use `master`
(https://github.com/Homebrew/homebrew-core/pull/51329) link to.
- Fixes https://github.com/Homebrew/homebrew-core/issues/51313.
- Migrate the existing binary URL audit to a RuboCop.
- Check resources as well as main URLs
- Also check for "macos" and "osx" in URLs
- Add whitelists for URLs and formulae
- Accelerate provides more than just BLAS and LAPACK functionality, see
https://developer.apple.com/documentation/accelerate
- Veclibfort exists only to wrap Accelerate's BLAS/LAPACK
- LAPACK is a slow, seldom updated reference implementation
- Encourage usage of OpenBLAS
- Reverts PR #6130
- Ensure that new formulae problems aren't duplicated
- Now that homebrew/core will imminently not have options adjust the
various audits so they make more sense (and exclude taps)
- Exclude taps from more preferential audits