Require `HOMEBREW_CHECK_RECURSIVE_VERSION_DEPENDENCIES` to be specified
(which will be by `brew test-bot`) to avoid this being inflicted on
end-users unnecessarily.
Formulae should not depend on both OpenSSL and LibreSSL (even
optionally). This is to avoid descending into madness where every
formulae that could use LibreSSL has to have option and switching logic.
Homebrew has standardised on OpenSSL and will do so everywhere that
LibreSSL is not a hard requirement.
Because of an accidental use of `=` instead of `==`, the source formula
check would be skipped when determining if a keg depended on another one
(so only the versions would be compared).
Fixed that comparison, and updated the corresponding test.
Glad I caught that!
Previously, trying to resolve the dependencies of a keg would raise an
exception if the formulae for any of the dependencies could not be found
(e.g. if it had been moved to another tap).
This commit updates the dependency finding logic to catch these
exceptions, and fall back to comparing names and taps of formulae, which
should give the correct behaviour.
Fixes#1586.
Previously, old mirrors are only removed if the requested spec is
stable, and if the mirror lines only have two leading spaces. This leads
to stale mirror line(s) when the formula a stable block like
stable do
url "http://example.com/v1.0.tar.gz"
mirror "http://example.net/v1.0.tar.gz"
end
where the mirror line is lead by four spaces.
In this commit, we discard the /(^ mirror .*\n)?/ pattern, and instead
create a pattern with the exact url and flexible leading spaces for each
mirror of the requested spec.
These were formerly supported but as it has been a very long time since
32-bit software was necessary on macOS these have been deprecated with
a `brew audit` warning and a future `odeprecated`.
meson is quickly gaining popularity as build system, in combination with
ninja. Several Gnome projects for example are currently transitioning
from autotools to meson, mostly because it allows for Visual Studio
builds, which is impossible to accomplish with autotools.
In order to facilitate generating meson based Formulas, I added support
for meson to brew-create.
At this point we probably do want to know about issues that crop up in
betas so we can fix them before the new version of Xcode is released.
Additionally, this doesn't really work well any more with our new
tag-based workflow as it means we need to cut a new tag immediately
after a new Xcode is released.