Regexp#source retains escape sequences as is, so searching for formulae
like 'pure-ftpd' doesn't work.
ClosesHomebrew/homebrew#9597.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Instead of returning a full list of results after parsing, yield and
print each result as it's found for a snappier user experience.
ClosesHomebrew/homebrew#9576.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
The v3 API currently lacks a search feature. Use the v2 API instead for
much faster pull request filtering.
ClosesHomebrew/homebrew#9592.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
When search can't find any local results, hit the GitHub API and search
the titles of pending pull requests. This will help people find the many
proposed formulae and prevent them from wasting time duplicating them.
ClosesHomebrew/homebrew#9018.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Let's choose the first \d{2,} as the build number, as it is the most
likely to indicate significant changes, and we need something to use for
comparison when selecting compilers.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
When investigating issues, one might want to see exactly what curl is
doing behind the scenes. Setting HOMEBREW_CURL_VERBOSE will cause the
'--verbose' flag to be passed to all invocations of curl.
Prompted by Homebrew/homebrew#8992.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Homebrew was attempting to check the version of gcc-4.0 and gcc-4.2 even
if they don't exist, causing `doctor` and `--config` to throw nasty
errors.
Also fixes the broken missing gcc-4.2 detection, which was confusing
Xcode 4.2 users.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Xcode 3.2.6's build of clang is 77, which wasn't being matched by the
clang_build_version regexp.
ClosesHomebrew/homebrew#8796.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
For GCC and LLVM-GCC, '-v' is not a synonym for --version. When run
without any other options or arguments, it gives similar output, but it
is better to just parse the (terser) --version output.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Also adjust output text slightly for prettiness.
A possibly useful side effect here is safe_system has a defined Exception (subclassing RuntimeError) now.
`DownloadError` is an exception that download stratigies can throw to indicate
that a fetch was incomplete due to a failure in communication.
The `curl` method in `utils.rb` has been upgraded to throw a `DownloadError` if
something bad happens to `curl` execution.
Look in /usr/bin because all versions of Xcode install it to /usr/bin now and this allows us to support Xcode-less installs of Apple's developer tools.
When running `brew up`, if a mentioned formulae is also installed,
it will get a wildcard start at the end.
It makes it easier to see if any installed formulae is impacted.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Moved snow_leopard_64? to compatibility and replaced it with
a function MacOS.prefer_64_bit?. This method is in a better
place and has a better name once Lion comes out.
FixesHomebrew/homebrew#4710
The code was sucking. To the extent that maintenance was hard. It's a lot
easier to work with code that is sensibly split at sensible boundaries. So
now it is more like that.
But the refactor is minimal. Because we don't want you to have more merge
hell than absolutely necessary.
If you merge you will need to pay attention to brew.h.rb (as it is deleted)
and bin/brew (as command logic is gone). It will be painful, but you will just
have to help git out by moving any changes around manually.
Note compatibility.rb. It ensures that any function renames or removals don't
break anything. We're pretty serious about backwards compatibility. And that's
because we encourage you to hack around with the innards. And we couldn't do
that if we would then just make stuff disappear behind your back.