`brew irb` fix

Broke when I removed `require 'formula'` from ARGV.rb.
`brew doctor -D` (diagnostic-dump)

-D is now the switch for diagnostic-dumps. Let it be so.

Shows how long each doctor method takes in a sorted table at end. I used this to move the two slowest methods to the end of the doctor run so that as much useful information can be shown as quickly as possible.

Also now possible to specify on command line which tests should be run.
Improve libiconv diagnostic and suggestion

This is coming up a lot at the moment, so here is an attempt to be more helpful.
llvm: fix syntax error from commit 576b9fae0679e2a

Closes #14183.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
python: update comments

We only offer framework builds, so remove comments that suggest
otherwise.

Use HOMEBREW_PREFIX instead of `brew --prefix`, as that is what is
available inside of the formula, and how it is referenced elsewhere in
Homebrew.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
python3: update comments

We only offer framework builds, so remove comments that suggest
otherwise.

Use HOMEBREW_PREFIX instead of `brew --prefix`, as that is what is
available inside of the formula, and how it is referenced elsewhere in
Homebrew.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
--config: remove confusing XQuartz annotation

Apple's X11 is XQuartz, but this can be confusing, and is ultimately
unnecessary for debugging purposes.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
python: tighten '2to3' check

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
python3: tighten '2to3' check

Fixes #14179.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
ncmpcpp: add pkg-config, update fails_with

ncmpcpp has a build-time dep on pkg-config so that it can find
libmpdclient, and it needs the `fails_with` version updated
because it still has problems with clang.

Add a dep on pkg-config
Update the fails_with build.
Use the new options DSL.
Tested on ML with clang and llvm from XCode-4.4.1.

Fixes #14160

Closes #14172.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
gts: add --universal option

Closes #14165.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
epstool: use the right compiler

Closes #14188.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
epstool: add mirror

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
build: expand requirements recursively when modifying ENV

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
libsvg-cairo: don't depend on all of X11

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Recursively expand requirements in FormulaInstaller

Currently FormulaInstaller "forgets" about the requirements of
dependencies, as dependencies are recursively expanded by the first
FormulaInstaller instance, and then ignored by subsequent instances to
prevent duplicate installation attempts. These requirements then have
their messages displayed, but the fatal check is skipped and thus no
exception is raised.

Now that we have Formula#recursive_requirements, we can mirror what we
are doing with dependencies and recursively expand requirements up
front.

While at it, fix a bug in determining Requirement equality that resulted
in unique requirements being eliminated from a formula's set of
recursive requirements.

Fixes #12290.
Fixes #14084.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Don't print an empty line if all requirements are satisfied

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
New formula: texi2html

This is no longer shipped as of 10.8, but is required to build the
documentation for a few formulae, like ffmpeg and ffmbc.

This wasn't given a symbolized dependency because I don't anticipate
it coming up that often.
ffmpeg, ffmbc: use texi2html on 10.8
FormulaInstaller: filter ARGV when testing for installed deps

In FormulaInstaller#install, needed_deps is created without first
filtering ARGV for flags like --HEAD. In practice, this means that
sometimes needed_deps will contain dependencies that are actually
already installed; --HEAD causes Formula#installed_prefix to differ and
thus checking Formula#installed? will result in false negatives.

This can trigger weird bugs; for example, #10380, where the "Installing
foo" header is displayed even though no dependencies were previously
installed.

Fix this by filtering ARGV before testing for installed dependencies,
and do the same for requirements to maintain symmetry, and because some
requiremnts check Formula#installed? as well.

Fixes #10380.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>