Output JSON with the --json=v1 option. Output is in an array, and
supports one or more formulae (or all, with the --all option).
Why 'v1'? The format is unstable, presumably we'll deprecate it
someday. It should be solid by Homebrew 1.0.
ClosesHomebrew/homebrew#13299.
It looks like there can be harmless stuff leftover in
/Developer/Library, even after Xcode uninstalls older versions. The
existence of the uninstall-developer-folder script should be a better
indicator.
FixesHomebrew/homebrew#14970.
`brew linkapps` was creating `MacVim` on the first run, then
`MacVim alias` on the second run.
ClosesHomebrew/homebrew#14955.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Rescuing false on the StandardCompilers map meant that the doctor
check assumed that the compilers were incorrect, not merely
unknown.
Instead, skip the check and return nil for unknown Xcode; nil
should be interpreted as "dunno", instead of "true" or "false",
and the doctor check no longer prints on nil.
build-tool provided args must be considered first by cc, etc. Generally this already occurred for -I flags, because most of our -I flags were -isystem. However it didn't occur for keg-only flags and -L paths.
This was an error.
I amended the refurbishment code to ensure any paths we want to control the order of are thoroughly scrubbed out of the build-tool provided args. This ensures reliability for our builds.
However this path-scrubbing should always occur, even during configure (I am fairly sure of this). So more work is required.
FixesHomebrew/homebrew#14781.
We can't really execute c89/99 explicitly as these POSIX compliant tools support very few args. Best to execute clang or gcc with the --std=cx9 argument appended.
FixesHomebrew/homebrew#14724.
bsdmake used to be keg-only, so some users still have it unlinked (presumably they never run brew-doctor). Even though there is code to abort if dependencies are unlinked, it appears broken for this case. So let's just be thorough anyway.
ClosesHomebrew/homebrew#14751.
/Developer/Library shouldn't exist if all the remnants of old
Xcode versions have been uninstalled, and tends to cause problems if
it's kept alongside modern Xcode.
"uninstall-developer-folder" should only remove /Developer/Library.
Rationale: everyone thinks it points to the currently installed prefix, not the prefix of the formula that is newest and maybe not installed.
The previous behavior was unintentional and evidence proves it is not intuitive either.
I anticipate no regressions. And hope I am right!
Extend patch case statements for files to objects inheriting from `IO`, which
includes `File`, or `StringIO` which is used by the external command
`brew-unpack` to store `DATA` sections loaded from Formula files.
- Avoid ENOTDIR by ensuring that the directories we are checking are
actually directories.
- DRY up the check_PATH method; paths are already available via the
global ORIGINAL_PATHS.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
The MacOS.version? family of methods (other than "leopard?") are poorly
defined and lead to confusing code. Replace them in formulae with more
explicit comparisons.
"MacOS.version" is a special version object that can be compared to
numerics, symbols, and strings using the standard Ruby comparison
methods.
The old methods were moved to compat when the version comparison code
was merged, and they must remain there "forever", but they should not be
used in new code.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Symlinks to apps don't play well with Spotlight, but Finder alises do,
so let's create them instead.
ClosesHomebrew/homebrew#14821.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
The problem is not the raw URLs, but URLs that do not contain the commit
hash corresponding to a particular version of the gist.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>