Manage Requirements using ComparableSet

ComparableSet only allows a single object of a given class,
choosing the object with the greatest value. This was mainly created
for Requirements, so that, e.g., two X11Dependencies of differing
strictness don't both end up in the same requirement set.

Fixes #15240.
solr 4.0.0

Closes #15466.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
google-app-engine, app-engine-java-sdk: homepages moved

Updating homepage on each. Old values redirect to new values.

Closes #15468.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
tig 1.1

Closes #15462.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
mercurial: works with all CPythons.

Replace shebang whatever CPython is. This can works with system,
homebrew, official, pythonbrew, etc.'s CPython.

Closes #15342.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
ImageMagick: fix deps

Fixes #15471.
IO: fix deps

Closes #15183.
GitDownloadStrategy: silence status check

"git status -s" is used to detect if the repository was corrupted during
an interrupted clone, but it can leak output to the terminal, so use
quiet_system.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
GitDownloadStrategy: silence checkout actions in non-verbose mode

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
GitDownloadStrategy: avoid unnecessary checkout

By default, git checks out the fetched ref after cloning the repo, but
this is unnecessary as we explicitly check out the desired ref during
staging. This also silences some unnecessarily confusing output.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Test coverage for DownloadStrategyDetector

While at it, make it use class methods instead; no reason to instantiate
an object for this.

Eventually there should be some functional tests for the individual
strategies as well.

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

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Reduce code footprint of standard compilers map

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

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
brew-unpack: don't attempt to mv the build directory

When the current working directory is the root of the build tree, copy
it instead of moving it, otherwise an exception will be raised when we
try to clean up the build tree later.

Noticed when unpacking the vim source tree from a mercurial checkout.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Add Jenkins version matching (and test).
jenkins 1.486
rfcmarkup 1.101

- Upgrade to 1.101
- Remove the failing inreplace. It is merged upstream.

Closes #15482.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
pincaster 0.6

- Upgrade to 0.6.
- Works with superenv

Closes #15484.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
pngrewrite 1.4.0

- Upgrade to 1.4.0
- Switch to using the Makefile to fix build errors.
- Adjust the Makefile to use our `ENV.cc` and `ENV.cflags`

Closes #15483.

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