Updated taglib formula to use taglib 1.8

Closes #15059.

Signed-off-by: Max Howell <mxcl@me.com>
qt: fix lion bottle checksum.
pyqt: update tarball location

Fixes #15060.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
brew unpack: support -gpf

-g sets up git repo. -f forces even if already there. I found these useful.
Always unpack the source tarball, not the bottle
Set DEVELOPER_DIR; Fixes bad xcode-select path

In cases where the xcode-select -print-path is '/' xcrun still hangs indefinitely, setting DEVELOPER_DIR to something (preferably the Xcode path) fixes that. So let's.
superenv: Remove HOMEBREW_PREFIX/bin from PATH

We add the bins from all deps instead. Rationale: formula find and use eg. GNU-coreutils versions of things and then break. Only allow formula to use tools that they depend on and expect.

I want to go further and only add include paths etc. for dependencies, I have done some work on this, but I fear it may be impossible. If an include path is eg. /usr/local/lib/foo/include, is it possible to know if this path is bad? Not always AFAICT.
Extend Set to allow repetition (*)

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Return the block value in ARGV.filter_for_dependencies

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Tab: provide an interface similar to BuildOptions

Eventually a common interface could be factored out into a module, but
for now this will suffice.

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

- Since using opt_prefix means we can find receipts for keg-only
  formulae, try it first and fall back on using linked_keg.
- Make the tab filename a constant instead of duplicating the string
  everywhere.
- Address a couple of other things that need cleanup.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
BuildOptions: simplify setting description

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
BuildOptions: check has_option? for universal and 32-bit

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Provide a common interface for Dependency and Requirement

Introduce a new Dependable module that provides useful interrogation
methods for Dependency and Requirement. These methods are mapped to
dependency tags in formula (:build, :optional, and :recommended).

Previously only Dependency objects recorded tags; this allows
Requirements to do the same.

Move Requirement subclasses to a separate file.
Formula#recursive_dependencies

This behaves like recursive_deps, but the resulting list consists of
Dependency objects instead of Formula objects. The list maintains the
installable order property of recursive_deps.

While in the area, add some comments clarifying the purpose of related
methods.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Dependency#to_formula and associated helpers

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
FormulaInstaller: disambiguate show_header usage

show_header should default to false (we don't want to display it in the
case of installing a single formula without dependencies), but it only
worked this way by accident.

The assignment "show_header = true" creates a local variable named
show_header, and in the case where needed_deps is empty and this
assignment is not actually executed, the latter usage evaluates the
local variable instead of calling the method.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
FormulaInstaller: factor out requirement checking

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
FormulaInstaller: factor out dependency installation

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
FormulaInstaller: skip build-time deps for bottles

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