FileUtils: backport #copy_metadata fix

Entry_#copy_metadata has a nasty bug that makes copying symlinks
across filesystems fail. This lasted all the way through 1.9.3p194
before *finally* being fixed. This backports the official fix.

Fixes #14710.
RDSCli 1.10.002

Closes #15158.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
AIR SDK v3.4

Closes #15154.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
aws-sns-cli 2012-03-31

Closes #15157.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
py2cairo: add `env :std`

py2cairo needs the PATH environment variable to locate
`python-config` and by extension the Python the user
wants to use.

- Add `env :std` for now until a system-wide solution is used.

Fixes #14781

Closes #15159.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
RabbitMQ 2.8.7

Closes #15160.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
libpng 1.5.13

Closes #15162.
gd: don't use freetype unless requested.

Try and work around the issue in #15133.
fakeroot: add missing dependencies

Fixes #15136.
boost 1.51.0

Closes #15113.
When builds fail verbosely, be verbose
mit-scheme: add optional X11 dependency for 10.8.

Closes #14966.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
graphviz: actually depends on freetype rather than gd.

References #14646.
Don't set $VERBOSE when building nonverbosely

Setting $VERBOSE in the environment makes the haskell-platform build
fall down, which is surely one of the odder bugs I've run into.

See #15164.
Fix conditional

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Make FileUtils extension available globally

Now that we are monkeypatching copy_metadata, we should load our
extension up front for consistency.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Adjust test expectation for 'LD'

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

Previously we detected this by reading the first line of the file.
However, "first line" is meaningless when dealing with binary files, but
IO#readline will happily keep reading until it finds a newline
character, which can result in some unnecessarily large buffers.

Aside from the performance issue, this causes an additional problem
under Ruby 1.9: trying to match the binary string against a pattern will
raise ArgumentError (unless the binary string just happens to also be
valid UTF-8, heh).

Fix both issues: only read the first 1024 bytes, as no sane shebang will
ever be that long, and use a plain read(), which returns an ASCII
encoded string even on 1.9.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
test_bucket: don't try to clean a non-existent keg

It is a no-op under Ruby 1.8 but Pathname#find raises ENOENT if the
directory doesn't exist under 1.9. But we really shouldn't try to clean
a non-existent keg anyway, and FormulaInstaller will have bailed out
long before the clean step if the keg doesn't exist, so lets just not
even test this condition; the cleaner has its own tests anyway.

Alternatively we can adjust the cleaner to handle this case, but I don't
see much value in that.

n.b. with this, the tests now pass under 1.9.3 (for me), which is nice
because I often run them on that version inadvertently.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Fix hg strategy under stdenv

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