gstreamer & gst-plugins: --HEAD

Building from gstreamer master is required for development
purpose.

Also gest-plugins-* and gst-libav get --HEAD.

Closes #21665.

Signed-off-by: Samuel John <github@SamuelJohn.de>
gobject-introspection: depends_on :python

To avoid ImportError: Symbol not found: _PyList_Check
during build.
gst-plugins-base: --with-gobject-introspection

should propagate to gstreamer otherwise build will fail.
xmto: fix missing DTD/entities errors

`xmlto` forces the `--nonet` flag on `xsltproc`, which means it throws up an
I/O error whenever it needs to hit the network to pull down any files. So we
patch out the forced flag, and additionally add `docbook-xsl` as a dependency,
which'll reduce the odds of having to hit the network in the first place.

Fixes #21040.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
kytea 0.4.6

Closes #22089.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
zsh completion for brew reinstall

Closes #22061.

Signed-off-by: Samuel John <github@SamuelJohn.de>
Always pass -headerpad_max_install_names to the linker

We use install_name_tool pretty liberally, so we need to take steps to
ensure libraries and executables are always linked with this flag.

Closes #20233.
Fixes #17984.
Fixes #22078.
youtube-dl 2013.08.22

Removed the mirror: the tar from GitHub doesn't have the same checksum

Closes #22095.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
elixir: fixed detection of homebrew installed erlang

Closes #22094.
Closes #22040.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
openssl: run "make depend" to recompute header dependencies

Fixes #21895.
PythonInstalled: Unset PYTHONPATH for `satisfied?`

When a formula `depends_on :python` *and* `depends_on :python3`
the `modify_build_environment` method sets the PYTHONPATH
and the Python 3.x requirement then fails because it finds
the sitecustomize.py from Python 2.x in the PYTHONPATH.
Remove ad-hoc header padding fixes

This is the default now.
Experimental support for non-Apple GCCs
Provide reusable GNU GCC constants in ENV
Implement fails_with for non-Apple compilers

This adds support for non-Apple GCC compilers in the fails_with code.
A fails_with block for a non-Apple compiler looks like:

fails_with :gcc => '4.8.1' do
  cause 'Foo'
end

Non-Apple compilers don't have build numbers, so compiler failures are
based on version strings instead.

Internally non-Apple compilers can be distinguished because they are
passed around as strings instead of symbols.

In addition, this alters the priority list for compilers, with the
following changes:

* Apple GCC 4.2 and LLVM-GCC swap positions, with GCC now taking
  priority. (Maybe LLVM-GCC should just go away.)
* Non-Apple GCC compilers are ranked below GCC 4.2 but above LLVM-GCC
  and Apple GCC 4.0.
Move Tab creation into build process

The parent process doesn't have access to the selected compiler, which
will be important in the next commit.

Fortunately the child process already has a filtered and massaged
ARGV, so it has enough information to build the tab itself.
Tab: track C++ stdlib in use

There are subtle incompatibilities between Apple's libstdc++ and the
libstdc++ used by the various GNU GCC formulae. In addition, we'll
likely also be supporting libc++ in the future, and that's also
incompatible with the other stdlibs.

Tracking it in the tab lets us make sure that dependencies are all
built against the same stdlib to avoid subtle breakage.
Check dependencies for a compatible C++ stdlib

There are now a few possible C++ standard libraries a given build could
be using, with subtle incompatibilities and possibility of breakage
when mixed. This makes sure that the dependency chain was compiled in
a compatible manner.

Fortunately all of the Apple compilers use the same libstdc++, and we
don't yet support building with libc++, so this will primarily only
nag users trying to use GNU gcc who already have software installed
with Apple compilers.

Future TODOs:

* Add general support for building with libc++ (compatibility checking
  already handled here)
* Possibly track formulae which actually build C++ bindings, so that
  users aren't bothered by spurious nagging re: interpreted languages,
  pure-C software, etc.
Enable non-Apple GCC in stdenv