This moves stdlib tracking after the install completes, which allows
the tracking to have access to the actual stdlib in use.
This unfortunately means that builds can error out *after* a build,
resulting in wasted time; however, it reduces false positives, and the
overall user experience is still likely to be better this way.
Array#one? wasn't yet defined in Ruby 1.8.6. In this case the block form
isn't being used, so Array.length == 1 is a simple replacement.
Fixesmistydemeo/tigerbrew#123.
This patch allows users to "opt out" of using the GitHub API altogether
by setting the HOMEBREW_NO_GITHUB_API environment variable. The
value of the environment variable does not matter (it can even be
empty!).
For Bash/ZSH: export HOMEBREW_NO_GITHUB_API=1
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Declarations of dependencies, options, and resources in the DSL only
apply to specs that have already been initialized. For example, given
this snippet:
url ...
sha1 ...
depends_on 'foo'
devel do
url ...
sha1 ...
end
The dependency 'foo' will be recorded for the stable spec, but not the
devel spec, since it was not initialized prior to the call to
depends_on.
While it is considered best practice to declare all specs (stable,
devel, head, and bottle) prior to other declarations, there is nothing
that enforces this ordering, so when it happens it can be confusing and
hard to debug.
To prevent this, we can initialize all specs up front. This comes with
a performance penalty for commands that load all formulae into memory,
but that is probably outweighed by what we gain in correctness.
FixesHomebrew/homebrew#23425.
* PPC bottles are in the os_cpu format, e.g. :tiger_g3
* Intel bottles are the bare cat, as usual
* 64-bit bottles have _64 appended to them, e.g. :tiger_g5_64 or :leopard_64
MacOS.gcc_42_build_version was returning nil if apple-gcc42 was
installed but unlinked, which was disjoint with how other parts of
Homebrew tried to see if it was present.