508 Commits

Author SHA1 Message Date
Jack Nagel
df8edc94d6 utils: fix clang build regex
This has to be able to match things like "211.10.1" so let's stop using
fixed lengths.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-12-16 03:03:10 -06:00
Jack Nagel
901406e3a0 Introduce HOMEBREW_CURL_VERBOSE
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>
2011-12-08 21:04:28 -06:00
Misty De Meo
f017f2d2f5 Utils: update gcc version detection logic
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>
2011-11-25 17:50:14 -08:00
Misty De Meo
6612e49a3c Detect 2-digit clang build versions
Xcode 3.2.6's build of clang is 77, which wasn't being matched by the
clang_build_version regexp.

Closes Homebrew/homebrew#8796.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-11-25 17:54:21 -06:00
Jack Nagel
6fce434857 Add utility methods to determine clang version
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-11-25 13:14:46 -06:00
Jack Nagel
a99b745935 Parse compiler --version instead of -v
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>
2011-11-25 13:00:59 -06:00
Max Howell
6bd47cf0f9 Only try mirrors for CurlDownloadStrategies
Also adjust output text slightly for prettiness.

A possibly useful side effect here is safe_system has a defined Exception (subclassing RuntimeError) now.
2011-09-19 23:30:10 +01:00
Charlie Sharpsteen
ff7c886556 exceptions.rb: Add DownloadError
`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.
2011-09-19 09:21:36 -07:00
Max Howell
d37918b20f If LLVM isn't installed then fails_with_llvm? is true
This makes sense, I assure you. Fixes Homebrew/homebrew#7458.
2011-09-06 17:51:23 +01:00
Max Howell
5dc302604f MacOS.default_compiler should return something always
Even though we are just guessing if it doesn't correspond to any of the others…
2011-09-06 17:12:26 +01:00
Max Howell
6d075a3b17 Check even more carefully for xcode_version
Refs Homebrew/homebrew#7236, though honestly I just think @dsarch hasn't updated.
2011-09-05 18:54:07 +01:00
Max Howell
6283ca46b7 Use proper issue URL 2011-09-05 09:44:53 +01:00
Max Howell
0f3f0626d3 Don't look for llvm-gcc in xcode_prefix
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.
2011-09-04 12:09:41 +01:00
Max Howell
7aa45e81cb Guess Xcode version if xcodebuild doesn't exist 2011-09-02 12:12:30 +01:00
Max Howell
a32e738f7c Default to LLVM for Xcodes that default to LLVM 2011-08-31 17:36:41 +01:00
Max Howell
5b00ab493b Don't point user at issues that are probably unrelated 2011-08-31 15:39:16 +01:00
Max Howell
4ba0e9ebae Use curl with --insecure when on OS X < 10.6
The SSL certificates on this old version of OS X are outdated and who knows if Apple will fix them.

Fixes Homebrew/homebrew#6103.
2011-08-26 13:27:55 +01:00
Max Howell
42cc28597c HOMEBREW_CURL_ARGS so that tests can be more silent 2011-08-24 22:30:43 +01:00
Max Howell
9713bb76b0 oh1 stdout display function 2011-08-24 22:30:42 +01:00
Samuel Cochran
e3e7831b48 Add MacOS.lion? for MACOS_VERSION == 10.7
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-07-27 08:16:16 -07:00
Mike McQuaid
f8127143cf Create method for accessing Xcode version. 2011-05-18 17:04:00 +01:00
Adam Vandenberg
950440dd06 No really, fix llvm_build_version and xcode_prefix 2011-04-26 14:13:53 -07:00
Adam Vandenberg
3ad0e634a3 Fix llvm_build_version to handle xcode_prefix output. 2011-04-26 13:43:41 -07:00
Adam Vandenberg
e3c6d9bf00 Handle complex $EDITOR values. 2011-04-12 10:09:41 -07:00
Adam Vandenberg
8e0c96c45d Normalize use of MACOS_VERSION 2011-04-09 09:36:30 -07:00
Jannis Leidel
c8d4077256 Use https for issue links at the end of stack traces.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-04-07 07:36:47 -07:00
Jonas Pfenniger
c2c21edae4 brew up: star installed formulae
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>
2011-03-21 22:10:39 -07:00
Jonas Pfenniger
163c1c52d0 utils.rb: removed unused cols argument
cols is calculated in the function body

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-03-21 22:10:30 -07:00
Adam Vandenberg
43f77f6ad0 Add methods to ArchitectureListExtension 2011-03-19 09:49:17 -07:00
Adam Vandenberg
8b4645d895 Use backticks instead of popen
Using popen here breaks brew install -v due to the way
the error pipe is passed around during install.
2011-03-19 09:14:59 -07:00
Adam Vandenberg
d8c2642b6d Add MacOS.prefer_64_bit?
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.

Fixes Homebrew/homebrew#4710
2011-03-18 10:30:26 -07:00
Camillo Lugaresi
22afb1cc43 make fails_with_llvm work when cc is llvm-gcc
Closes Homebrew/homebrew#4693.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2011-03-17 17:49:14 +00:00
Adam Vandenberg
c6e069bfe5 Fix bug in reporting curl errors 2011-03-14 13:30:46 -07:00
Max Howell
d78b89dd2e MacOS.xcode_prefix
More robust code than before, and replaces all usage of `xcode-select -print-path`.
2011-03-12 11:55:04 -08:00
Max Howell
48fe922456 Don't open editor if no args passed 2011-03-12 11:55:04 -08:00
Max Howell
c1a3b724fd Some Cleanup 2011-03-12 11:55:03 -08:00
Adam Vandenberg
b13baedfd8 Move string extensions 2011-03-12 11:55:03 -08:00
Max Howell
768910283a Refactor the brew command into one file per command
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.
2011-03-12 11:55:02 -08:00
Adam Vandenberg
5e724cbf15 Use full path to curl in utils.rb 2010-11-26 09:43:07 -08:00
Jamie Macey
b7fa82b28d fix warnings: ambiguous splat
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-10-30 14:50:54 -07:00
Jamie Macey
6ff5e194c7 fix warnings: splat is redundant for puts
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-10-30 14:50:18 -07:00
Martin Kühl
730cd0e6fe Let the gzip utility function accept multiple paths.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-09-19 11:11:56 -07:00
Adam Vandenberg
56a4342eeb Use 'realpath' 2010-09-06 09:30:23 -07:00
Adam Vandenberg
c1e293f5a4 Let 'interactive_shell' take a formula and set ENV vars.
Pull duplicate code out of install --debug and install -i up into
'interactive_shell'.
2010-08-20 10:03:44 -07:00
Adam Vandenberg
6c23f9b324 brew doctor - X11 check
Tweak wording in X11 check and use the same X11 detection function
as ENV.x11; also move that function into utils.
2010-08-09 19:13:07 -07:00
James Harris
07ce6d6e16 archs_for_command now follows symlinks.
Tell file(1) to follow symlinks using the -L option.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-08-02 12:49:20 -07:00
Adam Vandenberg
16bc177a4a Allow HOMEBREW_EDITOR for non-project editing.
If set, use "HOMEBREW_EDITOR" when editing a single file, or multiple
files in the same folder.

Note that this setting does not affect `brew edit`, since opening
all of Homebrew at once requires an editor with proper project support.
2010-07-25 10:58:00 -07:00
Adam Vandenberg
ee794cd21a Add command "brew --env"
"brew --env" will set up a build environment and then dump certain ENV
variables (CC, CXX, LD, CFLAGS, CXXFLAGS, MAKEFLAGS).

If any of CC, CXX, LD are symlinks, now also output the target compiler.
(Typically these will be symlinks from eg /usr/bin/cc to /usr/bin/gcc-4.2).

This is a diagnostic command which may be merged into --config, turned
into an external command, or removed if it doesn't turn out to be useful.
2010-07-13 14:20:52 -07:00
Adam Vandenberg
4c2d3e1f7f Improved Subversion support.
Homebrew will now use the svn binary pointed to by HOMEBREW_SVN if set,
use a Homebrew-installed svn if present, finally falling back to the
system-provided svn binary.

If a formula (mplayer) requires a newer version of Subversion than what
Leopard provides, it can use the "StrictSubversionDownloadStrategy"
download strategy to warn the user.

These changes also fix an issue with forcing exports not working on a
stock Leopard subversion, but letting the user either specify a specific
binary or install Subversion via Homebrew and pick that up instead.
2010-07-08 22:45:03 -07:00
Adam Vandenberg
281768cc07 Add some HOMEBREW env vars to the dump 2010-07-08 22:45:01 -07:00