22 Commits

Author SHA1 Message Date
Adam Vandenberg
3825535310 Move recommended compiler versions into constants. 2010-03-16 20:58:12 -07:00
Adam Vandenberg
485d480722 Add a snapshot of ENV to BuildError and show some flags with the stack trace. 2010-03-11 15:58:17 -08:00
Adam Vandenberg
cb6449c2d9 Homebrew is now at version 0.6
We've bumped the version number, as Homebrew no longer tries to use LLVM
by default (on Snow Leopard.)
2010-03-08 15:55:30 -08:00
Max Howell
799dd7108e String.undent for prettier HEREDOCs 2010-03-07 17:57:05 +00:00
Adam Vandenberg
a9b19f0255 Move license block to separate LICENSE file. 2010-03-01 11:41:24 -08:00
Max Howell
8a1b17e04b Stop raising during the raise ctor 2010-01-16 20:25:50 +00:00
Max Howell
0a27f041d0 Print quotes around executed arguments with spaces
Eg: ['foo', 'bar la'] -> "foo 'bar la'"
2010-01-13 11:23:15 +00:00
Adam Vandenberg
47a38f49f1 Fix HOMEBREW_BREW_FILE for unit tests. 2009-11-18 15:39:51 -08:00
Max Howell
8c21cd4c64 It's about time we bumped the version eh? 2009-11-11 18:43:03 +00:00
Max Howell
86516e563f Set ENV[HOMEBREW_BREW_FILE]
Thus install.rb gets the path to the instantiating brew process rather than whichever is first in the PATH. Not to mention Homebrew doesn't *have* to be in the PATH.
2009-11-08 15:21:14 +00:00
Max Howell
6b18d5572d Rename BREW_FILE HOMEBREW_BREW_FILE
Because it's a global.h constant and that file can be included by other projects.
2009-11-08 15:21:14 +00:00
Max Howell
1e879eaee8 Propagate exit status in ExecutioError exception 2009-11-07 18:22:36 +00:00
Max Howell
a4e86bb326 Move BuildError and ExceutionError to global.h
More sensible, and fixes brew
2009-11-07 18:22:35 +00:00
Max Howell
c5eb65332d Don't require hardware.rb globally 2009-11-07 18:22:33 +00:00
Adam Vandenberg
c76d652da2 Tweak code to locate Cellar path.
I think this tweak to finding the Cellar path addresses one of mxcl's
concerns over supported install scenarios.
2009-11-04 16:27:36 +00:00
Adam Vandenberg
3087888fb0 Rewrite of HOMEBREW_ folder locations
This rewrite attempts to sort out where the Prefix, Cellar, and
Repository are relative to the real and symlinked 'brew' command.

Also included is a --config option which dumps all of these variables.

Any top-level script must define a "BREW_FILE" that gives the path
to brew as it exists in the path. 'brew' itself just uses __FILE__ and
install.rb does a `which brew` (there may be a better way?)

The Prefix is always relative to the location of brew as it exists in
the path. Thus, whether or not /usr/local/bin/brew is a symlink or real
file, the Prefix is always /usr/local. If you have brew in some other
prefix, such as /nonstandard/bin/brew, then '/nonstandard/ will be
managed by brew instead.

The Repository, Cellar, and "Library/Homebrew" required code is always
found relative to the "real" path or brew. If brew is a real file in
/usr/local/bin/brew, then everything else will be found in /usr/local
and we'll expect a /usr/local/.git

Otherwise, we dereference brew's symlink and look for everything else
relative to that path instead.
2009-11-04 16:27:34 +00:00
Max Howell
543a113712 Some subdirs and renames to aid homebrew n00bs
The classes better reflect their contents. I'm sure this change may be
contentious, but I am a sucker for trying to create source bases that are easy
to get to grips with and easy to navigate.

brewkit.rb is now a deprecated file.
2009-10-15 16:51:53 +01:00
Steve Losh
287cc0dc02 Determine the repo path in a symlink-friendly way.
The Contributions/selflink.sh script does not symlink the .git directory,
so 'brew update' will fail because the prefix (/usr/local/) is not a git
repository.

To determine the actual location of the git repo we can get the realpath
of the Library (to expand any symlinks) and take the parent of that.
2009-09-30 15:07:23 +01:00
Max Howell
55025865eb Fixes Homebrew/homebrew#68, let's not break fresh Homebrew installs
Thanks to boztek for spotting this. I'll commit a test shortly.
2009-09-30 03:10:25 +01:00
Andre Arko
d3954d3d77 Add HOMEBREW_REPOSITORY prefix for brew up
Signed-off-by: Max Howell <max@methylblue.com>

I removed whitespace changes and changed readlink to realpath as readlink raises if it's not a link.
2009-09-29 23:34:16 +01:00
Piotr Usewicz
4ed3834be0 Add full version and build numbers to user agent
Signed-off-by: Max Howell <max@methylblue.com>

I adapted it slightly based on the user agent that Safari gives.
2009-09-25 01:24:05 +01:00
Max Howell
c28bd7b571 Allow formulae to use __END__
For this to work the "running script" must be the formulae file. Making this
so wasn't so hard, there is now an install.rb script which is included with
the -r flag to the ruby executable. An at_exit handler calls the install
function.

Having the install logic in its own file made it feel like there was so much
space that I added extra error handling. So there is something to be said for
separating functionality out into its own files.

Still the error handling sucks, we'll need to marshall the exception back to
the bin/brew command. Which is another PITA.

Still overall I think this will prove worthwhile. But if it doesn't we'll
revert.

As a first usage, you can put a diff after __END__ and return DATA from
Formula::patches to make Homebrew aware of it.
2009-09-16 14:49:06 +01:00