Split the core requirement class into generic, Linux-specific,
and macOS-specific parts.
Additionally, the Linux version is now able to detect Java versions
(the previous Linuxbrew implementation was only able to detect
if Java was present at all.)
Since /tmp (the default HOMEBREW_TEMP) is a symlink to /private/tmp,
some build systems (like Parrot's) will attempt to use the realpath
instead of the literal /tmp we supply it with. This breaks the relocation
code, which only tested the literal HOMEBREW_TEMP and not its realpath.
When reproducing issues with software that hasn’t been bottled yet on
your version of macOS it can sometimes be helpful to use `or_later`
bottle functionality i.e. just use the bottle for the latest version of
macOS available. This maps well to the existing `--force-bottle`
argument so it will now act as if the latest bottle has a `or_later`
ending.
If you specify a formula more than once or it exists in the Cellar with
an alias name and the main name (e.g. `qt` and `qt5`) you can see the
same formula showing up more than once. Instead, resolve these output
lists of formulae such that they are unique based on their `name`. This
doesn't use `full_name` as it's `name` that's use for the `Cellar`.
This will use Curl’s default user agent to reduce homepage errors and
provides a function that can be used for other audits to perform
similar tests on URLs.
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`.
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.
This is a step closer to better argument handling but for now just
fixes the issue in #1217 where it starts complaining about options like
`--build-from-source` being used.
It's more useful to be able to "bless" an existing bottle to be used on
later OSs (e.g. where it cannot yet be built) than it is to have to
create a new, identical bottle just to have a different filename.
Xcode 8.1 added timingsafe_bcmp to string.h and libsystem_c.tbd,
and 10.12.1 added it to libsystem_c.dylib, but it is not present in
libsystem_c.dylib on 10.11.6 (15G1108).
It may appear in libsystem_c.dylib in a later 10.11 release or it may
be marked weak on 10.11 in a later Xcode release.
FixesHomebrew/homebrew-core#6344.
Another look at the current Rubocop rules and how they fit with our
existing and desired future style. Almost all of these changes were
automatic. Split some rules between formulae/brew where brew doesn't
have millions of cases that need fixed.
some build systems check ac_cv_search_clock_gettime instead of
ac_cv_func_clock_gettime so the former should also be set to "no"
libev.m4 unsets ac_cv_func_clock_gettime, but if ac_have_clock_syscall
is defined, it will leave ac_cv_func_clock_gettime alone:
http://cvs.schmorp.de/libev/libev.m4?view=markup#l23