When multiple kegs are installed, `brew info` marks a keg with an
asterisk if f.installed_prefix == keg, but this is only true if either
HEAD or the newest version of the formula is installed. This isn't
always useful, so let's mark the currently linked keg with an asterisk
regardless of the version.
Obviously, keg-only formula will never be marked, but this is probably a
feature. When multiple keg-only kegs exist, chances are that they are
each being utilized by something, so there isn't really a "used" and
"unused" version.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This will be useful in places where we need information about things
other than the currently linked keg, such as `brew info`.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
If the suggested modifications are already in place, just skip the
warning.
ClosesHomebrew/homebrew#8624.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Use `Formula.factory dep.path` instead of `Formula.factory dep.name` so that
non-standard dependencies specified as URLs or paths can be handled properly.
In later XCodes, gcc is a symlink to gcc-4.2 which is itself a symlink
to llvm-gcc, so it is necessary to resolve multiple symlinks.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Clang is vastly different than LLVM-GCC and is under active development. Using
Clang is a viable solution to formula that fail with LLVM and a suggested
recourse for users of XCode 4.2 or newer.
FixesHomebrew/homebrew#9242.
This version number is arbitrary, and only used to differentiate versions
in bug reports.
There have been enough changes to compiler detection since 0.8 that it makes
sense to bump the version here.
Current warnings contain a mix of variable names with a '$' prefix and
without; most documentation omits the '$', so drop it.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
- Fix ENV.libxml2 to update CPPFLAGS rather than CFLAGS
- Methods ENV.{gcc*,llvm,clang} now reset CPU-specific optimization
flags on every call.
ClosesHomebrew/homebrew#8105.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
We make the assumption that the first non-option word is the command
being invoked.
Originally I was trying to allow command completion for non-standard
command lines like
$ brew --verbose inst<TAB>
but right now executing something like that doesn't actually work. Which
is interesting, because the man page implies that it should. Either the
man page is incorrect, or something was broken between then and now.
Anyway, it would probably be safe to just assume that COMP_WORDS[1] is
the command, and we do make that assumption in other places. But if we
ever do allow things like "brew --option command", this will be useful.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Rationale: some software (e.g. GNU Coreutils, GnuTLS 3.x), have started
distributing _only_ xz-compressed tarballs. There is no system XZ
utility provided by OS X, but it is necessary so that we can continue to
provide formulae for this software.
If XZUtils isn't installed, we abort and prompt the user to `brew
install xz`.
The `xz` command itself doesn't do any untarring, so we write the
decompressed archive to stdout and pipe it to tar.
Several issues have been caused by conflicts between the options
Homebrew passes to curl and those read from $HOME/.curlrc. Passing '-q'
will force curl to ignore settings in that file.
Suggested in Homebrew/homebrew#9027.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
When investigating issues, one might want to see exactly what curl is
doing behind the scenes. Setting HOMEBREW_CURL_VERBOSE will cause the
'--verbose' flag to be passed to all invocations of curl.
Prompted by Homebrew/homebrew#8992.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>